# 
#  File generated from:
#   c:/stem/org.eclipse.stem.geography/resources/data/geo/country/BRA/BRA_2_MAP.xml
#   c:/stem/org.eclipse.stem.geography/resources/data/geo/country/PER/PER_2_MAP.xml
#
#  Generated by: class org.eclipse.stem.internal.data.utility.NeighborUtility
# 
RECORD_CLASSNAME = org.eclipse.stem.internal.data.geography.specifications.CommonBorderGeographicRelationshipPropertyFileSpecification
TITLE = Common Border relationship between country BRA and PER
VALID = start=2006-01-01;
ISOKEY_0 = BRA
ISOKEY_0_LEVEL = 2
ISOKEY_1 = PER
ISOKEY_1_LEVEL = 2
0=BR-AC-G010001,PE-MDD-G170002,1.0
1=BR-AC-G010003,PE-UCA-G250001,96.41925671700396
2=BR-AC-G010003,PE-UCA-G250002,208.33797354451974
3=BR-AC-G010004,PE-UCA-G250001,28.52584783430152
4=BR-AC-G010004,PE-UCA-G250004,124.32540422803837
5=BR-AC-G010005,PE-LOR-G160005,1.0
6=BR-AC-G010005,PE-LOR-G160006,1.1058508498352888
7=BR-AC-G010005,PE-UCA-G250002,102.98135416494642
8=BR-AC-G010006,PE-MDD-G170002,42.5340549687374
9=BR-AC-G010006,PE-UCA-G250004,169.9626195262404
10=BR-AC-G010009,PE-MDD-G170002,41.226644346118725
11=BR-AC-G010011,PE-UCA-G250001,40.37491510648873
12=BR-AM-G040003,PE-LOR-G160003,694.5010027358132
13=BR-AM-G040003,PE-LOR-G160005,271.59472129848683
14=BR-AM-G040008,PE-LOR-G160003,1.0
15=BR-AM-G040021,PE-LOR-G160005,26.71872861996841
