# NOR_1_node.properties Wed Apr 12 16:31:08 PDT 2006  
# This file contains node data values for regions in Norway  
#/******************************************************************************* 
# * Copyright (c) 2011 Norwegian Mapping Authority (cc-by-sa-3.0). 
# * 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: 
# *     Kassaye Yitbarek Yigzaw
# *     Lars Ilebrekke
# *     Norwegian center for Integrated care and Telemedicine 
# *******************************************************************************/ 
#  
# 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 = NOR 
#  
# The title that will appear in the generated graph 
TITLE = All NOR (level 1) 
#  
# 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=2011-05-18; 
#  
# This is the source of the data 
SOURCE =  http://www.statkart.no/nor/Land/Kart_og_produkter/Gratis_illustrasjonskart/ 
# 	 
# The file that contains the latitude/longitude polygon data for the node 
SPATIAL_URI = platform:/plugin/org.eclipse.stem.data.geography/resources/data/geo/country/NOR/NOR_1_MAP.xml 

#  
# Format: Code = Name, ISO-3166-2 numeric code, Two letter code 
#  
NO-01 = ØSTFOLD, 11, 0
NO-02 = AKERSHUS, 13, 03
NO-03 = OSLO, 13, 03
NO-04 = HEDMARK, 05, 04
NO-05 = OPPLAND, 12, 05
NO-06 = BUSKERUD, 03, 06
NO-07 = VESTFOLD, 19, 07
NO-08 = TELEMARK, 17, 08
NO-09 = AUST-AGDER, 02, 09
NO-10 = VEST-AGDER, 00, UNK
NO-11 = ROGALAND, 14, 21
NO-12 = HORDALAND, 06, 2
NO-14 = SOGN OG FJORDANE, 16, 4
NO-15 = MØRE OG ROMSDAL, 08, 5
NO-16 = SØR-TRØNDELAG, 15, 6
NO-17 = NORD-TRØNDELAG, 09, 7
NO-18 = NORDLAND, 10, 8
NO-19 = TROMS, 18, 9
NO-20 = FINNMARK, 04, 20

