# PSE_1_area.properties Jan 26, 2007 9:18:43 AM 
# This file contains area values for United States of America 
# The key is from the Federal Information Processing Standards (FIPS) Codes. 
# Each county is given a 6 digit identifier called an FIPS. 
# FIPS PUB 55-3 example:  
# For instance, the FIPS for New York County (i.e., Manhattan)  
# is 36061 while Kings County (i.e., Brooklyn) is 36047.  
# The first two digits of the FIPS identifies the state  
# This is PRECEEDED by the ISO 3166-1  two letter symbol for each state  
# (e.g., New York State is NY-36) 
# Units are Square KM (converted from original Sq Mi by multiplying by 2.58998811 ) 
 

# 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.CountryAreaLabelPropertyFileSpecification

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

# The administration level of the graph data
ADMIN_LEVEL = 1

# This is the date range for which the 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 =  Israel CDC bitmap (scanned)

# Level 1 (admin 1 = e.g., state)  
PS-801 = 11623.8666 
PS-802 = 932.3957 
 
 
