User:Tom G3X/ksj2osm-lake aac.pl
Jump to navigation
Jump to search
- 国土数値情報(湖沼データ)の変換プログラムで、 ksj2osm-lake.pl の改変版です。
- 使い方は、ksj2osm-lake.plと同じ。
- 指定の湖沼だけ、連続出力したかったので、改変しました。
- まとめて出力する事が少し楽になります。
変更点
- AAC番号を引数にできます。
ksj2osm-lake_aac.pl {AAC}
- 出力ファイル名が、ksj2osm-lake_{AAC}.osm となります。
- タグの値がブランク箇所は、ダミーで FIXME と入れました。
- これを見つけたら、その箇所を正しく編集してやってください。
Code
#!/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_$ARGV[0]";
#our $target_lpn = "亀山湖"; # lake/pond name (UTF-8) "亀山湖", "*", ""
our $target_aac = $ARGV[0]; # 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
}
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 "") {
if ($target_aac eq $workHash{"AAC"} || $target_aac eq "*" || $target_aac 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'} (FIXME)\"/>";
$tmp_tags .= "<tag k=\"name:en\" v=\"FIXME\"/>";
$tmp_tags .= "<tag k=\"name:ja\" v=\"$lakeHash{$item}{'LPN'}\"/>";
$tmp_tags .= "<tag k=\"name:ja_rm\" v=\"FIXME\"/>";
$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__