# 
#  File generated from:
#   c:/stem/org.eclipse.stem.geography/resources/data/geo/country/MWI/MWI_2_MAP.xml
#   c:/stem/org.eclipse.stem.geography/resources/data/geo/country/ZMB/ZMB_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 MWI and ZMB
VALID = start=2006-01-01;
ISOKEY_0 = MWI
ISOKEY_0_LEVEL = 2
ISOKEY_1 = ZMB
ISOKEY_1_LEVEL = 2
0=MW-C-G030003,ZM-03-G040005,157.5942046002993
1=MW-C-G030005,ZM-03-G040001,72.50356554589719
2=MW-C-G030005,ZM-03-G040003,100.62326381530036
3=MW-C-G030005,ZM-03-G040005,1.4692869925945842
4=MW-N-G210001,ZM-03-G040002,7.795567262591807
5=MW-N-G210001,ZM-05-G090003,1.0
6=MW-N-G210003,ZM-03-G040002,1.0
7=MW-N-G210003,ZM-03-G040005,127.79554145334141
8=MW-N-G210005,ZM-03-G040002,105.28779018659098
