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

# This is the name of the class that will interpret the elevation data file's contents
RECORD_CLASSNAME = org.eclipse.stem.internal.data.geography.specifications.EarthPropertyFileSpecification

# The title
TITLE = JPN elevation data for 1999 at admin level 2

# This is the date for which the values in this file are valid
# See http://purl.org/dc/terms/1.1/valid
VALID=start=1999

# The data is derived from the following primary source
#SOURCE = http://www.noaa.gov/

# ISO3166-1 alpha3 code for the country
ISOKEY = JPN
ADMIN_LEVEL = 2
UNITS = M
DATA_TYPE = elevation
DESCRIPTION = Field 1: Average\nField 2: Standard Deviation\nField 3: Maximum Elevation\nField 4: Minimum Elevation\nField 5: Range\nField 6: Skewness\nField 7: Kurtosis\nField 8\nRoot Mean Squared


# Field 1: Average, Field 2: Standard Deviation, Field 3: Maximum Elevation, Field 4: Minimum Elevation, Field 5: Range, Field 6: Skewness, Field 7: Kurtosis, Field 8: Root Mean Squared

JP-0-G100001 = 304.90750261033133,290.16859548581056,2115.0,1.0,2114.0,5.899813859346027,20.62128072683755,420.9113908583057
JP-CHB-G040001 = 718.9018783659529,473.19089638238967,2877.0,1.0,2876.0,8.817462624202594,27.576418214323358,860.6564559319039
JP-CHB-G040002 = 1126.1167704399306,469.7760635712769,2898.0,271.0,2627.0,21.62308449319273,76.92074434347572,1220.1756146434752
JP-CHB-G040003 = 992.506082345602,520.6355260866446,3512.0,110.0,3402.0,13.371276318631292,43.90819904572141,1120.7719101211144
JP-CHG-G050001 = 382.5462385019711,229.4225851269603,1252.0,1.0,1251.0,10.099047535880967,30.402557342479756,446.06764863453645
JP-CHG-G050002 = 312.79695230556104,234.38516428963445,1141.0,1.0,1140.0,7.135647006938328,20.925817082611484,390.8686974045457
JP-CHG-G050003 = 282.02377032311176,216.3602355897678,1148.0,1.0,1147.0,6.917985163024389,20.403915695478272,355.45626815646756
JP-CHG-G050004 = 365.58847402597405,282.8971914072551,1450.0,1.0,1449.0,6.695045506802837,18.987337299957723,462.26156367012953
JP-CHG-G050005 = 222.70507497116495,179.11711351757413,1229.0,1.0,1228.0,6.762094480674244,21.77904068243648,285.7979894484559
JP-HRI-G110001 = 362.4379890128184,318.82814308995324,1870.0,1.0,1869.0,5.8442451643492985,17.08358041602902,482.71387043034423
JP-HRI-G110002 = 283.87113740959893,384.77119642489464,2566.0,1.0,2565.0,4.820981685510014,18.235581622250823,478.1544690290633
JP-HRI-G110003 = 379.41818476674416,401.628495299167,2583.0,1.0,2582.0,5.215059745246412,17.247431584498877,552.5066580304305
JP-HRI-G110004 = 649.4874086108855,681.7446462993208,2810.0,1.0,2809.0,4.779131999461585,13.447426831657296,941.599520338593
JP-KIN-G240001 = 263.3078611838217,214.663345494413,1349.0,1.0,1348.0,6.757290582598933,21.740752675375127,339.72250684941724
JP-KIN-G240002 = 256.2134609541173,183.6767945516937,867.0,1.0,866.0,7.6203459937056905,22.346515863930186,315.24990472777637
JP-KIN-G240003 = 565.157216990198,331.363060520443,1773.0,36.0,1737.0,10.465246902817425,31.191790566530898,655.1367473997933
JP-KIN-G240004 = 137.06208769887465,166.0518314735701,900.0,1.0,899.0,4.454546112641056,13.580264813606778,215.3119286525967
JP-KIN-G240005 = 284.5418926010145,226.7107220247256,1183.0,82.0,1101.0,6.921513224321273,21.4667116164841,363.81566778513013
JP-KIN-G240006 = 318.9967845659164,234.79395180864773,1244.0,1.0,1243.0,7.348407670802774,21.6913249931553,396.089823612417
JP-KNT-G230001 = 764.538093685469,499.501481171203,2386.0,13.0,2373.0,8.499602047214028,23.809714289944914,913.2470784998088
JP-KNT-G230002 = 94.75078581050741,149.60624743246515,896.0,1.0,895.0,4.447864491320464,16.500203367420813,177.0868167948494
JP-KNT-G230003 = 244.47276434605303,313.54312820259946,1436.0,1.0,1435.0,4.297223389026579,12.932038975556686,397.58801006830276
JP-KNT-G230004 = 242.44701805580885,389.4008654182258,2279.0,2.0,2277.0,4.23703004609876,14.908278793993196,458.7086118143164
JP-KNT-G230005 = 465.03790244427694,466.56078597962687,2347.0,12.0,2335.0,5.349595975765847,16.48059922954894,658.740630084178
JP-KNT-G230006 = 245.22417840375587,347.0353935498238,1792.0,1.0,1791.0,4.351544461433337,14.512057913556262,424.93347955895194
JP-KNT-G230007 = 43.966874566874566,51.39860276625314,313.0,1.0,312.0,5.12898062088369,18.240856630955594,67.63802499705639
JP-KYU-G280001 = 158.15150633095618,183.29695742366437,1022.0,1.0,1021.0,4.621329282678108,14.158991879459803,242.09434845845374
JP-KYU-G280002 = 229.14935661764707,228.15991318161485,1755.0,1.0,1754.0,6.432742792069056,27.758201130694115,323.3672426534938
JP-KYU-G280003 = 424.5578608676356,334.44316840715265,1601.0,1.0,1600.0,6.397627471533959,17.48575801893907,540.4642542469552
JP-KYU-G280004 = 398.18497810082937,324.5181878084437,1549.0,1.0,1548.0,6.454679076602224,19.091644469840755,513.6762900929284
JP-KYU-G280005 = 132.90136157337366,131.40543656029408,1214.0,1.0,1213.0,6.427171617764279,27.933174625577138,186.89612266084626
JP-KYU-G280006 = 341.86554145899413,269.3789660395778,1684.0,1.0,1683.0,6.942422080326334,22.07307591870694,435.2436970038785
JP-KYU-G280007 = 168.9422970734401,196.61462173748438,924.0,1.0,923.0,4.5768719863313425,13.617066161197096,259.2273311620992
JP-RYU-G380001 = 100.63569189431259,88.22978725136917,556.0,1.0,555.0,6.072336167109594,18.775363487887205,133.83586156732758
JP-SKO-G410001 = 405.12792063699254,327.674852736692,1731.0,1.0,1730.0,6.544582547039931,19.583843370347722,521.0560825819678
JP-SKO-G410002 = 158.0220212347621,171.15697385700128,862.0,1.0,861.0,5.101451039170159,16.464228656562305,232.94992787078922
JP-SKO-G410003 = 432.68506687961667,321.55532160712767,1731.0,1.0,1730.0,7.2929386952661845,21.705997724029654,539.0864420058085
JP-SKO-G410004 = 454.37433339067604,372.4270210696314,1718.0,1.0,1717.0,6.264210917121657,17.949831706497378,587.501422012766
JP-TAI-G470001 = 206.66106596887482,258.7072767002819,1261.0,1.0,1260.0,4.238619708284852,12.316641643767548,331.11667310038644
JP-TAI-G470002 = 262.8882116298915,245.22360344830338,1593.0,1.0,1592.0,5.717097850961198,18.269252170971523,359.50636642781916
JP-TAI-G470003 = 484.8397590361446,535.5908508561059,3571.0,1.0,3570.0,5.212934973528816,18.22224882440935,722.445258454227
JP-TOH-G460001 = 297.21318581042544,266.2810130522602,1616.0,1.0,1615.0,5.843001322391928,17.800562762484688,399.05044259055927
JP-TOH-G460002 = 218.9043741588156,227.99444562365937,1435.0,1.0,1434.0,5.230790151144288,17.22350399267943,316.07054949979704
JP-TOH-G460003 = 536.7874206978588,343.0303312400277,2121.0,1.0,2120.0,9.475919788357551,30.811218137280804,637.0326076191886
JP-TOH-G460004 = 424.1137683043064,277.42107394313035,1883.0,1.0,1882.0,8.956524882518988,27.77875271728554,506.78885221859287
JP-TOH-G460005 = 219.37219399538105,266.9387033686894,1723.0,1.0,1722.0,4.870480446497099,17.426490676221547,345.51473319455346
JP-TOH-G460006 = 432.40147143681475,324.10582298522473,2087.0,1.0,2086.0,7.493679336621343,24.153524641509414,540.384693522728
