# POL_0_POL_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 POL(0) and POL(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 = POL
ISOKEY_0_LEVEL = 0
ISOKEY_1 = POL
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)
# BZG/EPBY(Estimated)
0 = POL,PL-BY,13.994520547945205,13.994520547945205
# SZZ/EPSC(Estimated)
1 = POL,PL-CI,13.994520547945205,13.994520547945205
# GDN/EPGD(Actual)
2 = POL,PL-GD,466.4986301369863,466.4986301369863
# KTW/EPKT(Actual)
3 = POL,PL-KT,2550.923287671233,2550.923287671233
# KRK/EPKK(Actual)
4 = POL,PL-KW,758.1561643835616,758.1561643835616
# LCJ/EPLL(Actual)
5 = POL,PL-LD,399.2712328767123,399.2712328767123
# POZ/EPPO(Actual)
6 = POL,PL-PZ,1146.309589041096,1146.309589041096
# RZE/EPRZ(Estimated)
7 = POL,PL-RZ,13.994520547945205,13.994520547945205
# WAW/EPWA(Actual)
8 = POL,PL-WA,7777.257534246575,7777.257534246575
# WRO/EPWR(Actual)
9 = POL,PL-WR,1636.5835616438355,1636.5835616438355
