# BGD_2_node.properties 
# /*********************************************************************************************
# * Copyright (c) 2006 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
# ***********************************************************************************************/

# /**********************************************************************************************
# * Key Format: 
# * 
# * 	 For level 1 data, the key is the ISO3166-2 code. An ISO3166-2 code is composed as follows: 
# * a two letter country code followed by up to three alphanumeric characters for the level 1 administration.
# *
# * 	 For level 2 data, the key is the ISO3166-2 code followed by six digits. The leftmost two digits indicate
# * the level 1 container of a level 2 administration (i.e. California is a level 1 container for Orange County
# * which is a level 2 administration).  The two digits were taken from a lexicographic sorting of all the
# * level 1 administrations within a country. Similarly, the four leftmost digits indicate a level 2 administration.
# * Again, these four digits are an index into the lexicographic sorting of all level 2 administrations within 
# * a level 1 administration. 
# ************************************************************************************************/

# 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.specifications.CountryNodePropertyFileSpecification

# The ISO-3166-1 alpha3 code for the country
ISOKEY = BGD

# The administration level of the node data
ADMIN_LEVEL = 2

# This is the date range for which the area values in this file are valid 
# See http://purl.org/dc/terms/1.1/valid
VALID = start=1900-01-01;

# This is the source of the data
SOURCE = http://www.iso.org/iso/home.htm
# SOURCE = http://www.iso.org/iso/home.htm

# The file that contains the latitude/longitude data for the node 
SPATIAL_URI = platform:/plugin/org.eclipse.stem.data.geography/resources/data/geo/country/BGD/BGD_2_MAP.xml

# Generated key details :  Level 1 ( BD-54 = RAJSHAHI DIV ). Level 2 ( 490006 = LALMONIRHAT ZL ). 
BD-54-G490006 = LALMONIRHAT ZL
# Generated key details :  Level 1 ( BD-54 = RAJSHAHI DIV ). Level 2 ( 490010 = NILPHAMARI ZL ). 
BD-54-G490010 = NILPHAMARI ZL
# Generated key details :  Level 1 ( BD-54 = RAJSHAHI DIV ). Level 2 ( 490016 = THAKURGAON ZL ). 
BD-54-G490016 = THAKURGAON ZL
# Generated key details :  Level 1 ( BD-54 = RAJSHAHI DIV ). Level 2 ( 490002 = DINAJPUR ZL ). 
BD-54-G490002 = DINAJPUR ZL
# Generated key details :  Level 1 ( BD-54 = RAJSHAHI DIV ). Level 2 ( 490014 = RANGPUR ZL ). 
BD-54-G490014 = RANGPUR ZL
# Generated key details :  Level 1 ( BD-54 = RAJSHAHI DIV ). Level 2 ( 490005 = KURIGRAM ZL ). 
BD-54-G490005 = KURIGRAM ZL
# Generated key details :  Level 1 ( BD-54 = RAJSHAHI DIV ). Level 2 ( 490003 = GAIBANDHA ZL ). 
BD-54-G490003 = GAIBANDHA ZL
# Generated key details :  Level 1 ( BD-3 = DHAKA DIV ). Level 2 ( 120005 = JAMALPUR ZL ). 
BD-3-G120005 = JAMALPUR ZL
# Generated key details :  Level 1 ( BD-3 = DHAKA DIV ). Level 2 ( 120016 = SHERPUR ZL ). 
BD-3-G120016 = SHERPUR ZL
# Generated key details :  Level 1 ( BD-54 = RAJSHAHI DIV ). Level 2 ( 490004 = JOYPURHAT ZL ). 
BD-54-G490004 = JOYPURHAT ZL
# Generated key details :  Level 1 ( BD-54 = RAJSHAHI DIV ). Level 2 ( 490007 = NAOGAON ZL ). 
BD-54-G490007 = NAOGAON ZL
# Generated key details :  Level 1 ( BD-0 = CHITTAGONG DIV ). Level 2 ( 080014 = SUNAMGANJ ZL ). 
BD-0-G080014 = SUNAMGANJ ZL
# Generated key details :  Level 1 ( BD-3 = DHAKA DIV ). Level 2 ( 120010 = MYMENSINGH ZL ). 
BD-3-G120010 = MYMENSINGH ZL
# Generated key details :  Level 1 ( BD-0 = CHITTAGONG DIV ). Level 2 ( 080015 = SYLHET ZL ). 
BD-0-G080015 = SYLHET ZL
# Generated key details :  Level 1 ( BD-3 = DHAKA DIV ). Level 2 ( 120013 = NETROKONA ZL ). 
BD-3-G120013 = NETROKONA ZL
# Generated key details :  Level 1 ( BD-54 = RAJSHAHI DIV ). Level 2 ( 490001 = BOGRA ZL ). 
BD-54-G490001 = BOGRA ZL
# Generated key details :  Level 1 ( BD-54 = RAJSHAHI DIV ). Level 2 ( 490009 = NAWABGANJ ZL ). 
BD-54-G490009 = NAWABGANJ ZL
# Generated key details :  Level 1 ( BD-54 = RAJSHAHI DIV ). Level 2 ( 490015 = SIRAJGANJ ZL ). 
BD-54-G490015 = SIRAJGANJ ZL
# Generated key details :  Level 1 ( BD-3 = DHAKA DIV ). Level 2 ( 120017 = TANGAIL ZL ). 
BD-3-G120017 = TANGAIL ZL
# Generated key details :  Level 1 ( BD-0 = CHITTAGONG DIV ). Level 2 ( 080011 = MAULVIBAZAR ZL ). 
BD-0-G080011 = MAULVIBAZAR ZL
# Generated key details :  Level 1 ( BD-54 = RAJSHAHI DIV ). Level 2 ( 490008 = NATORE ZL ). 
BD-54-G490008 = NATORE ZL
# Generated key details :  Level 1 ( BD-54 = RAJSHAHI DIV ). Level 2 ( 490013 = RAJSHAHI ZL ). 
BD-54-G490013 = RAJSHAHI ZL
# Generated key details :  Level 1 ( BD-0 = CHITTAGONG DIV ). Level 2 ( 080008 = HABIGANJ ZL ). 
BD-0-G080008 = HABIGANJ ZL
# Generated key details :  Level 1 ( BD-3 = DHAKA DIV ). Level 2 ( 120006 = KISHOREGANJ ZL ). 
BD-3-G120006 = KISHOREGANJ ZL
# Generated key details :  Level 1 ( BD-3 = DHAKA DIV ). Level 2 ( 120003 = GAZIPUR ZL ). 
BD-3-G120003 = GAZIPUR ZL
# Generated key details :  Level 1 ( BD-54 = RAJSHAHI DIV ). Level 2 ( 490011 = PABNA ZL ). 
BD-54-G490011 = PABNA ZL
# Generated key details :  Level 1 ( BD-0 = CHITTAGONG DIV ). Level 2 ( 080002 = BRAHMANBARIA ZL ). 
BD-0-G080002 = BRAHMANBARIA ZL
# Generated key details :  Level 1 ( BD-3 = DHAKA DIV ). Level 2 ( 120012 = NARSINGDI ZL ). 
BD-3-G120012 = NARSINGDI ZL
# Generated key details :  Level 1 ( BD-27 = KHULNA DIV ). Level 2 ( 250006 = KUSHTIA ZL ). 
BD-27-G250006 = KUSHTIA ZL
# Generated key details :  Level 1 ( BD-3 = DHAKA DIV ). Level 2 ( 120001 = DHAKA ZILA ). 
BD-3-G120001 = DHAKA ZILA
# Generated key details :  Level 1 ( BD-3 = DHAKA DIV ). Level 2 ( 120008 = MANIKGANJ ZL ). 
BD-3-G120008 = MANIKGANJ ZL
# Generated key details :  Level 1 ( BD-3 = DHAKA DIV ). Level 2 ( 120011 = NARAYANGANJ ZL ). 
BD-3-G120011 = NARAYANGANJ ZL
# Generated key details :  Level 1 ( BD-3 = DHAKA DIV ). Level 2 ( 120014 = RAJBARI ZL ). 
BD-3-G120014 = RAJBARI ZL
# Generated key details :  Level 1 ( BD-0 = CHITTAGONG DIV ). Level 2 ( 080005 = COMILLA ZL ). 
BD-0-G080005 = COMILLA ZL
# Generated key details :  Level 1 ( BD-27 = KHULNA DIV ). Level 2 ( 250004 = JHENAIDAHA ZL ). 
BD-27-G250004 = JHENAIDAHA ZL
# Generated key details :  Level 1 ( BD-0 = CHITTAGONG DIV ). Level 2 ( 080013 = RANGAMATI ZL ). 
BD-0-G080013 = RANGAMATI ZL
# Generated key details :  Level 1 ( BD-0 = CHITTAGONG DIV ). Level 2 ( 080009 = KHAGRACHHARI ZL ). 
BD-0-G080009 = KHAGRACHHARI ZL
# Generated key details :  Level 1 ( BD-3 = DHAKA DIV ). Level 2 ( 120002 = FARIDPUR ZL ). 
BD-3-G120002 = FARIDPUR ZL
# Generated key details :  Level 1 ( BD-27 = KHULNA DIV ). Level 2 ( 250007 = MAGURA ZL ). 
BD-27-G250007 = MAGURA ZL
# Generated key details :  Level 1 ( BD-3 = DHAKA DIV ). Level 2 ( 120009 = MUNSHIGANJ ZL ). 
BD-3-G120009 = MUNSHIGANJ ZL
# Generated key details :  Level 1 ( BD-0 = CHITTAGONG DIV ). Level 2 ( 080003 = CHANDPUR ZL ). 
BD-0-G080003 = CHANDPUR ZL
# Generated key details :  Level 1 ( BD-3 = DHAKA DIV ). Level 2 ( 120007 = MADARIPUR ZL ). 
BD-3-G120007 = MADARIPUR ZL
# Generated key details :  Level 1 ( BD-3 = DHAKA DIV ). Level 2 ( 120015 = SHARIATPUR ZL ). 
BD-3-G120015 = SHARIATPUR ZL
# Generated key details :  Level 1 ( BD-27 = KHULNA DIV ). Level 2 ( 250003 = JESSORE ZL ). 
BD-27-G250003 = JESSORE ZL
# Generated key details :  Level 1 ( BD-3 = DHAKA DIV ). Level 2 ( 120004 = GOPALGANJ ZL ). 
BD-3-G120004 = GOPALGANJ ZL
# Generated key details :  Level 1 ( BD-27 = KHULNA DIV ). Level 2 ( 250009 = NARAIL ZL ). 
BD-27-G250009 = NARAIL ZL
# Generated key details :  Level 1 ( BD-0 = CHITTAGONG DIV ). Level 2 ( 080010 = LAKSHMIPUR ZL ). 
BD-0-G080010 = LAKSHMIPUR ZL
# Generated key details :  Level 1 ( BD-0 = CHITTAGONG DIV ). Level 2 ( 080012 = NOAKHALI ZL ). 
BD-0-G080012 = NOAKHALI ZL
# Generated key details :  Level 1 ( BD-06 = BARISAL DIV ). Level 2 ( 030002 = BARISAL ZL ). 
BD-06-G030002 = BARISAL ZL
# Generated key details :  Level 1 ( BD-27 = KHULNA DIV ). Level 2 ( 250005 = KHULNA ZL ). 
BD-27-G250005 = KHULNA ZL
# Generated key details :  Level 1 ( BD-27 = KHULNA DIV ). Level 2 ( 250001 = BAGERHAT ZL ). 
BD-27-G250001 = BAGERHAT ZL
# Generated key details :  Level 1 ( BD-27 = KHULNA DIV ). Level 2 ( 250010 = SATKHIRA ZL ). 
BD-27-G250010 = SATKHIRA ZL
# Generated key details :  Level 1 ( BD-06 = BARISAL DIV ). Level 2 ( 030006 = PIROJPUR ZL ). 
BD-06-G030006 = PIROJPUR ZL
# Generated key details :  Level 1 ( BD-06 = BARISAL DIV ). Level 2 ( 030004 = JHALAKATI ZL ). 
BD-06-G030004 = JHALAKATI ZL
# Generated key details :  Level 1 ( BD-06 = BARISAL DIV ). Level 2 ( 030003 = BHOLA ZL ). 
BD-06-G030003 = BHOLA ZL
# Generated key details :  Level 1 ( BD-0 = CHITTAGONG DIV ). Level 2 ( 080004 = CHITTAGONG ZL ). 
BD-0-G080004 = CHITTAGONG ZL
# Generated key details :  Level 1 ( BD-06 = BARISAL DIV ). Level 2 ( 030005 = PATUAKHALI ZL ). 
BD-06-G030005 = PATUAKHALI ZL
# Generated key details :  Level 1 ( BD-06 = BARISAL DIV ). Level 2 ( 030001 = BARGUNA ZL ). 
BD-06-G030001 = BARGUNA ZL
# Generated key details :  Level 1 ( BD-0 = CHITTAGONG DIV ). Level 2 ( 080001 = BANDARBAN ZL ). 
BD-0-G080001 = BANDARBAN ZL
# Generated key details :  Level 1 ( BD-0 = CHITTAGONG DIV ). Level 2 ( 080006 = COX BAZAR ZL ). 
BD-0-G080006 = COX BAZAR ZL
# Generated key details :  Level 1 ( BD-54 = RAJSHAHI DIV ). Level 2 ( 490012 = PANCHAGARH ZL ). 
BD-54-G490012 = PANCHAGARH ZL
# Generated key details :  Level 1 ( BD-27 = KHULNA DIV ). Level 2 ( 250008 = MEHERPUR ZL ). 
BD-27-G250008 = MEHERPUR ZL
# Generated key details :  Level 1 ( BD-27 = KHULNA DIV ). Level 2 ( 250002 = CHUADANGA ZL ). 
BD-27-G250002 = CHUADANGA ZL
# Generated key details :  Level 1 ( BD-0 = CHITTAGONG DIV ). Level 2 ( 080007 = FENI ZL ). 
BD-0-G080007 = FENI ZL
