# 
#  File generated from:
#   c:/stem/org.eclipse.stem.geography/resources/data/geo/country/COD/COD_0_MAP.xml
#   c:/stem/org.eclipse.stem.geography/resources/data/geo/country/COG/COG_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 COD and COG
VALID = start=2006-01-01;
ISOKEY_0 = COD
ISOKEY_0_LEVEL = 0
ISOKEY_1 = COG
ISOKEY_1_LEVEL = 2
0=COD,CG-10-G010001,1.0
1=COD,CG-10-G010004,1.0
2=COD,CG-12-G100001,1.0
3=COD,CG-12-G100003,1.0
4=COD,CG-12-G100005,1.0
5=COD,CG-12-G100006,1.0
6=COD,CG-12-G100007,1.0
7=COD,CG-3-G110001,1.0
8=COD,CG-4-G090002,1.0
9=COD,CG-4-G090003,1.0
10=COD,CG-7-G070001,1.0
11=COD,CG-7-G070002,1.0
12=COD,CG-7-G070003,1.0
13=COD,CG-8-G030004,1.0
14=COD,CG-8-G030007,1.0
15=COD,CG-9-G080003,1.0
