User:Tatata/ksj2osm-lake.pl
Jump to navigation
Jump to search
This perl script convert KSJ2 lake and pond data xml file to osm xml file. (ja)このperlスクリプトは国土数値情報(湖沼データ)のxmlファイルをosmのxmlファイルに変換します。
Preparation
(ja)準備
- Installation of JOSM (a java program; needs J2SE SDK or JRE). (ja)JOSMの導入(javaプログラムなので実行にはJ2SE SDK或いはJREが必要。)
- Installation of perl. You can download ActivePerl from ActiveState site (free of charge). (ja)perlの導入。ActiveStateのサイトからActivePerlをでダウンロードできる(無料)。
- Save the code below as a file with proper name. (e.g. ksj2osm-lake.pl) (ja)適切なファイル名を付けて下のソースコードを保存する。(例えばksj2osm-lake.plなど。)
How to convert the data
(ja)変換手順
- Download KSJ2 lake and pond data decompress from zip file to xml file. (ja)国土数値情報(湖沼データ)をダウンロードし、zipファイルを解凍してxmlファイルにする。
- Put the xml file on the same directory of the script. (ja)xmlファイルをスクリプトと同じディレクトリに置く。
- Open the perl script by editor program, edit the initial values of $target_lpn to specify lake/pond name with UTF-8 characters (you can copy and paste from list), $lake_type (0, 1 or 2) to specify lake/pond type and $water_type (0 or 1) to specify water type, and then save the script. (ja)このperlスクリプトをエディタープログラムで開き、$target_lpnの初期値にUTF-8の文字による湖沼名(このリストからコピペ可)、$lake_typeの初期値に湖沼のタイプ (0、1又は2) 、$water_typeの初期値に水のタイプ (0又は1) を書き込んでスクリプトを保存する。
- As to "$lake_type=2" (landuse=reservoir), a list of artificial lakes in Japan (ja:wikipedia) is useful information. (ja)"$lake_type=2" (landuse=reservoir) については、ウィキペデアの日本の人造湖一覧が参考になります。
- Open command prompt window and run the script on the directory where you put the script and xml file. Output files (ksj2osm-lake.osm, ksj2osm-lake.log) will be created on the same directory. (ja)コマンドプロンプトを開いて、スクリプトとxmlファイルを置いたディレクトリでスクリプトを実行する。出力ファイル (ksj2osm-lake.osm, ksj2osm-lake.log) は同じディレクトリに作成される。
- Open ksj2osm-lake.osm by JOSM, check and edit the data (see notes below), and then upload to server. (ja)JOSMでksj2osm-lake.osmを開いてデータの確認や編集を行い(下の注意を参照)、それからサーバーにアップロードする。
Notes
(ja)注意
- KSJ2 lake and pond data doesn't have information below, so you need to input them manually into the outer closed ways. (ja)国土数値情報の湖沼データには以下の情報が無いので、外側にあるクローズドウェイについてはそれらを手入力する必要があります。
- Lake/pond name in English; "name" tag (in round brackets) and "name:en" tag. (ja)英語の湖沼名("name"タグの丸括弧内と"name:en"タグ)。
- Lake/pond name in romanization of Japanese; "name:ja_rm" tag. (ja)ローマ字表記の湖沼名("name:ja_rm"タグ)。
- Direction of ways (ja)ウェイの方向
- The outer ring of the area (area of water), the closed way should be clockwise. (ja)外側にある面データ(水域)については、クローズドウェイを時計回りにして下さい。
- An inner ring of an area (area of land), the closed way should be anti-clockwise. (ja)内側にある面データ(陸地)については、クローズドウェイを反時計回りにして下さい。
Code
As of 2008-04-12.
Bugfix 2010-04-08 by Tom.
#!/usr/bin/perl use strict; use warnings; # use encoding "utf8"; use encoding "utf8", STDOUT => "shiftjis", STDERR => "shiftjis"; # for Windows use Encode; use open IO => "utf8"; use XML::Parser; use XML::Simple; ##### # # KSJ2 Lake and Pond Data # # National-Land Numerical Information (Lake and Pond) 2005, MLIT Japan # 国土数値情報(湖沼データ)平成17年 国土交通省 # # Files # Input # XML file : W09-05.xml # Output # Osm file : ksj2osm-lake.osm # Log file : ksj2osm-lake.log # ##### our $file_in = "W09-05"; our $file_name = "ksj2osm-lake"; our $target_lpn = "亀山湖"; # lake/pond name (UTF-8) "亀山湖", "*", "" our $lake_type = 2; # 0 : for natural lake (approximate depth 5 meters and over), tagged with "natural=water". # 0 : 天然湖(概ねの深さが5m以上)、タグは "natural=water"。 # 1 : for natural pond/marsh (approximate depth under 5 meters), tagged with "natural=marsh". # 1 : 天然の池・沼(概ねの深さが5m未満)、タグは "natural=marsh"。 # 2 : for artificial lake/pond/marsh, tagged with "landuse=reservoir". # 2 : 人造湖(池・沼を含む)、タグは "landuse=reservoir"。 our $water_type = 0; # 0 : for fresh water, tagged with "water_type=fresh". # 0 : 淡水、タグは "water_type=fresh"。 # 1 : for brackish water/brine/salt water/seawater, tagged with "water_type=salt". # 1 : 汽水・塩水・鹹水(かんすい)・海水、タグは "water_type=salt"。 our $aac_code; our %curveHash; our %indirectHash; our %lakeHash; our $negative_id = 0; our $node_ref; our %nodes = (); our $num_lands = 0; our $num_nodes; our $num_waters; our $num_ways; our $pref_code; our %surfaceHash; our @workArray; our %workHash; our $workString; our $xml_aac; our $xml_pref; sub main() { my $parser = new XML::Parser(ErrorContext => 3, Handlers => {Init => \&handle_init, Start => \&handle_start, Char => \&handle_char, End => \&handle_end, Final => \&handle_final}); $parser->parsefile("$file_in.xml"); } sub handle_init() { open_log(); get_codelist(); } sub handle_start() { my ($expat, $element, %hash) = @_; if ($element eq "jps:GM_Point" || $element eq "jps:GM_Curve" || $element eq "GM_PointRef.point" || $element eq "jps:GM_Surface" || $element eq "jps:GM_CompositeCurve.generator" || $element eq "jps:GM_OrientableCurve" || $element eq "jps:GM_OrientablePrimitive.primitive" || $element eq "ksj:GC01" || $element eq "ksj:ARE") {get_id(@_);} $workString = ""; # add 2009-05-26 } sub handle_char () { my ($expat, $string) = @_; # $workString = $string; # $workString .= ""; # mod 2009-05-26 $workString = $string; # mod 2010-04-08 by Tom } sub handle_end() { my ($expat, $element) = @_; if ($element eq "DirectPosition.coordinate" || $element eq "ksj:LPN" || $element eq "ksj:AAC" || $element eq "ksj:LDM" || $element eq "ksj:HOW") {get_element(@_);} elsif ($element eq "jps:GM_Point") {add_indirect();} elsif ($element eq "jps:GM_Curve") {add_curve();} elsif ($element eq "jps:GM_SurfaceBoundary.exterior") {add_exterior();} elsif ($element eq "jps:GM_SurfaceBoundary.interior") {add_interior();} elsif ($element eq "jps:GM_Surface") {add_surface();} elsif ($element eq "ksj:GC01") {add_lake();} } sub handle_final() { my $time = localtime(time); print LOG "***** End of processing $file_in.xml : $time\n"; print "***** End of processing $file_in.xml : $time\n"; print LOG "*****\n"; foreach my $item(keys %lakeHash) { print LOG "* 1st key: $item\n"; foreach my $item2(keys %{$lakeHash{$item}}) { print LOG "** 2nd key: $item2, value: $lakeHash{$item}{$item2}\n"; if ($item2 eq "ARE") { foreach my $item3(keys %{$surfaceHash{$lakeHash{$item}{$item2}}}) { print LOG "** 3rd key: $item3, value: $surfaceHash{$lakeHash{$item}{$item2}}{$item3}\n"; if ($item3 eq "exterior" || $item3 eq "interior") { @workArray = split(/,/, $surfaceHash{$lakeHash{$item}{$item2}}{$item3}); foreach my $item4(@workArray) { print LOG "** 4th key: $item4, value: $curveHash{$item4}\n"; } } } } } print LOG "*****\n"; } create_osm(); close_log(); } sub open_log() { my $time = localtime(time); open(LOG, ">$file_name.log"); print LOG "***** KSJ2 Lake and Pond Data 2005 : Start $time\n"; print "***** KSJ2 Lake and Pond Data 2005 : Start $time\n"; print LOG "***** Target : $target_lpn, lake type = $lake_type, water type = $water_type\n"; print "***** Target : $target_lpn, lake type = $lake_type, water type = $water_type\n"; print LOG "***** Extracting from $file_in.xml\n"; print "***** Extracting from $file_in.xml\n"; } sub close_log() { my $time = localtime(time); print LOG "***** Done!: End $time\n"; close LOG; print "***** Done!: End $time\n"; } sub get_codelist() { # AdminAreaCd.xml 行政コード $aac_code = XMLin($xml_aac, keyattr => ["code"]); # PrefCode.xml 都道府県コード $pref_code = XMLin($xml_pref, keyattr => ["code"]); } sub get_id() { my ($expat, $element, %hash) = @_; if ($element eq "GM_PointRef.point") { if (exists($hash{"idref"})) { if (exists($workHash{"points"})) { $workHash{"points"} .= ","; } $workHash{"points"} .= $indirectHash{$hash{"idref"}}; } else { print LOG "* id not found in element GM_PointRef.point.\n"; print "* id not found in element GM_PointRef.point.\n"; while (my ($key, $value) = each(%hash)) { print LOG "key: $key , value: $value \n"; print "key: $key , value: $value \n"; } die "id not found in element GM_PointRef.point."; } } elsif ($element eq "jps:GM_CompositeCurve.generator" ) { if (exists($hash{"idref"})) { $workHash{"CompositeCurve"} = $hash{"idref"}; } else { print LOG "* idref not found in element jps:GM_CompositeCurve.generator.\n"; print "* idref not found in element jps:GM_CompositeCurve.generator.\n"; while (my ($key, $value) = each(%hash)) { print LOG "key: $key , value: $value \n"; print "key: $key , value: $value \n"; } die "idref not found in element jps:GM_CompositeCurve.generator."; } } elsif ($element eq "jps:GM_OrientableCurve" ) { if (exists($hash{"id"})) { $workHash{"id"} = $hash{"id"}; $workHash{"element"} = $hash{"jps:GM_OrientableCurve"}; } else { print LOG "* id not found in element jps:GM_Curve.\n"; print "* id not found in element jps:GM_Curve.\n"; while (my ($key, $value) = each(%hash)) { print LOG "key: $key , value: $value \n"; print "key: $key , value: $value \n"; } die "id not found in element jps:GM_Curve."; } } elsif ($element eq "jps:GM_OrientablePrimitive.primitive" ) { if (exists($workHash{"element"})) { if (exists($hash{"idref"})) { foreach my $item(keys %surfaceHash) { foreach my $item2(keys %{$surfaceHash{$item}}) { $surfaceHash{$item}{$item2} =~ s/$workHash{"id"}/$hash{"idref"}/g; } } %workHash = (); } else { print LOG "* idref not found in element jps:GM_OrientablePrimitive.primitive.\n"; print "* idref not found in element jps:GM_OrientablePrimitive.primitive.\n"; while (my ($key, $value) = each(%hash)) { print LOG "key: $key , value: $value \n"; print "key: $key , value: $value \n"; } die "idref not found in element jps:GM_OrientablePrimitive.primitive."; } } } elsif ($element eq "ksj:ARE" ) { if (exists($hash{"idref"})) { $workHash{"ARE"} = $hash{"idref"}; } else { print LOG "* idref not found in element ksj:ARE.\n"; print "* idref not found in element ksj:ARE.\n"; while (my ($key, $value) = each(%hash)) { print LOG "key: $key , value: $value \n"; print "key: $key , value: $value \n"; } die "idref not found in element ksj:ARE."; } } else { if (exists($hash{"id"})) { $workHash{"id"} = $hash{"id"}; } else { print LOG "* id not found in element $element.\n"; print "* id not found in element $element.\n"; while (my ($key, $value) = each(%hash)) { print LOG "key: $key , value: $value \n"; print "key: $key , value: $value \n"; } die "id not found in element $element"; } } } sub get_element() { my ($expat, $element) = @_; if ($element eq "DirectPosition.coordinate" ) { if (exists($workHash{"points"})) { $workHash{"points"} .= ","; } $workHash{"points"} .= $workString; } elsif ($element eq "ksj:LPN" ) {$workHash{"LPN"} = $workString;} elsif ($element eq "ksj:AAC" ) { if ($workString =~ /[^0-9]/) { print LOG "* AAC is not numeric : $workString\n"; print "* AAC is not numeric : $workString\n"; while (my ($key, $value) = each(%workHash)) { print LOG "key: $key , value: $value \n"; print "key: $key , value: $value \n"; } } else { $workString = sprintf("%05d", $workString); if (exists($workHash{"AAC"})) { $workHash{"AAC"} .= ","; } $workHash{"AAC"} .= $workString; my $str = $aac_code->{'ksjc:C002'}->{'codelabel'}->{$workString}->{'label'}; unless ($str) { $str = substr($workString, 0, 2); $str = $pref_code->{'ksjc:C001'}->{'codelabel'}->{$str}->{'label'}; $str .= "*"; } if (exists($workHash{"AAC_label"})) { $workHash{"AAC_label"} .= ","; } $workHash{"AAC_label"} .= $str; } } elsif ($element eq "ksj:LDM" ) {$workHash{"LDM"} = $workString;} elsif ($element eq "ksj:HOW" ) {$workHash{"HOW"} = $workString;} $workString = ""; # add 2009-05-26 } sub add_indirect() { $indirectHash{$workHash{"id"}} = $workHash{"points"}; %workHash = (); } sub add_curve() { $curveHash{$workHash{"id"}} = $workHash{"points"}; %workHash = (); } sub add_exterior() { if (exists($workHash{"exterior"})) { $workHash{"exterior"} .= ","; } $workHash{"exterior"} .= $workHash{"CompositeCurve"}; delete $workHash{"CompositeCurve"}; } sub add_interior() { if (exists($workHash{"interior"})) { $workHash{"interior"} .= ","; } $workHash{"interior"} .= $workHash{"CompositeCurve"}; delete $workHash{"CompositeCurve"}; } sub add_surface() { while (my ($key, $value) = each(%workHash)) { $surfaceHash{$workHash{"id"}}{$key} = $value; } %workHash = (); } sub add_lake() { if ($target_lpn eq $workHash{"LPN"} || $target_lpn eq "*" || $target_lpn eq "") { $lakeHash{$workHash{"id"}}{"id"} = $workHash{"id"}; $lakeHash{$workHash{"id"}}{"ARE"} = $workHash{"ARE"}; $lakeHash{$workHash{"id"}}{"LPN"} = $workHash{"LPN"}; $lakeHash{$workHash{"id"}}{"AAC"} = $workHash{"AAC"}; $lakeHash{$workHash{"id"}}{"AAC_label"} = $workHash{"AAC_label"}; if (exists($workHash{"LDM"})) { $lakeHash{$workHash{"id"}}{"LDM"} = $workHash{"LDM"}; } if (exists($workHash{"HOW"})) { $lakeHash{$workHash{"id"}}{"HOW"} = $workHash{"HOW"}; } } %workHash = (); } sub create_osm(){ my $i = 0; my @array; open(OSM, ">$file_name.osm"); print OSM "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; print OSM "<osm version=\"0.5\" generator=\"KSJ2OSM\">\n"; foreach my $item(keys %lakeHash) { foreach my $item2(keys %{$surfaceHash{$lakeHash{$item}{"ARE"}}}) { if ($item2 eq "exterior" || $item2 eq "interior") { @array = split(/,/, $surfaceHash{$lakeHash{$item}{"ARE"}}{$item2}); foreach my $item3(@array) { @workArray = split(/,/, $curveHash{$item3}); foreach my $coordinate(@workArray) { $i = write_node($i, $item, $item2, $item3, $coordinate); } write_way($i, $item, $item2, $item3); $i = 0; } } } } print OSM "</osm>"; close OSM; printf LOG "***** Lake and Pond : %d nodes on %d ways\n" , $num_nodes, $num_ways; printf LOG "***** Lake and Pond : water = %d ways, island = %d ways\n" , $num_waters, $num_lands; printf "***** Lake and Pond : %d nodes on %d ways\n" , $num_nodes, $num_ways; printf "***** Lake and Pond : water = %d ways, island = %d ways\n" , $num_waters, $num_lands; } sub write_node() { my ($i, $item, $item2, $item3, $coordinate) = @_; my $node_id = 0; my ($lat, $long) = split(/\s/, $coordinate); unless (defined($lat) && defined($long)) { print LOG "Skip error data : id = $item/$item2/$item3, coordinate = $coordinate\n"; print "Skip error data : id = $item/$item2/$item3, coordinate = $coordinate\n"; return $i; } if (($lat eq "") || ($long eq "")) { print LOG "Skip error data : id = $item/$item2/$item3, coordinate = $coordinate, lat = $lat, long = $long\n"; print "Skip error data : id = $item/$item2/$item3, coordinate = $coordinate, lat = $lat, long = $long\n"; return $i; } if (($lat > 90) || ($lat < -90) || ($lat == 0) || ($long > 180) || ($long < -180) || ($long == 0)) { print LOG "Skip error data : id = $item/$item2/$item3, coordinate = $coordinate, lat = $lat, long = $long\n"; print "Skip error data : id = $item/$item2/$item3, coordinate = $coordinate, lat = $lat, long = $long\n"; return $i; } my $tags = "<tag k=\"created_by\" v=\"National-Land-Numerical-Information_MLIT_Japan\"/>"; $tags .= "<tag k=\"source\" v=\"KSJ2\"/>"; $tags .= "<tag k=\"source_ref\" v=\"http://nlftp.mlit.go.jp/ksj/jpgis/datalist/KsjTmplt-W09.html\"/>"; $tags .= "<tag k=\"note\" v=\"National-Land Numerical Information (Lake and Pond) 2005, MLIT Japan\"/>"; $tags .= "<tag k=\"note:ja\" v=\"国土数値情報(湖沼データ)平成17年 国土交通省\"/>"; $tags .= "<tag k=\"KSJ2:lake_id\" v=\"$item\"/>"; $tags .= "<tag k=\"KSJ2:ARE\" v=\"$lakeHash{$item}{'ARE'}\"/>"; $tags .= "<tag k=\"KSJ2:curve_type\" v=\"$item2\"/>"; $tags .= "<tag k=\"KSJ2:curve_id\" v=\"$item3\"/>"; $tags .= "<tag k=\"KSJ2:coordinate\" v=\"$coordinate\"/>"; $tags .= "<tag k=\"KSJ2:lat\" v=\"$lat\"/>"; $tags .= "<tag k=\"KSJ2:long\" v=\"$long\"/>"; $tags .= "<tag k=\"KSJ2:LPN\" v=\"$lakeHash{$item}{'LPN'}\"/>"; if (exists($nodes{"$lat $long"})) { $node_id = $nodes{"$lat $long"}; } else { $negative_id--; $node_id = $negative_id; $nodes{"$lat $long"} = $node_id; my $node = sprintf("<node id=\"%d\" visible=\"true\" lat=\"%s\" lon=\"%s\">$tags</node>" , $node_id, $lat, $long); print OSM "$node\n"; $num_nodes++; } $node_ref .= sprintf("<nd ref=\"%d\" />", $node_id); printf LOG "Node %d: %s, %s\n", $node_id, $lat, $long; $i++; return $i; } sub write_way() { my ($i, $item, $item2, $item3) = @_; my $tmp_tags; $negative_id--; my $tags = "<tag k=\"created_by\" v=\"National-Land-Numerical-Information_MLIT_Japan\"/>"; $tags .= "<tag k=\"source\" v=\"KSJ2\"/>"; $tags .= "<tag k=\"source_ref\" v=\"http://nlftp.mlit.go.jp/ksj/jpgis/datalist/KsjTmplt-W09.html\"/>"; $tags .= "<tag k=\"note\" v=\"National-Land Numerical Information (Lake and Pond) 2005, MLIT Japan\"/>"; $tags .= "<tag k=\"note:ja\" v=\"国土数値情報(湖沼データ)平成17年 国土交通省\"/>"; $tags .= "<tag k=\"KSJ2:lake_id\" v=\"$item\"/>"; $tags .= "<tag k=\"KSJ2:ARE\" v=\"$lakeHash{$item}{'ARE'}\"/>"; $tags .= "<tag k=\"KSJ2:curve_type\" v=\"$item2\"/>"; $tags .= "<tag k=\"KSJ2:curve_id\" v=\"$item3\"/>"; $tags .= "<tag k=\"KSJ2:AAC\" v=\"$lakeHash{$item}{'AAC'}\"/>"; $tags .= "<tag k=\"KSJ2:AAC_label\" v=\"$lakeHash{$item}{'AAC_label'}\"/>"; $tags .= "<tag k=\"KSJ2:LPN\" v=\"$lakeHash{$item}{'LPN'}\"/>"; if (exists($lakeHash{$item}{"LDM"})) { $tags .= "<tag k=\"KSJ2:LDM\" v=\"$lakeHash{$item}{'LDM'}\"/>"; } if (exists($lakeHash{$item}{"HOW"})) { $tags .= "<tag k=\"KSJ2:HOW\" v=\"$lakeHash{$item}{'HOW'}\"/>"; } # $tags .= "<tag k=\"KSJ2:points\" v=\"$curveHash{$item3}\"/>"; # comment out to reduce data size. if ($item2 eq "exterior") { if ($lake_type == 0) {$tmp_tags = "<tag k=\"natural\" v=\"water\"/>";} elsif ($lake_type == 1) {$tmp_tags = "<tag k=\"natural\" v=\"marsh\"/>";} elsif ($lake_type == 2) {$tmp_tags = "<tag k=\"landuse\" v=\"reservoir\"/>";} else {$tmp_tags = "<tag k=\"natural\" v=\"water\"/>";} if ($water_type == 0) {$tmp_tags .= "<tag k=\"water_type\" v=\"fresh\"/>";} elsif ($water_type == 1) {$tmp_tags .= "<tag k=\"water_type\" v=\"salt\"/>";} else {$tmp_tags .= "<tag k=\"water_type\" v=\"fresh\"/>";} $tmp_tags .= "<tag k=\"layer\" v=\"-2\"/>"; $tmp_tags .= "<tag k=\"name\" v=\"$lakeHash{$item}{'LPN'} ()\"/>"; $tmp_tags .= "<tag k=\"name:en\" v=\"\"/>"; $tmp_tags .= "<tag k=\"name:ja\" v=\"$lakeHash{$item}{'LPN'}\"/>"; $tmp_tags .= "<tag k=\"name:ja_rm\" v=\"\"/>"; $num_waters++; } else { $tmp_tags = "<tag k=\"natural\" v=\"land\"/><tag k=\"layer\" v=\"-1\"/>"; $num_lands++; } my $way = sprintf("<way id=\"%d\" action=\"modify\" visible=\"true\">$tmp_tags$node_ref$tags</way>" , $negative_id); print OSM "$way\n"; $num_ways++; printf LOG "Way %d: %d nodes id=%s/%s/%s LPN=%s\n" , $negative_id, $i, $item, $item2, $item3, $lakeHash{$item}{"LPN"}; $node_ref = ""; } # extracts from AdminAreaCd.xml 行政コード(抜粋) # 「国土数値情報(コードリスト)平成19年 国土交通省」 # http://nlftp.mlit.go.jp/ksj/jpgis/codelist/codelists.zip $xml_aac =<<"End"; <?xml version="1.0" encoding="UTF-8"?> <ksjc:CodeSet xmlns:ksjc="http://nlftp.mlit.go.jp/ksj/schemas/ksj-app-cd" xmlns:jps="http://www.gsi.go.jp/GIS/jpgis/standardSchemas" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://nlftp.mlit.go.jp/ksj/schemas/ksj-app-cd KsjCodelist.xsd"> <ksjc:C002> <description>行政コード</description> <codelabel label="北海道小樽市" code="01203"/> <codelabel label="北海道釧路市" code="01206"/> <codelabel label="北海道北見市" code="01208"/> <codelabel label="北海道夕張市" code="01209"/> <codelabel label="北海道網走市" code="01211"/> <codelabel label="北海道苫小牧市" code="01213"/> <codelabel label="北海道稚内市" code="01214"/> <codelabel label="北海道美唄市" code="01215"/> <codelabel label="北海道芦別市" code="01216"/> <codelabel label="北海道紋別市" code="01219"/> <codelabel label="北海道三笠市" code="01222"/> <codelabel label="北海道根室市" code="01223"/> <codelabel label="北海道千歳市" code="01224"/> <codelabel label="北海道登別市" code="01230"/> <codelabel label="北海道恵庭市" code="01231"/> <codelabel label="北海道石狩郡当別町" code="01303"/> <codelabel label="北海道石狩郡新篠津村" code="01304"/> <codelabel label="北海道亀田郡七飯町" code="01337"/> <codelabel label="北海道茅部郡森町" code="01345"/> <codelabel label="北海道爾志郡熊石町" code="01365"/> <codelabel label="北海道磯谷郡蘭越町" code="01394"/> <codelabel label="北海道虻田郡倶知安町" code="01400"/> <codelabel label="北海道空知郡南幌町" code="01423"/> <codelabel label="北海道夕張郡栗山町" code="01429"/> <codelabel label="北海道樺戸郡新十津川町" code="01432"/> <codelabel label="北海道雨竜郡雨竜町" code="01436"/> <codelabel label="北海道雨竜郡沼田町" code="01438"/> <codelabel label="北海道雨竜郡幌加内町" code="01439"/> <codelabel label="北海道上川郡上川町" code="01457"/> <codelabel label="北海道空知郡南富良野町" code="01462"/> <codelabel label="北海道勇払郡占冠村" code="01463"/> <codelabel label="北海道上川郡朝日町" code="01466"/> <codelabel label="北海道留萌郡小平町" code="01482"/> <codelabel label="北海道苫前郡初山別村" code="01485"/> <codelabel label="北海道天塩郡幌延町" code="01488"/> <codelabel label="北海道宗谷郡猿払村" code="01511"/> <codelabel label="北海道枝幸郡浜頓別町" code="01512"/> <codelabel label="北海道天塩郡豊富町" code="01516"/> <codelabel label="北海道礼文郡礼文町" code="01517"/> <codelabel label="北海道網走郡女満別町" code="01542"/> <codelabel label="北海道網走郡津別町" code="01544"/> <codelabel label="北海道斜里郡斜里町" code="01545"/> <codelabel label="北海道斜里郡小清水町" code="01547"/> <codelabel label="北海道常呂郡置戸町" code="01550"/> <codelabel label="北海道常呂郡佐呂間町" code="01552"/> <codelabel label="北海道常呂郡常呂町" code="01553"/> <codelabel label="北海道紋別郡湧別町" code="01559"/> <codelabel label="北海道紋別郡雄武町" code="01563"/> <codelabel label="北海道虻田郡虻田町" code="01572"/> <codelabel label="北海道虻田郡洞爺村" code="01573"/> <codelabel label="北海道有珠郡壮瞥町" code="01575"/> <codelabel label="北海道白老郡白老町" code="01578"/> <codelabel label="北海道勇払郡厚真町" code="01581"/> <codelabel label="北海道沙流郡平取町" code="01602"/> <codelabel label="北海道新冠郡新冠町" code="01604"/> <codelabel label="北海道静内郡静内町" code="01605"/> <codelabel label="北海道浦河郡浦河町" code="01607"/> <codelabel label="北海道様似郡様似町" code="01608"/> <codelabel label="北海道幌泉郡えりも町" code="01609"/> <codelabel label="北海道河東郡上士幌町" code="01633"/> <codelabel label="北海道河東郡鹿追町" code="01634"/> <codelabel label="北海道上川郡新得町" code="01635"/> <codelabel label="北海道河西郡芽室町" code="01637"/> <codelabel label="北海道広尾郡大樹町" code="01641"/> <codelabel label="北海道中川郡豊頃町" code="01645"/> <codelabel label="北海道中川郡本別町" code="01646"/> <codelabel label="北海道足寄郡足寄町" code="01647"/> <codelabel label="北海道釧路郡釧路町" code="01661"/> <codelabel label="北海道厚岸郡厚岸町" code="01662"/> <codelabel label="北海道厚岸郡浜中町" code="01663"/> <codelabel label="北海道川上郡標茶町" code="01664"/> <codelabel label="北海道川上郡弟子屈町" code="01665"/> <codelabel label="北海道阿寒郡阿寒町" code="01666"/> <codelabel label="北海道野付郡別海町" code="01691"/> <codelabel label="北海道目梨郡羅臼町" code="01694"/> <codelabel label="青森県青森市" code="02201"/> <codelabel label="青森県弘前市" code="02202"/> <codelabel label="青森県黒石市" code="02204"/> <codelabel label="青森県五所川原市" code="02205"/> <codelabel label="青森県十和田市" code="02206"/> <codelabel label="青森県三沢市" code="02207"/> <codelabel label="青森県むつ市" code="02208"/> <codelabel label="青森県西津軽郡深浦町" code="02323"/> <codelabel label="青森県中津軽郡西目屋村" code="02343"/> <codelabel label="青森県南津軽郡平賀町" code="02365"/> <codelabel label="青森県北津軽郡鶴田町" code="02384"/> <codelabel label="青森県上北郡七戸町" code="02402"/> <codelabel label="青森県上北郡東北町" code="02408"/> <codelabel label="青森県上北郡六ケ所村" code="02411"/> <codelabel label="青森県下北郡佐井村" code="02426"/> <codelabel label="岩手県盛岡市" code="03201"/> <codelabel label="岩手県花巻市" code="03205"/> <codelabel label="岩手県一関市" code="03209"/> <codelabel label="岩手県岩手郡雫石町" code="03301"/> <codelabel label="岩手県岩手郡松尾村" code="03306"/> <codelabel label="岩手県岩手郡玉山村" code="03307"/> <codelabel label="岩手県和賀郡東和町" code="03361"/> <codelabel label="岩手県和賀郡湯田町" code="03363"/> <codelabel label="岩手県胆沢郡胆沢町" code="03383"/> <codelabel label="岩手県九戸郡山形村" code="03504"/> <codelabel label="宮城県石巻市" code="04202"/> <codelabel label="宮城県刈田郡七ケ宿町" code="04302"/> <codelabel label="宮城県柴田郡川崎町" code="04324"/> <codelabel label="宮城県亘理郡亘理町" code="04361"/> <codelabel label="宮城県黒川郡大和町" code="04421"/> <codelabel label="宮城県玉造郡鳴子町" code="04482"/> <codelabel label="宮城県牡鹿郡女川町" code="04581"/> <codelabel label="秋田県能代市" code="05202"/> <codelabel label="秋田県男鹿市" code="05206"/> <codelabel label="秋田県湯沢市" code="05207"/> <codelabel label="秋田県鹿角郡小坂町" code="05303"/> <codelabel label="秋田県山本郡藤里町" code="05346"/> <codelabel label="秋田県南秋田郡五城目町" code="05361"/> <codelabel label="秋田県南秋田郡井川町" code="05366"/> <codelabel label="秋田県南秋田郡大潟村" code="05368"/> <codelabel label="秋田県仙北郡田沢湖町" code="05426"/> <codelabel label="秋田県仙北郡西木村" code="05430"/> <codelabel label="秋田県雄勝郡東成瀬村" code="05464"/> <codelabel label="山形県山形市" code="06201"/> <codelabel label="山形県米沢市" code="06202"/> <codelabel label="山形県尾花沢市" code="06212"/> <codelabel label="山形県南陽市" code="06213"/> <codelabel label="山形県西村山郡西川町" code="06322"/> <codelabel label="山形県東置賜郡高畠町" code="06381"/> <codelabel label="山形県西置賜郡飯豊町" code="06403"/> <codelabel label="山形県東田川郡朝日村" code="06427"/> <codelabel label="山形県飽海郡遊佐町" code="06461"/> <codelabel label="福島県会津若松市" code="07202"/> <codelabel label="福島県郡山市" code="07203"/> <codelabel label="福島県白河市" code="07205"/> <codelabel label="福島県相馬市" code="07209"/> <codelabel label="福島県岩瀬郡天栄村" code="07344"/> <codelabel label="福島県南会津郡下郷町" code="07362"/> <codelabel label="福島県南会津郡檜枝岐村" code="07364"/> <codelabel label="福島県南会津郡只見町" code="07367"/> <codelabel label="福島県耶麻郡熱塩加納村" code="07401"/> <codelabel label="福島県耶麻郡北塩原村" code="07402"/> <codelabel label="福島県耶麻郡猪苗代町" code="07408"/> <codelabel label="福島県大沼郡金山町" code="07445"/> <codelabel label="福島県石川郡石川町" code="07501"/> <codelabel label="福島県石川郡玉川村" code="07502"/> <codelabel label="福島県石川郡平田村" code="07503"/> <codelabel label="福島県田村郡三春町" code="07521"/> <codelabel label="茨城県水戸市" code="08201"/> <codelabel label="茨城県土浦市" code="08203"/> <codelabel label="茨城県石岡市" code="08205"/> <codelabel label="茨城県龍ケ崎市" code="08208"/> <codelabel label="茨城県水海道市" code="08211"/> <codelabel label="茨城県常陸太田市" code="08212"/> <codelabel label="茨城県笠間市" code="08216"/> <codelabel label="茨城県つくば市" code="08220"/> <codelabel label="茨城県鹿嶋市" code="08222"/> <codelabel label="茨城県潮来市" code="08223"/> <codelabel label="茨城県東茨城郡茨城町" code="08302"/> <codelabel label="茨城県東茨城郡小川町" code="08303"/> <codelabel label="茨城県東茨城郡大洗町" code="08309"/> <codelabel label="茨城県鹿島郡旭村" code="08401"/> <codelabel label="茨城県鹿島郡鉾田町" code="08402"/> <codelabel label="茨城県鹿島郡大洋村" code="08403"/> <codelabel label="茨城県鹿島郡神栖町" code="08406"/> <codelabel label="茨城県行方郡麻生町" code="08421"/> <codelabel label="茨城県行方郡北浦町" code="08424"/> <codelabel label="茨城県行方郡玉造町" code="08425"/> <codelabel label="茨城県稲敷郡美浦村" code="08442"/> <codelabel label="茨城県稲敷郡阿見町" code="08443"/> <codelabel label="茨城県新治郡玉里村" code="08462"/> <codelabel label="栃木県日光市" code="09206"/> <codelabel label="栃木県塩谷郡栗山村" code="09382"/> <codelabel label="栃木県塩谷郡藤原町" code="09383"/> <codelabel label="栃木県塩谷郡塩谷町" code="09384"/> <codelabel label="栃木県那須郡那須町" code="09407"/> <codelabel label="群馬県桐生市" code="10203"/> <codelabel label="群馬県沼田市" code="10206"/> <codelabel label="群馬県藤岡市" code="10209"/> <codelabel label="群馬県勢多郡東村" code="10309"/> <codelabel label="群馬県群馬郡榛名町" code="10321"/> <codelabel label="群馬県群馬郡箕郷町" code="10323"/> <codelabel label="群馬県多野郡鬼石町" code="10362"/> <codelabel label="群馬県碓氷郡松井田町" code="10401"/> <codelabel label="群馬県吾妻郡中之条町" code="10421"/> <codelabel label="群馬県吾妻郡吾妻町" code="10423"/> <codelabel label="群馬県吾妻郡長野原町" code="10424"/> <codelabel label="群馬県吾妻郡嬬恋村" code="10425"/> <codelabel label="群馬県吾妻郡六合村" code="10427"/> <codelabel label="群馬県利根郡片品村" code="10443"/> <codelabel label="群馬県利根郡水上町" code="10446"/> <codelabel label="群馬県利根郡新治村" code="10447"/> <codelabel label="埼玉県秩父市" code="11207"/> <codelabel label="埼玉県所沢市" code="11208"/> <codelabel label="埼玉県飯能市" code="11209"/> <codelabel label="埼玉県入間市" code="11225"/> <codelabel label="埼玉県入間郡毛呂山町" code="11326"/> <codelabel label="埼玉県比企郡吉見町" code="11347"/> <codelabel label="埼玉県児玉郡美里町" code="11381"/> <codelabel label="埼玉県児玉郡児玉町" code="11382"/> <codelabel label="埼玉県児玉郡神泉村" code="11384"/> <codelabel label="埼玉県大里郡寄居町" code="11408"/> <codelabel label="千葉県佐原市" code="12209"/> <codelabel label="千葉県茂原市" code="12210"/> <codelabel label="千葉県成田市" code="12211"/> <codelabel label="千葉県佐倉市" code="12212"/> <codelabel label="千葉県東金市" code="12213"/> <codelabel label="千葉県柏市" code="12217"/> <codelabel label="千葉県市原市" code="12219"/> <codelabel label="千葉県八千代市" code="12221"/> <codelabel label="千葉県我孫子市" code="12222"/> <codelabel label="千葉県君津市" code="12225"/> <codelabel label="千葉県印旛郡印旛村" code="12325"/> <codelabel label="千葉県印旛郡本埜村" code="12328"/> <codelabel label="千葉県印旛郡栄町" code="12329"/> <codelabel label="千葉県香取郡小見川町" code="12344"/> <codelabel label="千葉県長生郡一宮町" code="12421"/> <codelabel label="千葉県長生郡長柄町" code="12426"/> <codelabel label="東京都東村山市" code="13213"/> <codelabel label="東京都東大和市" code="13220"/> <codelabel label="東京都西多摩郡奥多摩町" code="13308"/> <codelabel label="神奈川県秦野市" code="14211"/> <codelabel label="神奈川県足柄上郡中井町" code="14361"/> <codelabel label="神奈川県足柄上郡山北町" code="14364"/> <codelabel label="神奈川県足柄下郡箱根町" code="14382"/> <codelabel label="神奈川県愛甲郡愛川町" code="14401"/> <codelabel label="神奈川県愛甲郡清川村" code="14402"/> <codelabel label="神奈川県津久井郡城山町" code="14421"/> <codelabel label="神奈川県津久井郡津久井町" code="14422"/> <codelabel label="神奈川県津久井郡相模湖町" code="14423"/> <codelabel label="神奈川県津久井郡藤野町" code="14424"/> <codelabel label="新潟県新潟市" code="15201"/> <codelabel label="新潟県柏崎市" code="15205"/> <codelabel label="新潟県新発田市" code="15206"/> <codelabel label="新潟県新井市" code="15217"/> <codelabel label="新潟県阿賀野市" code="15223"/> <codelabel label="新潟県佐渡市" code="15224"/> <codelabel label="新潟県南蒲原郡下田村" code="15362"/> <codelabel label="新潟県岩船郡朝日村" code="15584"/> <codelabel label="富山県富山市" code="16201"/> <codelabel label="富山県中新川郡立山町" code="16323"/> <codelabel label="石川県金沢市" code="17201"/> <codelabel label="石川県小松市" code="17203"/> <codelabel label="石川県加賀市" code="17206"/> <codelabel label="石川県羽咋市" code="17207"/> <codelabel label="石川県河北郡内灘町" code="17365"/> <codelabel label="福井県大野市" code="18205"/> <codelabel label="福井県あわら市" code="18208"/> <codelabel label="福井県大野郡和泉村" code="18342"/> <codelabel label="福井県坂井郡丸岡町" code="18364"/> <codelabel label="福井県三方郡美浜町" code="18442"/> <codelabel label="山梨県甲府市" code="19201"/> <codelabel label="山梨県南アルプス市" code="19208"/> <codelabel label="山梨県西八代郡上九一色村" code="19341"/> <codelabel label="山梨県西八代郡市川大門町" code="19343"/> <codelabel label="山梨県南巨摩郡早川町" code="19364"/> <codelabel label="山梨県南巨摩郡身延町" code="19365"/> <codelabel label="山梨県南巨摩郡南部町" code="19366"/> <codelabel label="山梨県南都留郡山中湖村" code="19425"/> <codelabel label="山梨県南都留郡富士河口湖町" code="19430"/> <codelabel label="山梨県北都留郡小菅村" code="19442"/> <codelabel label="山梨県北都留郡丹波山村" code="19443"/> <codelabel label="長野県長野市" code="20201"/> <codelabel label="長野県松本市" code="20202"/> <codelabel label="長野県上田市" code="20203"/> <codelabel label="長野県岡谷市" code="20204"/> <codelabel label="長野県諏訪市" code="20206"/> <codelabel label="長野県駒ケ根市" code="20210"/> <codelabel label="長野県大町市" code="20212"/> <codelabel label="長野県飯山市" code="20213"/> <codelabel label="長野県茅野市" code="20214"/> <codelabel label="長野県塩尻市" code="20215"/> <codelabel label="長野県佐久市" code="20217"/> <codelabel label="長野県南佐久郡小海町" code="20303"/> <codelabel label="長野県南佐久郡南相木村" code="20306"/> <codelabel label="長野県北佐久郡軽井沢町" code="20321"/> <codelabel label="長野県北佐久郡立科町" code="20324"/> <codelabel label="長野県小県郡丸子町" code="20341"/> <codelabel label="長野県小県郡真田町" code="20345"/> <codelabel label="長野県諏訪郡下諏訪町" code="20361"/> <codelabel label="長野県諏訪郡富士見町" code="20362"/> <codelabel label="長野県上伊那郡高遠町" code="20381"/> <codelabel label="長野県上伊那郡箕輪町" code="20383"/> <codelabel label="長野県上伊那郡中川村" code="20386"/> <codelabel label="長野県上伊那郡長谷村" code="20387"/> <codelabel label="長野県下伊那郡松川町" code="20402"/> <codelabel label="長野県下伊那郡阿南町" code="20404"/> <codelabel label="長野県下伊那郡根羽村" code="20410"/> <codelabel label="長野県下伊那郡大鹿村" code="20417"/> <codelabel label="長野県木曽郡三岳村" code="20428"/> <codelabel label="長野県木曽郡王滝村" code="20429"/> <codelabel label="長野県東筑摩郡麻績村" code="20446"/> <codelabel label="長野県下高井郡野沢温泉村" code="20563"/> <codelabel label="長野県上水内郡信州新町" code="20581"/> <codelabel label="長野県上水内郡信濃町" code="20583"/> <codelabel label="長野県上水内郡牟礼村" code="20584"/> <codelabel label="岐阜県高山市" code="21203"/> <codelabel label="岐阜県中津川市" code="21206"/> <codelabel label="岐阜県瑞浪市" code="21208"/> <codelabel label="岐阜県恵那市" code="21210"/> <codelabel label="岐阜県山県市" code="21215"/> <codelabel label="岐阜県飛騨市" code="21217"/> <codelabel label="岐阜県下呂市" code="21220"/> <codelabel label="岐阜県養老郡上石津町" code="21342"/> <codelabel label="岐阜県不破郡垂井町" code="21361"/> <codelabel label="岐阜県揖斐郡揖斐川町" code="21401"/> <codelabel label="岐阜県加茂郡八百津町" code="21505"/> <codelabel label="岐阜県可児郡御嵩町" code="21521"/> <codelabel label="岐阜県可児郡兼山町" code="21523"/> <codelabel label="岐阜県大野郡白川村" code="21604"/> <codelabel label="静岡県浜松市" code="22202"/> <codelabel label="静岡県富士宮市" code="22207"/> <codelabel label="静岡県伊東市" code="22208"/> <codelabel label="静岡県御殿場市" code="22215"/> <codelabel label="静岡県天竜市" code="22217"/> <codelabel label="静岡県湖西市" code="22221"/> <codelabel label="静岡県伊豆市" code="22222"/> <codelabel label="静岡県磐田郡龍山村" code="22486"/> <codelabel label="静岡県磐田郡佐久間町" code="22487"/> <codelabel label="静岡県磐田郡水窪町" code="22488"/> <codelabel label="静岡県浜名郡舞阪町" code="22502"/> <codelabel label="静岡県浜名郡新居町" code="22503"/> <codelabel label="静岡県浜名郡雄踏町" code="22505"/> <codelabel label="静岡県引佐郡細江町" code="22521"/> <codelabel label="静岡県引佐郡引佐町" code="22522"/> <codelabel label="静岡県引佐郡三ケ日町" code="22523"/> <codelabel label="愛知県豊田市" code="23211"/> <codelabel label="愛知県犬山市" code="23215"/> <codelabel label="愛知県日進市" code="23230"/> <codelabel label="愛知県愛知郡東郷町" code="23302"/> <codelabel label="愛知県西加茂郡三好町" code="23521"/> <codelabel label="愛知県北設楽郡設楽町" code="23561"/> <codelabel label="愛知県北設楽郡豊根村" code="23563"/> <codelabel label="愛知県北設楽郡富山村" code="23564"/> <codelabel label="愛知県南設楽郡鳳来町" code="23581"/> <codelabel label="三重県松阪市" code="24204"/> <codelabel label="三重県名張市" code="24208"/> <codelabel label="三重県熊野市" code="24212"/> <codelabel label="三重県安芸郡芸濃町" code="24382"/> <codelabel label="三重県多気郡宮川村" code="24445"/> <codelabel label="三重県北牟婁郡海山町" code="24542"/> <codelabel label="滋賀県大津市" code="25201"/> <codelabel label="滋賀県彦根市" code="25202"/> <codelabel label="滋賀県長浜市" code="25203"/> <codelabel label="滋賀県近江八幡市" code="25204"/> <codelabel label="滋賀県草津市" code="25206"/> <codelabel label="滋賀県守山市" code="25207"/> <codelabel label="滋賀県滋賀郡志賀町" code="25301"/> <codelabel label="滋賀県蒲生郡安土町" code="25381"/> <codelabel label="滋賀県神崎郡能登川町" code="25403"/> <codelabel label="滋賀県坂田郡近江町" code="25464"/> <codelabel label="滋賀県東浅井郡湖北町" code="25483"/> <codelabel label="滋賀県東浅井郡びわ町" code="25484"/> <codelabel label="滋賀県伊香郡高月町" code="25501"/> <codelabel label="滋賀県伊香郡木之本町" code="25502"/> <codelabel label="滋賀県伊香郡余呉町" code="25503"/> <codelabel label="滋賀県伊香郡西浅井町" code="25504"/> <codelabel label="京都府宮津市" code="26205"/> <codelabel label="京都府京丹後市" code="26212"/> <codelabel label="京都府北桑田郡美山町" code="26382"/> <codelabel label="京都府船井郡園部町" code="26401"/> <codelabel label="京都府船井郡日吉町" code="26404"/> <codelabel label="京都府与謝郡岩滝町" code="26462"/> <codelabel label="大阪府豊能郡豊能町" code="27321"/> <codelabel label="兵庫県西宮市" code="28204"/> <codelabel label="兵庫県加古川市" code="28210"/> <codelabel label="兵庫県宝塚市" code="28214"/> <codelabel label="兵庫県三木市" code="28215"/> <codelabel label="兵庫県川西市" code="28217"/> <codelabel label="兵庫県三田市" code="28219"/> <codelabel label="兵庫県川辺郡猪名川町" code="28301"/> <codelabel label="兵庫県加東郡東条町" code="28343"/> <codelabel label="兵庫県多可郡中町" code="28361"/> <codelabel label="兵庫県飾磨郡夢前町" code="28422"/> <codelabel label="兵庫県赤穂郡上郡町" code="28481"/> <codelabel label="兵庫県宍粟郡安富町" code="28522"/> <codelabel label="奈良県桜井市" code="29206"/> <codelabel label="奈良県山辺郡山添村" code="29322"/> <codelabel label="奈良県宇陀郡榛原町" code="29383"/> <codelabel label="奈良県宇陀郡室生村" code="29384"/> <codelabel label="奈良県吉野郡吉野町" code="29441"/> <codelabel label="奈良県吉野郡十津川村" code="29449"/> <codelabel label="奈良県吉野郡下北山村" code="29450"/> <codelabel label="奈良県吉野郡上北山村" code="29451"/> <codelabel label="奈良県吉野郡川上村" code="29452"/> <codelabel label="和歌山県有田郡清水町" code="30365"/> <codelabel label="和歌山県西牟婁郡大塔村" code="30403"/> <codelabel label="和歌山県西牟婁郡日置川町" code="30405"/> <codelabel label="和歌山県東牟婁郡北山村" code="30427"/> <codelabel label="鳥取県鳥取市" code="31201"/> <codelabel label="鳥取県米子市" code="31202"/> <codelabel label="鳥取県境港市" code="31204"/> <codelabel label="鳥取県日野郡日南町" code="31401"/> <codelabel label="鳥取県日野郡江府町" code="31403"/> <codelabel label="島根県松江市" code="32201"/> <codelabel label="島根県出雲市" code="32203"/> <codelabel label="島根県益田市" code="32204"/> <codelabel label="島根県安来市" code="32206"/> <codelabel label="島根県八束郡東出雲町" code="32304"/> <codelabel label="島根県簸川郡斐川町" code="32401"/> <codelabel label="島根県那賀郡弥栄村" code="32464"/> <codelabel label="島根県那賀郡三隅町" code="32465"/> <codelabel label="岡山県岡山市" code="33201"/> <codelabel label="岡山県倉敷市" code="33202"/> <codelabel label="岡山県玉野市" code="33204"/> <codelabel label="岡山県高梁市" code="33209"/> <codelabel label="岡山県新見市" code="33210"/> <codelabel label="岡山県御津郡建部町" code="33303"/> <codelabel label="岡山県御津郡加茂川町" code="33305"/> <codelabel label="岡山県苫田郡鏡野町" code="33606"/> <codelabel label="広島県三原市" code="34204"/> <codelabel label="広島県尾道市" code="34205"/> <codelabel label="広島県府中市" code="34208"/> <codelabel label="広島県庄原市" code="34210"/> <codelabel label="広島県大竹市" code="34211"/> <codelabel label="広島県東広島市" code="34212"/> <codelabel label="広島県廿日市市" code="34213"/> <codelabel label="広島県安芸高田市" code="34214"/> <codelabel label="広島県世羅郡世羅町" code="34462"/> <codelabel label="山口県下関市" code="35201"/> <codelabel label="山口県宇部市" code="35202"/> <codelabel label="山口県山口市" code="35203"/> <codelabel label="山口県萩市" code="35204"/> <codelabel label="山口県下松市" code="35207"/> <codelabel label="山口県岩国市" code="35208"/> <codelabel label="山口県長門市" code="35211"/> <codelabel label="山口県周南市" code="35215"/> <codelabel label="山口県玖珂郡周東町" code="35325"/> <codelabel label="山口県玖珂郡美川町" code="35328"/> <codelabel label="山口県玖珂郡美和町" code="35329"/> <codelabel label="山口県佐波郡徳地町" code="35381"/> <codelabel label="山口県阿武郡阿東町" code="35504"/> <codelabel label="香川県坂出市" code="37203"/> <codelabel label="香川県綾歌郡綾上町" code="37381"/> <codelabel label="香川県綾歌郡綾南町" code="37382"/> <codelabel label="香川県仲多度郡満濃町" code="37402"/> <codelabel label="香川県仲多度郡仲南町" code="37405"/> <codelabel label="愛媛県松山市" code="38201"/> <codelabel label="愛媛県今治市" code="38202"/> <codelabel label="愛媛県西条市" code="38206"/> <codelabel label="愛媛県大洲市" code="38207"/> <codelabel label="愛媛県四国中央市" code="38213"/> <codelabel label="愛媛県西予市" code="38214"/> <codelabel label="高知県南国市" code="39204"/> <codelabel label="高知県安芸郡北川村" code="39305"/> <codelabel label="高知県安芸郡馬路村" code="39306"/> <codelabel label="高知県香美郡土佐山田町" code="39323"/> <codelabel label="高知県香美郡香北町" code="39326"/> <codelabel label="高知県香美郡物部村" code="39328"/> <codelabel label="高知県長岡郡本山町" code="39341"/> <codelabel label="高知県土佐郡土佐町" code="39363"/> <codelabel label="高知県土佐郡大川村" code="39364"/> <codelabel label="佐賀県佐賀郡富士町" code="41306"/> <codelabel label="佐賀県神埼郡三瀬村" code="41326"/> <codelabel label="長崎県大村市" code="42205"/> <codelabel label="熊本県熊本市" code="43201"/> <codelabel label="熊本県阿蘇郡小国町" code="43424"/> <codelabel label="熊本県八代郡鏡町" code="43463"/> <codelabel label="熊本県球磨郡水上村" code="43507"/> <codelabel label="大分県大分市" code="44201"/> <codelabel label="大分県別府市" code="44202"/> <codelabel label="大分県日田市" code="44204"/> <codelabel label="大分県竹田市" code="44208"/> <codelabel label="大分県大分郡庄内町" code="44363"/> <codelabel label="大分県大分郡湯布院町" code="44364"/> <codelabel label="宮崎県西都市" code="45208"/> <codelabel label="宮崎県北諸県郡高崎町" code="45345"/> <codelabel label="宮崎県西諸県郡高原町" code="45361"/> <codelabel label="宮崎県西諸県郡野尻町" code="45362"/> <codelabel label="宮崎県西諸県郡須木村" code="45363"/> <codelabel label="宮崎県児湯郡西米良村" code="45403"/> <codelabel label="宮崎県東臼杵郡東郷町" code="45422"/> <codelabel label="宮崎県東臼杵郡南郷村" code="45423"/> <codelabel label="宮崎県東臼杵郡西郷村" code="45424"/> <codelabel label="宮崎県東臼杵郡諸塚村" code="45429"/> <codelabel label="宮崎県東臼杵郡椎葉村" code="45430"/> <codelabel label="鹿児島県鹿屋市" code="46203"/> <codelabel label="鹿児島県大口市" code="46209"/> <codelabel label="鹿児島県指宿市" code="46210"/> <codelabel label="鹿児島県揖宿郡山川町" code="46322"/> <codelabel label="鹿児島県揖宿郡開聞町" code="46324"/> <codelabel label="鹿児島県日置郡吹上町" code="46367"/> <codelabel label="沖縄県那覇市" code="47201"/> <codelabel label="沖縄県豊見城市" code="47212"/> <codelabel label="沖縄県国頭郡国頭村" code="47301"/> <codelabel label="沖縄県国頭郡東村" code="47303"/> <codelabel label="沖縄県国頭郡宜野座村" code="47313"/> </ksjc:C002> </ksjc:CodeSet> End # PrefCode.xml 都道府県コード # 「国土数値情報(コードリスト)平成19年 国土交通省」 # http://nlftp.mlit.go.jp/ksj/jpgis/codelist/codelists.zip $xml_pref =<<"End"; <?xml version="1.0" encoding="UTF-8"?> <ksjc:CodeSet xmlns:ksjc="http://nlftp.mlit.go.jp/ksj/schemas/ksj-app-cd" xmlns:jps="http://www.gsi.go.jp/GIS/jpgis/standardSchemas" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://nlftp.mlit.go.jp/ksj/schemas/ksj-app-cd KsjCodelist.xsd"> <ksjc:C001> <description>都道府県コード</description> <codelabel label="北海道" code="01"/> <codelabel label="青森県" code="02"/> <codelabel label="岩手県" code="03"/> <codelabel label="宮城県" code="04"/> <codelabel label="秋田県" code="05"/> <codelabel label="山形県" code="06"/> <codelabel label="福島県" code="07"/> <codelabel label="茨城県" code="08"/> <codelabel label="栃木県" code="09"/> <codelabel label="群馬県" code="10"/> <codelabel label="埼玉県" code="11"/> <codelabel label="千葉県" code="12"/> <codelabel label="東京都" code="13"/> <codelabel label="神奈川県" code="14"/> <codelabel label="新潟県" code="15"/> <codelabel label="富山県" code="16"/> <codelabel label="石川県" code="17"/> <codelabel label="福井県" code="18"/> <codelabel label="山梨県" code="19"/> <codelabel label="長野県" code="20"/> <codelabel label="岐阜県" code="21"/> <codelabel label="静岡県" code="22"/> <codelabel label="愛知県" code="23"/> <codelabel label="三重県" code="24"/> <codelabel label="滋賀県" code="25"/> <codelabel label="京都府" code="26"/> <codelabel label="大阪府" code="27"/> <codelabel label="兵庫県" code="28"/> <codelabel label="奈良県" code="29"/> <codelabel label="和歌山県" code="30"/> <codelabel label="鳥取県" code="31"/> <codelabel label="島根県" code="32"/> <codelabel label="岡山県" code="33"/> <codelabel label="広島県" code="34"/> <codelabel label="山口県" code="35"/> <codelabel label="徳島県" code="36"/> <codelabel label="香川県" code="37"/> <codelabel label="愛媛県" code="38"/> <codelabel label="高知県" code="39"/> <codelabel label="福岡県" code="40"/> <codelabel label="佐賀県" code="41"/> <codelabel label="長崎県" code="42"/> <codelabel label="熊本県" code="43"/> <codelabel label="大分県" code="44"/> <codelabel label="宮崎県" code="45"/> <codelabel label="鹿児島県" code="46"/> <codelabel label="沖縄県" code="47"/> </ksjc:C001> </ksjc:CodeSet> End # run this script. main(); # end of script __END__