# DEU_0_DEU_1.properties
#/*******************************************************************************
# * Copyright (c) 2008 IBM Corporation and others.
# * All rights reserved. This program and the accompanying materials
# * are made available under the terms of the Eclipse Public License v1.0
# * which accompanies this distribution, and is available at
# * http://www.eclipse.org/legal/epl-v10.html 
# * 
# * Contributors
# *     IBM Corporation - initial API and implementation
# *******************************************************************************/

# This is the name of the class that will interpret the rest of the file's contents
RECORD_CLASSNAME =  org.eclipse.stem.internal.data.geography.infrastructure.transportation.specifications.AirTransportationGeographicRelationshipPropertyFileSpecification

# The title of the relationship
TITLE = Air transport between DEU(0) and DEU(1)
# This is the date range for which the values in this file are valid
# See http://purl.org/dc/terms/1.1/valid
VALID = start=2000-01-01; end=2008-12-31;

# The data is derived from the following primary source
#SOURCE = http://www.azworldairports.com

# ISO3166-1 alpha3 keys and levels of relationship
ISOKEY_0 = DEU
ISOKEY_0_LEVEL = 0
ISOKEY_1 = DEU
ISOKEY_1_LEVEL = 1

# The mode of transportation 
TRANSPORT_MODE = air

# The population being transported
POPULATION_IDENTIFIER = human

# The time period for the rate in milliseconds 
RATE_TIME_PERIOD = 86400000

#Average time in transportation network
AVG_TIME_IN_SYSTEM = 1

# Record No. = Enclosing Node Key,  Node Key, ArrivalRate (individuals per RATE_TIME_PERIOD), DepartureRate(Individuals per RATE_TIME_PERIOD)
# AGB/EDMA(Actual), FMM/EDJA(Estimated)
0 = DEU,DE-SH2,330.8301369863014,330.8301369863014
# FKB/EDSB(Actual)
1 = DEU,DE-KA2,1251.1123287671232,1251.1123287671232
# HHN/EDFH(Actual)
2 = DEU,DE-KO2,5131.753424657534,5131.753424657534
# DTM/EDLW(Actual)
3 = DEU,DE-AR,2581.3424657534247,2581.3424657534247
# SXF/EDDB(Actual), TXL/EDDT(Actual), THF/EDDI(Actual)
4 = DEU,DE-BB,23273.358904109587,23273.358904109587
# LEJ/EDDP(Actual)
5 = DEU,DE-BE,3000.93698630137,3000.93698630137
# MUC/EDDM(Actual)
6 = DEU,DE-BY,39128.739726027394,39128.739726027394
# FRA/EDDF(Actual)
7 = DEU,DE-DA,67496.41369863013,67496.41369863013
# DRS/EDDC(Actual)
8 = DEU,DE-DR,2258.241095890411,2258.241095890411
# PAD/EDLP(Actual)
9 = DEU,DE-DT,1715.9506849315069,1715.9506849315069
# NRN/EDLV(Estimated), DUS/EDDL(Actual), ESS/EDLE(Actual), MGL/EDLN(Actual)
10 = DEU,DE-DU,30441.621917808217,30441.621917808217
# LHA/EDTL(Actual)
11 = DEU,DE-FR,1581.5698630136985,1581.5698630136985
# HAJ/EDDV(Estimated)
12 = DEU,DE-HA,13.994520547945205,13.994520547945205
# BRE/EDDW(Actual)
13 = DEU,DE-HB,2451.487671232877,2451.487671232877
# HAM/EDDH(Actual)
14 = DEU,DE-HH,16333.890410958904,16333.890410958904
# KSF/EDVK(Actual)
15 = DEU,DE-KA,52.4,52.4
# CGN/EDDK(Actual)
16 = DEU,DE-KO,12115.323287671234,12115.323287671234
# FCN/ETMN(Estimated)
17 = DEU,DE-LU,13.994520547945205,13.994520547945205
# NUE/EDDN(Actual)
18 = DEU,DE-MT,5424.306849315069,5424.306849315069
# FMO/EDDG(Actual)
19 = DEU,DE-MU,2268.2109589041097,2268.2109589041097
# FNB/ETNU(Actual), SZW/EDBP(Estimated), RLG/ETNL(Actual)
20 = DEU,DE-MV,251.84109589041097,251.84109589041097
# HOO/EDQM(Estimated)
21 = DEU,DE-OB,13.994520547945205,13.994520547945205
# ZQW/EDRZ(Actual)
22 = DEU,DE-RP,367.1917808219178,367.1917808219178
# LBC/EDHL(Actual), GWT/EDXW(Actual)
23 = DEU,DE-SH,987.9561643835616,987.9561643835616
# SCN/EDDR(Estimated)
24 = DEU,DE-SL,13.994520547945205,13.994520547945205
# STR/EDDS(Actual)
25 = DEU,DE-ST,12026.753424657534,12026.753424657534
# ERF/EDDE(Actual), AOC/EDAC(Estimated)
26 = DEU,DE-TH,713.1041095890411,713.1041095890411
# FDH/EDNY(Actual)
27 = DEU,DE-TU,761.8630136986301,761.8630136986301
