# CIV_1_human_2006_population.properties 
#
# This file contains population values for IVORY COAST
#
#
#
# /*********************************************************************************************
#
# * 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 = CIV
#
#
#
# The administration level of the population data
#
ADMIN_LEVEL = 1
#
#
#
# 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 = http://www.ins.ci/
#
# SOURCE = https://www.cia.gov/library/publications/the-world-factbook/
#
#
#
# The population identifier
#
POPULATION = human
#
#
#
# The year the data is valid
#
YEAR = 2006
#
#
#
# State/Province
#
#
#
CI-OU = 201327
CI-DAL = 601262
CI-GAG = 423318
CI-DAN = 359020
CI-DAO = 128319
CI-SIN = 194083
CI-TEN = 74161
CI-AGN = 124777
CI-DAK = 119586
CI-SP = 484247
CI-SEG = 199973
CI-FER = 285879
CI-MBA = 125418
CI-BOU = 205344
CI-TIA = 199914
CI-TAB = 152130
CI-MAN = 242896
CI-DIV = 609416
CI-SAK = 88290
CI-TAN = 265636
CI-BIA = 142450
CI-SAS = 209703
CI-DIM = 193250
CI-AD = 323353
CI-ABE = 326487
CI-ODI = 259804
CI-DUE = 228208
CI-TOB = 163230
CI-BEO = 137849
CI-MN = 428788
CI-ZUE = 171945
CI-GUI = 356910
CI-BAN = 141709
CI-TOM = 124842
CI-SOR = 721347
CI-KAT = 191515
CI-ISS = 298369
CI-LAH = 97480
CI-LAK = 173744
CI-BON = 187007
CI-AGB = 280293
CI-BOK = 705791
CI-BOD = 341625
CI-BOF = 274772
CI-BOG = 289402
CI-VAV = 329663
CI-YAM = 425149
CI-KOR = 522282
CI-ABI = 4149711
CI-ABO = 373173

