現在位置: トップ > YOLP公式ブログ > Tips > 日本国内の住所を緯度経度に変換できる「ジオコーダAPI」を紹介します

ここから本文です

日本国内の住所を緯度経度に変換できる「ジオコーダAPI」を紹介します

[Tips]  2012年12月4日
こんにちは、Yahoo! Open Local Platform (YOLP)の櫻井です。いつもYOLPをご利用いただきありがとうございます。本日はYahoo!ジオコーダAPIについてご紹介したいと思います。

Yahoo!ジオコーダAPIとは

Yahoo!ジオコーダAPIでは、住所を指定してその位置の緯度経度を出力することができます。
早速、こちらを利用して東京ミッドタウンの住所(東京都港区赤坂9-7-1)の緯度経度を取得してみましょう。

リクエストパラメータ
http://geo.search.olp.yahooapis.jp/OpenLocalPlatform/V1/geoCoder?appid=<あなたのアプリケーションID>&query=%E6%9D%B1%E4%BA%AC%E9%83%BD%E6%B8%AF%E5%8C%BA%E8%B5%A4%E5%9D%829-7-1
<あなたのアプリケーションID>には、ご自身のアプリケーションIDを入れてください。アプリケーションIDについてはこちらをご覧ください。


レスポンス

<YDF xmlns="http://olp.yahooapis.jp/ydf/1.0" totalResultsReturned="1" totalResultsAvailable="1" firstResultPosition="1">
  <ResultInfo>
    <Count>1</Count>
    <Total>1</Total>
    <Start>1</Start>
    <Status>200</Status>
    <Description/>
    <Copyright/>
    <Latency>0.276</Latency>
  </ResultInfo>
  <Feature>
    <Id>13103.1.9.7.1</Id>
    <Gid/>
    <Name>東京都港区赤坂9丁目7-1</Name>
    <Geometry>
      <Type>point</Type>
      <Coordinates>139.73125876,35.66620200</Coordinates>
      <BoundingBox>139.72723230,35.66434522 139.73358755,35.66905485</BoundingBox>
    </Geometry>
    <Category/>
    <Description/>
    <Style/>
    <Property>
      <Uid>76f13503869a2c95092db28ab118e1ceb3e66c10</Uid>
      <CassetteId>b22fee69b0dcaf2c2fe2d6a27906dafc</CassetteId>
      <Yomi>トウキョウトミナトクアカサカ9チョウメ</Yomi>
      <Country>
        <Code>JP</Code>
        <Name>日本</Name>
      </Country>
      <Address>東京都港区赤坂9丁目7-1</Address>
      <GovernmentCode>13103</GovernmentCode>
      <AddressMatchingLevel>6</AddressMatchingLevel>
    </Property>
  </Feature>
</YDF>

京都通り名にも対応

Yahoo!ジオコーダAPIでは、レスポンスの住所に対して正確に緯度経度が取得できるようさまざまな工夫がされています。

例えば、京都市の中心街では「京都市○○区△△通□□【上る・下る・東入・西入】××町」のように、町名のみ(町名+番地)の表示ではなく、「町名」と「通り名」を併記して表すことが多いです。

これは京都市中心街が南北と東西に直交する街路により「碁盤の目」状に整備されているため、町名だけの表現よりも「(南北・東西)通り」と、その交差点を基点とした方角「上る(北)」「下る(南)」「西入(西)」「東入(東)」を併用した住所表現の方がより適しているからです。
そのため「町名抜き」や「番地なし」でも、場所が示せることも多々あります。



さて、この京都通り名を含む住所でも、Yahoo!ジオコーダAPIでは正しく緯度経度を取得することができます。京都市役所の住所「京都府京都市中京区寺町通御池上る上本能寺前町488番地」で試してみましょう。

リクエストパラメータ
http://geo.search.olp.yahooapis.jp/OpenLocalPlatform/V1/geoCoder?appid=<あなたのアプリケーションID>&query=%E4%BA%AC%E9%83%BD%E5%BA%9C%E4%BA%AC%E9%83%BD%E5%B8%82%E4%B8%AD%E4%BA%AC%E5%8C%BA%E5%AF%BA%E7%94%BA%E9%80%9A%E5%BE%A1%E6%B1%A0%E4%B8%8A%E3%82%8B%E4%B8%8A%E6%9C%AC%E8%83%BD%E5%AF%BA%E5%89%8D%E7%94%BA488%E7%95%AA%E5%9C%B0

レスポンス

<YDF xmlns="http://olp.yahooapis.jp/ydf/1.0" totalResultsReturned="1" totalResultsAvailable="1" firstResultPosition="1">
  <ResultInfo>
    <Count>1</Count>
    <Total>1</Total>
    <Start>1</Start>
    <Status>200</Status>
    <Description/>
    <Copyright/>
    <Latency>0.146</Latency>
  </ResultInfo>
  <Feature>
    <Id>26104.88.488</Id>
    <Gid/>
    <Name>京都府京都市中京区上本能寺前町488</Name>
    <Geometry>
      <Type>point</Type>
      <Coordinates>135.76803169,35.01163869</Coordinates>
      <BoundingBox>135.76685838,35.01102286 135.76853019,35.01213776</BoundingBox>
    </Geometry>
    <Category/>
    <Description/>
    <Style/>
    <Property>
      <Uid>2e8b2ec2233423a86e6088d0282b3b25a290ecbf</Uid>
      <CassetteId>b22fee69b0dcaf2c2fe2d6a27906dafc</CassetteId>
      <Yomi>キョウトフキョウトシナカギョウクカミホンノウジマエチョウ</Yomi>
      <Country>
        <Code>JP</Code>
        <Name>日本</Name>
      </Country>
      <Address>京都府京都市中京区上本能寺前町488</Address>
      <GovernmentCode>26104</GovernmentCode>
      <AddressMatchingLevel>6</AddressMatchingLevel>
    </Property>
  </Feature>
</YDF>

さまざまな住所文字列にも対応

皆さんが利用する住所データの中には、郵便番号・施設名・ビル名が混在している場合もあると思います。こういったデータでも、Yahoo!ジオコーダAPIでは自動的に住所を最適な文字列に認識し、正しい住所に変換して緯度経度を返却します。例えば以下のような住所の指定に対しても正しく緯度経度が返却されます。

  • 東京スカイツリーの住所「〒131−0045 東京都墨田区押上一丁目1番13号」のリクエスト例

リクエストパラメータ
http://geo.search.olp.yahooapis.jp/OpenLocalPlatform/V1/geoCoder?appid=<あなたのアプリケーションID>&query=%E3%80%92131%E2%88%920045%20%E6%9D%B1%E4%BA%AC%E9%83%BD%E5%A2%A8%E7%94%B0%E5%8C%BA%E6%8A%BC%E4%B8%8A%E4%B8%80%E4%B8%81%E7%9B%AE1%E7%95%AA13%E5%8F%B7

  • 在名古屋アメリカ合衆国領事館の住所「名古屋市中村区那古野1-47-1 名古屋国際センタービル6階」のリクエスト例

リクエストパラメータ
http://geo.search.olp.yahooapis.jp/OpenLocalPlatform/V1/geoCoder?appid=<あなたのアプリケーションID>&query=%E5%90%8D%E5%8F%A4%E5%B1%8B%E5%B8%82%E4%B8%AD%E6%9D%91%E5%8C%BA%E9%82%A3%E5%8F%A4%E9%87%8E1-47-1%20%E5%90%8D%E5%8F%A4%E5%B1%8B%E5%9B%BD%E9%9A%9B%E3%82%BB%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%93%E3%83%AB6%E9%9A%8E

  • 海遊館の住所「〒552-0022 大阪府大阪市港区海岸通1丁目1−10」のリクエスト例

リクエストパラメータ
http://geo.search.olp.yahooapis.jp/OpenLocalPlatform/V1/geoCoder?appid=<あなたのアプリケーションID>&query=%E6%B5%B7%E9%81%8A%E9%A4%A8,%20%E3%80%92552-0022%20%E5%A4%A7%E9%98%AA%E5%BA%9C%E5%A4%A7%E9%98%AA%E5%B8%82%E6%B8%AF%E5%8C%BA%E6%B5%B7%E5%B2%B8%E9%80%9A%EF%BC%91%E4%B8%81%E7%9B%AE%EF%BC%91%E2%88%92%EF%BC%91%EF%BC%90

最後に

YOLPではデベロッパーやユーザーが便利に位置情報コンテンツを利用できるよう、住所や地図に関するさまざまなAPI・SDKを提供しています。
今回ご紹介したYahoo!ジオコーダAPI以外でも、指定した緯度経度の住所情報を取得するYahoo!リバースジオコーダAPIや、住所の階層ごとのデータを取得できる住所ディレクトリAPIなど、さまざまなラインナップがございます。こちらもぜひご活用ください。
今後ともYOLPをよろしくお願いいたします。

YOLPへのご感想やご意見などはFacebookページTwitterアカウント宛に投稿ください。
Facebookページへの
やTwitterアカウントの
RSSリーダーの登録もよろしくお願いします。
グーグルリーダーに登録  Subscribe with livedoor Reader  My Yahoo!に追加

関連する記事



Yahoo!地図アプリ iPhone版/Android版(無料)
Yahoo!地図ブログ
本文はここまでです このページの先頭へ