「鳥取県日野郡日野町」が自前のジオコーダでヒットしない

ジオコーダの元データには 街区レベル位置参照情報ダウンロードサービス を使っているんだけど、どうやらこれだけでは全国網羅されていないみたい。

街区レベル位置参照情報は、全国の都市計画区域のみが整備されています。以下の一覧が最新データの整備範囲ですが、記載のある市区町村の全域が整備されているとは限りません。

街区レベル位置参照情報の整備状況

ということは、他の全国の住所を網羅しているデータとギャップが生じる可能性がある。
たとえば、ALPSLAB の白地図 APIと比較してみると……

街区レベル位置参照情報が持っている鳥取県のデータ
鳥取市
米子市
倉吉市
境港市
岩美郡岩美町
八頭郡若桜町
八頭郡智頭町
八頭郡八頭町
東伯郡三朝町
東伯郡湯梨浜町
東伯郡琴浦町
西伯郡日吉津村

ALPSLABの白地図APIで使える鳥取県のデータ
鳥取市(31201)
米子市(31202)
倉吉市(31203)
境港市(31204)
岩美郡岩美町(31302)
八頭郡若桜町(31325)
八頭郡智頭町(31328)
八頭郡八頭町(31329)
東伯郡三朝町(31364)
東伯郡湯梨浜町(31370)
東伯郡琴浦町(31371)
東伯郡北栄町(31372)
西伯郡日吉津村(31384)
西伯郡大山町(31386)
西伯郡南部町(31389)
西伯郡伯耆町(31390)
日野郡日南町(31401)
日野郡日野町(31402)
日野郡江府町(31403)

ぐゎ。けっこう違うな……

国土数値情報ダウンロードサービス(JPGIS準拠データ)

探してみたら、国土数値情報ダウンロードサービス(JPGIS準拠データ) だと全国の市区町村が全部そろっていそうな雰囲気。

ためしに「国土数値情報 行政区域データ 平成19年 鳥取 (N03-07_31.zip)」をダウンロードして中身を見てみた。
行政区域データはXMLで書かれている。

鳥取県日野郡日野町の部分を抜粋。


<ksj:EC01 id="ec_299">
  <ksj:ARE idref="sf299ec"/>
  <ksj:PRN>鳥取県</ksj:PRN>
  <ksj:CON>日野郡</ksj:CON>
  <ksj:CN2>日野町</ksj:CN2>
  <ksj:AAC codeSpace="AdminAreaCd.xml">31402</ksj:AAC>
</ksj:EC01>
(中略)
<jps:GM_Surface id="sf299ec">
  <jps:GM_OrientablePrimitive.orientation>+</jps:GM_OrientablePrimitive.orientation>
  <jps:GM_OrientablePrimitive.primitive idref="sf299ec"/>
  <jps:GM_Surface.patch>
    <jps:GM_Polygon>
      <jps:GM_SurfacePatch.interpolation>planar</jps:GM_SurfacePatch.interpolation>
      <jps:GM_Polygon.boundary idref="sfbd299ec">
        <jps:GM_SurfaceBoundary id="sfbd299ec">
          <jps:GM_Complex.element idref="rn299_1ec"/>
          <jps:GM_SurfaceBoundary.exterior>
            <jps:GM_Ring id="rn299_1ec">
              <jps:GM_OrientablePrimitive.orientation>+</jps:GM_OrientablePrimitive.orientation>
              <jps:GM_OrientablePrimitive.primitive idref="rn299_1ec"/>
              <jps:GM_CompositeCurve.generator idref="oc416ec"/>
              <jps:GM_CompositeCurve.generator idref="oc414ec"/>
              <jps:GM_CompositeCurve.generator idref="oc408ec"/>
              <jps:GM_CompositeCurve.generator idref="cv403ec"/>
              <jps:GM_CompositeCurve.generator idref="cv404ec"/>
              <jps:GM_CompositeCurve.generator idref="cv397ec"/>
              <jps:GM_CompositeCurve.generator idref="cv400ec"/>
              <jps:GM_CompositeCurve.generator idref="cv399ec"/>
              <jps:GM_CompositeCurve.generator idref="oc410ec"/>
              <jps:GM_CompositeCurve.generator idref="oc412ec"/>
              <jps:GM_CompositeCurve.generator idref="oc419ec"/>
              <jps:GM_CompositeCurve.generator idref="oc417ec"/>
              <jps:GM_CompositeCurve.generator idref="oc415ec"/>
            </jps:GM_Ring>
          </jps:GM_SurfaceBoundary.exterior>
        </jps:GM_SurfaceBoundary>
      </jps:GM_Polygon.boundary>
    </jps:GM_Polygon>
  </jps:GM_Surface.patch>
</jps:GM_Surface>
(中略)
<jps:GM_OrientableCurve id="oc416ec">
  <jps:GM_Primitive.proxy idref="oc416ec"/>
  <jps:GM_Primitive.proxy idref="cv416ec"/>
  <jps:GM_OrientablePrimitive.orientation>-</jps:GM_OrientablePrimitive.orientation>
  <jps:GM_OrientablePrimitive.primitive idref="cv416ec"/>
</jps:GM_OrientableCurve>
(中略)
<jps:GM_Curve id="cv416ec">
  <jps:GM_Primitive.proxy idref="cv416ec"/>
  <jps:GM_Primitive.proxy idref="oc416ec"/>
  <jps:GM_OrientablePrimitive.orientation>+</jps:GM_OrientablePrimitive.orientation>
  <jps:GM_OrientablePrimitive.primitive idref="cv416ec"/>
  <jps:GM_Curve.segment>
    <jps:GM_LineString>
      <jps:GM_CurveSegment.interpolation>linear</jps:GM_CurveSegment.interpolation>
      <jps:GM_LineString.controlPoint>
        <jps:GM_PointArray>
          <GM_PointArray.column>
            <jps:GM_Position.indirect>
              <GM_PointRef.point idref="pt398ec"/>
            </jps:GM_Position.indirect>
          </GM_PointArray.column>
          <GM_PointArray.column>
            <jps:GM_Position.direct>
              <DirectPosition.coordinate>35.18666100 133.49572900</DirectPosition.coordinate>
              <DirectPosition.dimension>2</DirectPosition.dimension>
            </jps:GM_Position.direct>
          </GM_PointArray.column>
          <GM_PointArray.column>
            <jps:GM_Position.direct>
              <DirectPosition.coordinate>35.18664400 133.49551200</DirectPosition.coordinate>
              <DirectPosition.dimension>2</DirectPosition.dimension>
            </jps:GM_Position.direct>
          </GM_PointArray.column>
          <GM_PointArray.column>
            <jps:GM_Position.direct>
              <DirectPosition.coordinate>35.18662400 133.49538700</DirectPosition.coordinate>
              <DirectPosition.dimension>2</DirectPosition.dimension>
            </jps:GM_Position.direct>
          </GM_PointArray.column>
(中略)
          <GM_PointArray.column>
            <jps:GM_Position.indirect>
              <GM_PointRef.point idref="pt400ec"/>
            </jps:GM_Position.indirect>
          </GM_PointArray.column>
        </jps:GM_PointArray>
      </jps:GM_LineString.controlPoint>
    </jps:GM_LineString>
  </jps:GM_Curve.segment>
</jps:GM_Curve>
(中略)
<jps:GM_Point id="pt398ec">
  <jps:GM_Point.position>
    <jps:DirectPosition>
      <DirectPosition.coordinate>35.18666700 133.49603900</DirectPosition.coordinate>
      <DirectPosition.dimension>2</DirectPosition.dimension>
    </jps:DirectPosition>
  </jps:GM_Point.position>
</jps:GM_Point>
(中略)
<jps:GM_Point id="pt400ec">
  <jps:GM_Point.position>
    <jps:DirectPosition>
      <DirectPosition.coordinate>35.17654100 133.42959900</DirectPosition.coordinate>
      <DirectPosition.dimension>2</DirectPosition.dimension>
    </jps:DirectPosition>
  </jps:GM_Point.position>
</jps:GM_Point>

うーむ、なかなか大変そうなフォーマットになっているなぁ (;´Д`)
住所によっては ksj:EC01 要素が複数あったりするし。

参考までに GM_Point の pt398ec と pt400ec の位置を Google マップ で表示してみた。

鳥取県日野郡日野町

tags: zlashdot GIS Geocoding

Posted by NI-Lab. (@nilab)