# NER_2_human_2006_population.properties 
#
# This file contains population values for NIGER
#
#
#
# /*********************************************************************************************
#
# * 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.CountryPopulationLabelPropertyFileSpecification
#
#
#
# The ISO-3166-1 alpha3 code for the country
#
ISOKEY = NER
#
#
#
# The administration level of the population data
#
ADMIN_LEVEL = 2
#
#
#
# This is the date range for which the population values in this file are valid 
#
# See http://purl.org/dc/terms/1.1/valid
#
VALID = start=2006-01-01; end=2006-12-31;
#
#
#
# This is the source of the data
#
SOURCE = Primary (https://www.cia.gov/library/publications/the-world-factbook/). 
#
# SOURCE = Distributions (subdivision ratios) validated against ORNL LandScan 2007(TM)/UT-Battelle, LLC 
#
# SOURCE = https://www.cia.gov/library/publications/the-world-factbook/
#
#
#
# The population identifier
#
POPULATION = human
#
#
#
# The year the data is valid
#
YEAR = 2006
#
#
#
# Level 1 (admin 1 = e.g., state)
#
# Level 2 (admin 2 = e.g., county)
#
#
#
NE-4-G040006 = 450689
NE-4-G040004 = 570049
NE-4-G040005 = 429221
NE-2-G020002 = 162361
NE-2-G020003 = 66414
NE-2-G020001 = 162008
NE-5-G060004 = 293455
NE-6-G070006 = 208244
NE-5-G060003 = 355950
NE-6-G070005 = 380901
NE-6-G070004 = 259371
NE-5-G060002 = 284958
NE-6-G070003 = 259947
NE-5-G060001 = 330979
NE-6-G070002 = 1465741
NE-6-G070001 = 383692
NE-5-G060007 = 156231
NE-5-G060006 = 420859
NE-5-G060005 = 348092
NE-7-G080003 = 260764
NE-7-G080004 = 895402
NE-7-G080001 = 287239
NE-7-G080002 = 593356
NE-9-G010001 = 122298
NE-7-G080005 = 325780
NE-3-G030002 = 443674
NE-3-G030003 = 500093
NE-3-G030004 = 265031
NE-3-G030005 = 108199
NE-9-G010003 = 226626
NE-9-G010002 = 14732
NE-3-G030001 = 327339
NE-4-G040001 = 274296
NE-4-G040003 = 381462
NE-4-G040002 = 509639

