全てのドキュメントchevron-rightarrow-leftAPIchevron-rightGeocoding V6

Geocoding V6

lightning
Geocoding v6 Private Preview

Geocoding v6のエンドポイントはプライベートプレビューであり、今後変更される可能性があります。

Mapbox Geocoding APIにはフォワードジオコーディングリバースジオコーディングがあります。

フォワードジオコーディングでは2 Lincoln Memorial Circle SW-77.050,38.889というように位置情報を地理座標に変換します。

リバースジオコーディングでは-77.050,38.8892 Lincoln Memorial Circle SWというように地理座標を位置情報に変換します。この地名は、個々の住所から、与えられた座標を含む州や国まで、さまざまな種類の名前があります。

book
Geocoding v6の新機能とは
  • 構造化入力では、クエリを構成要素に分解して精度を高めることができます。
  • Smart Address Matchは、アドレス型機能に対するすべてのレスポンスでmatch_codeオブジェクトを利用可能にし、送信されたクエリに対する結果の対応度を表示します。
  • バッチジオコーディングの改良により、1回のリクエストで最大1000件の混合タイプのクエリを送信できるようになりました。APIレート制限は適用され、各クエリは1リクエストとしてカウントされます。
book
Geocoding v5からの移行について
  • パーマネントとテンポラリのジオコーディングは、異なるエンドポイントではなく、オプションのパラメータで設定されるようになりました。すべてのエンドポイントのデフォルトの動作は、一時的なジオコーディングです。
  • フォワードジオコーディングとリバースジオコーディングがそれぞれ別のエンドポイントを持つようになりました。
  • バッチジオコーディングが独自のエンドポイントを持つようになりました。
  • Geocoding v6 APIではPOIデータの提供を終了しました。
  • ストリートがフィーチャタイプとして返されるようになり、typesパラメータでフィルタリングできるようになりました。
book
日本におけるジオコーディングについて
  • Geocoding v6では、日本の住所と場所の検索が可能になりました。
  • 高精度・高カバレッジの新しい日本検索を利用するためには、以下の方法で2つのオプションのリクエストパラメータを設定する必要があります。
    • language=ja
    • country=jp
  • 日本ジオコーディングのレスポンスには、以下のようにスクリプトの種類ごとに日本語の読み方に相当する一意のfeature.properties.readingオブジェクトも含まれます。
{
  ja-Kana:"ヤマグチケンシモノセキシシンアカダニシマチ"
  ja-Latn:"yamaguchiken shimonosekishi shinakadanishimachi"
}

Mapbox Geocoding APIの背景情報とその仕組みについては、How geocoding works guideをご参照ください。

また、Mapbox Geocoding APIを直接使用するのではなく、ラッパーライブラリを使用してアプリケーションに統合することもできます。

playground
Geocoding APIプレイグラウンド

ジオコーディングのフォワード、リバースの両方のクエリを試し、結果をマップ上で確認することができます。

chevron-right

エンドポイント

The Geocoding API includes three different endpoints: /forward, /reverse, and /batch.

フォワード

get
https://api.mapbox.com/search/geocode/v6/forward?q={query}

リバース

get
https://api.mapbox.com/search/geocode/v6/reverse?longitude={longitude}&latitude={latitude}

バッチ

post
https://api.mapbox.com/search/geocode/v6/batch

Geographic Feature Types(地理的特徴タイプ)

Mapbox geocoder では、さまざまなタイプの地理的特徴を利用できます。どのタイプも、トップレベルのレスポンスのコンテキストとして、またはtypesパラメータを使用したフィルタリングオプションとして表示されるかもしれません。また、すべての特徴が世界のすべての地域で利用可能または関連するわけではありません。世界の行政階層を正しく把握するために、必要に応じて新しいタイプが追加されることがあります。

地理的特徴の種類は、大きいものから順に列挙されています。

タイプ説明
country一般に認められている国、または香港のようにISO 3166-1に基づく指定国コードを与えられている準国家的な行政状態の地域。
region米国やカナダの州、中国の省など、上位のサブナショナルな行政機能。
postcode国別のナショナルアドレス制度で使用される郵便番号。
district郵便番号の表記にレイヤを追加している国(例:中国の県)において、最上位行政区画よりも小さいが、一般的に都市よりも大きい特徴を持つもの。
place通常は、都市、村、自治体など。これらは通常、郵便の宛名書きに使われる機能で、現在地のコンテキストが必要なエンドユーザー向けのアンビエントアプリケーション(例えば、天気予報の表示など)での表示に適している。
locality郵便の宛名書きにこのような追加の行政レイヤが使用されている国、またはこのような特徴が地元で一般的に呼ばれている国に存在する公式のサブシティの特徴。例えば、ブラジルやチリの市区、フランスのアロンディス(arrondissements)などがある。
neighborhoodローカルな言い回しで呼ばれることが多い、口語的なサブシティの特徴。地域性とは異なり、正式な位置づけがなく、普遍的に合意された境界線がない場合がある。
street1つまたは複数のアドレスをホストしているストリート機能。
block日本の住所にのみ割り当てられた特別な機能タイプ。
address個人の住宅または企業の住所。

データの保存

MapboxのGeocoding APIは、パーマネントテンポラリの2種類の結果保存を提供します。

テンポラリ結果はキャッシュさ れませんが、パーマネント結果はキャッシュされ、無期限で保存されます。

Geocoding APIでパーマネントストレージを使用するには、有効なクレジットカードが登録されているか、エンタープライズ契約が必要です。

デフォルトでは、ジオコーダーはテンポラリジオコーディングを使用します。パーマネントジオコーディングを使用するには、オプションのpermanentパラメータをtrueに設定します。

フォワードジオコーディング

get
https://api.mapbox.com/search/geocode/v6/forward?q={query}

フォワードジオコーディングクエリタイプでは、名前で場所を調べ、その標準的な住所、地理的なコンテキスト、座標を返すことができます。

必須パラメータタイプ説明
q文字列検索しようとしている機能。住所、都市名など。検索テキストは、URLエンコードされたUTF-8文字列として表現されるべきであり、セミコロン文字を含んではならない(生でもURLエンコードでも)。検索テキストは、デコードされた後、スペースと句読点で区切られた最大20個の単語と数字、最大256文字で構成されていなければならない。

フォワードジオコーディングリクエストから返される座標の精度は、クエリ内の住所がどのようにフォーマットされているかに影響されることがあります。アドレスのフォーマットに関するベストプラクティスについては、アドレスジオコーディングフォーマットガイドを参照してください。
access_token文字列ジオコーディングのリクエストには、アクセストークンが必須。

以下のオプションのパラメータを使用すると、フォワードジオコーディングクエリの結果をさらに絞り込むことができます。

オプションパラメータタイプ説明
permanentブール値クエリの結果を保存する(true)かしない(false、デフォルト)かを指定。
autocompleteブール値Specify whether to return autocomplete results (true, default) or not (false). When autocomplete is enabled, results will be included that starオートコンプリートの結果を返すかどうか(true、デフォルト)、または返さないか(false)を指定する。オートコンプリートを有効にすると、文字列と完全に一致する結果だけでなく、要求された文字列で始まる結果も含まれるようになります。たとえば、Indiaを検索すると、オートコンプリートを有効にした場合はIndiaIndianaの両方が返されますが、無効にした場合はIndiaのみが返されます。

オートコンプリートが有効な場合、各ユーザーのキー入力は、Geocoding APIへの1つのリクエストとしてカウントされます。たとえば、「Cali」を検索すると、4つの別々のGeocoding APIリクエストとして反映されます。送信されるリクエストの合計を減らすには、特定の文字数が入力された後にのみ Geocoding APIを呼び出すようにアプリケーションを構成することができます。
bbox数値指定されたバウンディングボックスに含まれるものだけに結果を限定する。バウンディングボックスは、minLonminLatmaxLonmaxLatの順に、カンマで区切られた4つの数値で指定。バウンディングボックスは、180度子午線を越えることはできません。
country文字列結果を1つまたは複数の国に限定する。許可される値は、ISO 3166 alpha 2の国コードをカンマで区切って指定。
format文字列結果の応答形式を指定(geojson、デフォルト)または後方互換性(v5)のため。
language文字列レスポンスに含まれるテキストの言語を設定する。また、結果のスコアリングにも影響し、ユーザーのクエリに要求された言語で一致する結果は、他の言語で一致する結果よりも優先さ れる。例えば、オートコンプリートでFrankで始まるものを検索した場合、英語(en)言語パラメータではFrankfurtが最初の結果として返されますが、ドイツ語(de)言語パラメータではFrankreich(「フランス」)が最初の結果として返されます。

オプションは、必須のISO 639-1言語コードと、オプションとして国やスクリプトを表す1つ以上のIETFサブタグからなるIETF language tags comprised of a mandatory ISO 639-1言語タグです。

また、値は1つだけ指定することができます。

具体的にどの言語に対応しているかについては、言語対応をご覧ください。
limit整数返す結果の最大数を指定。デフォルトは5で、サポートされる最大値は10
proximity文字列この場所に近い結果を優先するように、応答を偏らせる。コンマで区切られた2つの座標を経度緯度の順に指定するか、IPの逆引きに基づくバイアスをかけるためにipという文字列を指定します。
types文字列利用可能なフィーチャータイプのサブセット(1つまたは複数)のみを含むように結果をフィルタリングします。オプションは、country region postcode, district, place, locality, neighborhood, street, addressです。複数のオプションをカンマ区切りで指定することができます。

利用可能な型の詳細についてはデータ型を参照してください。
worldview文字列様々な地域、文化、政治的集団に属する視聴者によって異なる定義がなされる特徴を返す。利用可能な世界観は、arcninjpmarutrusです。worldviewが設定されていない場合、デフォルトでusの世界観の境界線が返されます。

worldviewパラメータの使用方法については、worldviewを参照してください。

リクエスト例 : フォワードジオコーディング

# A basic forward geocoding request
# Find Los Angeles

$ curl "https://api.mapbox.com/search/geocode/v6/forward?q=Los%20Angeles&access_token=YOUR_MAPBOX_ACCESS_TOKEN"

# Find a town called 'Chester' in a specific region
# Add the proximity parameter with local coordinates
# This ensures the town of Chester, New Jersey is in the results

$ curl "https://api.mapbox.com/search/geocode/v6/forward?q=chester&proximity=-74.70850,40.78375&access_token=YOUR_MAPBOX_ACCESS_TOKEN"

# Specify types=country to search only for countries named Georgia
# Results will exclude the American state of Georgia

$ curl "https://api.mapbox.com/search/geocode/v6/forward?q=georgia&types=country&access_token=YOUR_MAPBOX_ACCESS_TOKEN"

# Limit the results to two results using the limit option
# Even though there are many possible matches
# for "Washington", this query will only return two results.

$ curl "https://api.mapbox.com/search/geocode/v6/forward?q=Washington&limit=2&access_token=YOUR_MAPBOX_ACCESS_TOKEN"

# Search for the Place feature "Kaaleng" in the Ilemi Triangle. Specifying the cn worldview will return the country value South Sudan. Not including leaving the worldview parameter would default to the us worldview and return the country value Kenya.

$ curl "https://api.mapbox.com/search/geocode/v6/forward?q=Kaaleng&worldview=cn&access_token=YOUR_MAPBOX_ACCESS_TOKEN"

レスポンス:フォワードジオコーディング

Geocoding API レスポンスオブジェクトを参照。

Structured Input(構造化されたインプット)

New in v6

Structured Inputは、Forward geocoding検索の一種で、検索クエリの各要素の特徴タイプをタイプ別に定義することができます。これにより、きちんとした形式のデータセットに対する結果の精度を高めることができます。Structured Inputを使用するには、qパラメータを削除して、個々のフィーチャコンポーネント用の個別のパラメータを使用する必要があります。

Structured Inputのリクエストは、次のようなクエリに置き換えて行うことができます。
q=1600%20Pennsylvania%20Avenue%20Washington,%20D.C.%2020500

address_number=1600&street=Pennsylvania%20Avenue&place=Washington,%20D.C.&postcode=20500

最適な結果を得るには、クエリの各要素にフィーチャタイプを割り当て、オートコンプリートfalseに設定する必要があります。

Structured Inputクエリでは、以下のフィーチャータイプを定義することができます。

オプションパラメータタイプ説明
address_line1文字列address_numberとstreetを含む文字列。これらの値は、別のパラメータとして指定することも可能である。
address_number文字列家にまつわる番号
street文字列住所に含まれる通りの名前
block文字列日本のような一部の国においては、ブロックはアドレスの構成要素。
place文字列一般的には、都市、村、自治体など。これらは通常、郵便の宛名書きに使われる機能で、現在地のコンテキストが必要なエンドユーザー向けのアンビエントアプリケーション(例えば、天気予報の表示など)での表示に適しています
region文字列米国やカナダの州、中国の省など、トップレベルのサブナショナルな行政機能。
postcode文字列国別のナショナルアドレス制度で使用される郵便番号。
locality文字列郵便の宛名書きにこのような付加的な行政層が使用されている国、またはこのような特徴が現地で一般的に呼ばれている国に存在する公式な副市の特徴。例えば、ブラジルやチリの市区、フランスのアロンディス(arrondissements)などがある。
neighborhood文字列ローカルな言い回しで呼ばれることが多い、口語的なサブシティの特徴。地域の特徴とは異なり、これらは一般的に公式の地位を持たず、普遍的に合意された境界を持たない場合があります。リバースジオコーディングのリクエストには使用できません。
country文字列一般に認められている国、または香港のようにISO 3166-1に基づく指定国コードを与えられている準国家的な行政状態の地域。

リクエスト例 : Structured Input

$ curl --location --request GET "https://api.mapbox.com/search/geocode/v6/forward?access_token=YOUR_MAPBOX_ACCESS_TOKEN&country=us&address_number=1600&street=pennsylvania%20ave%20nw&postcode=20500&place=Washington%20dc"

リバースジオコーディング

get
https://api.mapbox.com/search/geocode/v6/reverse?longitude={longitude}&latitude={latitude}

リバースジオコーディングのクエリタイプでは、一対の座標を検索し、標準的な住所や場所、および全地域のコンテキストを含む、そこの地理的特徴を返すことができます。

必須パラメータタイプ説明
longitude数値照会する場所の地理座標からの経度10進数値。
latitude数値照会する場所の地理座標からの緯度10進数値。
access_token文字列ジオコーディングのリクエストには、アクセストークンが必須。

リバースジオコーディングクエリの結果は、以下のオプションパラメータでさらに絞り込むことができます。

オプションパラメータタイプ説明
permanentブール値クエリの結果を保存する(true)かしない(false、デフォルト)かを指定。
country文字列結果を1つまたは複数の国に限定する。許可される値はISO 3166 alpha 2の国コードをカンマで区切って指定します。
language文字列ユーザーの言語を指定する。このパラメータは、レスポンスで供給されるテキストの言語を制御します。

オプションは、必須のISO 639-1言語コードと、オプションとして国やスクリプトを表す1つ以上のIETFサブタグからなるIETF言語タグです。

また、値は1つだけ指定することができます。

具体的にどの言語に対応しているかについては、言語対応をご覧ください。
limit整数返す結果の最大数を指定します。デフォルトは1、サポートされる最大数は5です。

リバースジオコーディングのデフォルトの動作は、行政階層の複数のレベル(例えば、1つの住所、1つの地域、1つの国)のそれぞれで最大1つのフィーチャを返すことです。制限を増やすと、同じタイプの複数のフィーチャを返すことができますが、1つのタイプに限られます(たとえば、複数の住所結果)。したがって、limitをデフォルト値よりも高い値に設定するには、typesパラメータを正確に1つ指定する必要があります。
types文字列利用可能なフィーチャタイプのサブセット(1つまたは複数)のみを含むように結果をフィルタリング。オプションは、country region postcode, district, place, locality, neighborhood, street, addressです。複数のオプションをカンマ区切りで指定することができます。

利用可能な型の詳細についてはデータ型を参照してください。
worldview文字列様々な地域、文化、政治的集団に属する視聴者によって異なる定義がなされる特徴を返す。利用可能なworldviewは、arcninjpmarutrusです。worldviewが設定されていない場合、デフォルトでusのものが返されます。

worldviewパラメータの使用方法については、worldviews sectionを参照してください。

リクエスト例:リバースジオコーディング

# A basic reverse geocoding request
# Retrieve places near a specific location

$ curl "https://api.mapbox.com/search/geocode/v6/reverse?longitude=-73.989&latitude=40.733&access_token=YOUR_MAPBOX_ACCESS_TOKEN"

# Filter results to only include addresses

$ curl "https://api.mapbox.com/search/geocode/v6/reverse?longitude=-73.989&latitude=40.733&types=address&access_token=YOUR_MAPBOX_ACCESS_TOKEN"

# Query within the Ilemi Triangle to return features for the us worldview

$ curl "https://api.mapbox.com/search/geocode/v6/reverse?longitude=35.4628&latitude=4.8975&worldview=us&access_token=YOUR_MAPBOX_ACCESS_TOKEN"

レスポンス:リバースジオコーディング

リバースジオコーディングクエリの APIレスポンスは、Mapbox Geocoding ResponseフォーマットのGeoJSON機能コレクションを返します。Geocoding API からの応答がどのようにフォーマットされるかの詳細については、Geocoding APIレスポンスオブジェクトを参照してください。

バッチジオコーディング

Improved in v6
post
https://api.mapbox.com/search/geocode/v6/batch

バッチジオコーディングクエリタイプでは、1回のリクエストで最大1000件のフォワードまたはリバースジオコーディングクエリをリクエストすることができます

バッチジオコーディングリクエストは、リクエストのBODYとして渡されるJSONオブジェクトとしてフォーマットされますが、複数の検索クエリが次々に表示されます。URL文字列でクエリパラメーターとして定義されていたフィールドは、JSONオブジェクトのフィールドとなります。

1つのバッチジオコーディングリクエストで、フォワードクエリ、フォワード構造入力クエリ、リバースクエリなど、さまざまなタイプのクエリをバンドルすることができます。例えば、あるクエリではIPプロキシミティがオンに設定され、他のクエリではオフに設定されるなど、各クエリに個別にパラメータを設定することも可能です。

book
ジオコーディング一括依頼時の課金について

一括ジオコーディングリクエストの個々の検索は、1つのリクエストとしてカウントされます。

ジオコーディングの一括リクエストは、以下のボディを持つHTTP POSTリクエストで行うことができます。

https://api.mapbox.com/search/geocode/v6/batch

リクエストボディ

[
    {
        "types": ["address"],
        "q": "1600 Pennsylvania Avenue NW, Washington, DC 20500, United States",
        "bbox": [-80, 35, -70, 40],
        "limit": 1
    },
    {
        "types": ["address"],
        "longitude": -73.986136,
        "latitude": 40.748895
    }
]
必須パラメータタイプ説明
access_token文字列ジオコーディングのリクエストには、アクセストークンが必須。
オプションパラメータタイプ説明
permanentブール値クエリの結果を保存するかどうか (true) を指定する (false, デフォルト)。

リクエスト例:バッチジオコーディング

$ curl --location --request POST "https://api.mapbox.com/search/geocode/v6/batch?access_token=YOUR_MAPBOX_ACCESS_TOKEN" \
--header 'Content-Type: application/json' \
--data-raw '[
    {/**** FORWARD GEOCODING REQUEST ****/
        "types": ["address"],
        "q": "1600 Pennsylvania Avenue NW, Washington, DC 20500, United States",
        "bbox": [-80, 35, -70, 40],
        "limit": 1
    },
    { /**** FORWARD GEOCODING REQUEST USING STRUCTURED INPUT ****/
        "country": "us",
        "address_number": "1600",
        "street": "Pennsylvania Avenue NW",
        "postcode": "20500",
        "place": "Washington, DC"
    },
    {/**** REVERSE GEOCODING REQUEST ****/
        "types": ["address"],
        "longitude": -73.986136,
        "latitude": 40.748895
    }
]'

レスポンス:バッチジオコーディング

バッチジオコーディングクエリのレスポンスは、バッチプロパティを持つオブジェクトです。バッチプロパティはGeoJSONフィーチャコレクション形式の結果の配列です。リクエスト内のクエリの順序は、バッチ配列内の対応するオブジェクトの順序を決定します。バッチ内の特定のクエリに対して結果が返されない場合、そのクエリの特徴配列は空になります( "features": [] )

ここでは、3つのクエリのリストがあるリクエストの例を示します。最初の2つのリクエストはフォワードジオコーディングで、最後の1つはリバースジオコーディングです。

$ curl --location --request POST 'https://api.mapbox.com/search/geocode/v6/batch?access_token=YOUR_MAPBOX_ACCESS_TOKEN&permanent=true' \
--header 'Content-Type: application/json' \
--data-raw '[
    {
        "types": ["address"],
        "q": "1600 Pennsylvania Avenue NW, Washington, DC 20500, United States",
        "bbox": [-80, 35, -70, 40],
        "limit": 1
    },
    {
        "types": ["address"],
        "q": "aslkdjf",
        "bbox": [-80, 35, -70, 40]
    },
    {
        "types": ["address"],
        "longitude": -73.986136,
        "latitude": 40.748895
    }
]'

レスポンスでは、結果はリクエストのクエリと同じ順番になっていることに注意してください。2番目のクエリaslkdjfは結果を返しませんが、配列の2番目の位置にまだ存在しています。

{
  "batch": [
    {
      "type": "FeatureCollection",
      "features": [
        {
          "type": "Feature",
          "geometry": {
            "type": "Point",
            "coordinates": [-77.03655, 38.89768]
          },
          "properties": {
            "mapbox_id": "address.79487136243238",
            "feature_type": "address",
            "name": "1600 Pennsylvania Avenue Northwest",
            "coordinates": {
              "longitude": -77.03655,
              "latitude": 38.89768,
              "accuracy": "rooftop"
            },
            "place_formatted": "Washington, District of Columbia 20500, United States",
            "street": "Pennsylvania Avenue Northwest",
            "address_number": "1600",
            "match_code": {
              "confidence": "exact"
            },
            "context": {
              "neighborhood": {
                "id": "neighborhood.429993196",
                "name": "National Mall"
              },
              "postcode": {
                "id": "postcode.63000300",
                "name": "20500"
              },
              "place": {
                "id": "place.345549036",
                "name": "Washington",
                "wikidata_id": "Q61"
              },
              "region": {
                "id": "region.328940",
                "name": "District of Columbia",
                "wikidata_id": "Q3551781",
                "region_code": "DC",
                "region_code_full": "US-DC"
              },
              "country": {
                "id": "country.8940",
                "name": "United States",
                "wikidata_id": "Q30",
                "country_code": "US",
                "country_code_alpha_3": "USA"
              }
            }
          }
        }
      ],
      "attribution": "NOTICE: © 2022 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service (https://www.mapbox.com/about/maps/). This response and the information it contains may not be retained."
    },
    {
      "type": "FeatureCollection",
      "features": [],
      "attribution": "NOTICE: © 2022 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service (https://www.mapbox.com/about/maps/). This response and the information it contains may not be retained."
    },
    {
      "type": "FeatureCollection",
      "features": [
        {
          "type": "Feature",
          "geometry": {
            "type": "Point",
            "coordinates": [ -73.9861365, 40.7488949]
          },
          "properties": {
            "mapbox_id": "address.3300040920421386",
            "feature_type": "address",
            "name": "20 West 34th Street",
            "coordinates": {
              "longitude": -73.9861365,
              "latitude": 40.7488949,
              "accuracy": "rooftop"
            },
            "place_formatted": "New York, New York 10118, United States",
            "street": "West 34th Street",
            "address_number": "20",
            "context": {
              "neighborhood": {
                "id": "neighborhood.338136300",
                "name": "Koreatown"
              },
              "postcode": {
                "id": "postcode.25169644",
                "name": "10118"
              },
              "locality": {
                "id": "locality.338856684",
                "name": "Manhattan",
                "wikidata_id": "Q11299"
              },
              "place": {
                "id": "place.233720044",
                "name": "New York",
                "wikidata_id": "Q60"
              },
              "district": {
                "id": "district.17000172",
                "name": "New York County",
                "wikidata_id": "Q500416"
              },
              "region": {
                "id": "region.107756",
                "name": "New York",
                "wikidata_id": "Q1384",
                "region_code": "NY",
                "region_code_full": "US-NY"
              },
              "country": {
                "id": "country.8940",
                "name": "United States",
                "wikidata_id": "Q30",
                "country_code": "US",
                "country_code_alpha_3": "USA"
              }
            }
          }
        }
      ],
      "attribution": "NOTICE: © 2022 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service (https://www.mapbox.com/about/maps/). This response and the information it contains may not be retained."
    }
  ]
}

ジオコーディングレスポンスオブジェクト

Geocoding APIリクエストのレスポンスは、以下のプロパティを含むオブジェクトとなります。

プロパティタイプ説明
type文字列"FeatureCollection"GeoJSON仕様のGeoJSONタイプ。
features配列フィーチャオブジェクトの配列。
フォワードジオコーディング: 返されたフィーチャは、関連性の高い順に並べられます。
リバースジオコーディング: 返されたフィーチャは、検索された座標と重なるフィーチャが最も多いものから少ないものへと、インデックス階層で並べられます。

返された特徴がGeocoding APIレスポンスでどのように整理されるかについては、検索結果の優先順位付けガイドをご覧ください。
attribution文字列Mapbox Geocoding APIの結果をMapboxに帰属させる。

Mapboxのジオコーディングデータは常に更新・改善されています。このため、レスポンスオブジェクトのプロパティの値は保証されず、API の同一バージョン内で変更される可能性があります。プロパティは、同じ API バージョン内でレスポンスに追加されることはあっても、削除されることはありません。

フィーチャ配列に含まれる各フィーチャオブジェクトは、以下のような特性を持ちます。

プロパティタイプ説明
id文字列フィーチャid
type文字列"Feature"GeoJSON仕様のGeoJSONタイプ。
geometryオブジェクト返されたフィーチャの空間ジオメトリを記述するオブジェクト。
geometry.type文字列"Point"GeoJSON仕様のGeoJSONタイプ。
geometry.coordinates配列指定したbboxの中心に[longitude,latitude]のフォーマットで配列する。

フィーチャ内の各プロパティオブジェクトは、以下のような属性を持ちます。

プロパティタイプ説明
mapbox_id文字列フィーチャid
feature_type文字列フィーチャの種類を表す文字列。オプションはcountryregionpostcodedistrictplacelocalityneighborhoodaddress
v5では、place_typeでした。
address_number数値家屋番号または建物番号。
v5ではaddressでした。
street文字列住所の通り名
v5ではtextでした。
name文字列Address_numberとstreetのフォーマットされた文字列。
v5ではplace_nameでした。
name_preferred文字列フィーチャ名の正規の別名、またはより一般的な別名。
place_formatted文字列結果文脈の書式付き文字列:場所、地域、国、郵便番号。結果のうち、nameの後に来る部分。
contextオブジェクト親フィーチャを含む階層を表すオブジェクト。 住所には address コンテキストオブジェクトも含まれ、これは streetaddress_number プロパティを個別に分割して含んでいます。各親フィーチャは、上記のプロパティのいずれかを含むことができます。 country, region, postcode, district, place, locality, neighborhood, address
coordinatesオブジェクト
coordinates.longitude数値結果の経度
coordinates.latitude数値結果の緯度
coordinates.accuracy数値返されたアドレスタイプの結果の精度メトリック。後述の「住所型機能のポイント精度」を参照。
match_codeオブジェクト結果コンポーネントが入力クエリにどのように一致するかを示す追加のメタデータ。後述の「スマートアドレスマッチ」を参照。

コンテキストオブジェクト

propertiesの中のcontextオブジェクトは、与えられた住所や場所の地理的な階層を完全に分割する強力なデータの一部である。 これは、住所の各構成要素の名前付き値にアクセスする信頼性の高い方法であり、さらにWikidata idや3文字のアルファ国コードなどの特徴的なデータも含んでいます。

コンテキストの各要素には、常にidとnameが関連付けられています。 idは、フォワードジオコーディング検索で直接取得し、別の地理層に移動させることができます。

コンテキストオブジェクトの例

以下は、アドレス「2595 Lucky John Drive, Park City, Utah 84060, United States」に対して返されるコンテキストオブジェクトの例です。

"context": {
  "address": {
    "id": "address.6138109690120274",
    "street_name": "Lucky John Drive",
    "address_number": "2595",
    "name": "2595 Lucky John Drive"
  },
  "street": {
    "id": "street.6138109690120274",
    "name": "Lucky John Drive"
  },
  "neighborhood": {
    "id": "neighborhood.483568876",
    "name": "Park Meadows"
  },
  "postcode": {
    "id": "postcode.287166188",
    "name": "84060"
  },
  "place": {
    "id": "place.251619564",
    "name": "Park City",
    "wikidata_id": "Q482993"
  },
  "district": {
    "id": "district.22333164",
    "name": "Summit County",
    "wikidata_id": "Q484563"
  },
  "region": {
    "id": "region.410860",
    "name": "Utah",
    "wikidata_id": "Q829",
    "region_code": "UT",
    "region_code_full": "US-UT"
  },
  "country": {
    "id": "country.8940",
    "name": "United States",
    "wikidata_id": "Q30",
    "country_code": "US",
    "country_code_alpha_3": "USA"
  }
}

マッチコード

マッチコードはaddressフィーチャのジオコーディングレスポンスオブジェクトの一部である。 マッチコードは、結果がクエリ文字列とどの程度一致するかを、各住所の構成要素ごとに示し、 各アドレスフィーチャは matchedunmatchedとしてスコアリングされ、総合的な confidence スコアが与えられ、結果がトータルでどの程度クエリ文字列と一致したかを示します。

addressフィーチャのポイント精度

Geocoding APIレスポンスオブジェクトの coordinates.accuracy プロパティは、返された address フィーチャのポイント精度メトリックです。このリストは変更される可能性があります。

Accuracy(精度)説明
rooftop特定の建物・エントランスを対象とした結果。
parcel結果はパーセルセントロイドから得られる。
proximate結果は、既知の住所点であるが、既知の屋上や区画と交差していない。

スマートアドレスマッチ

New in v6

Geocoding APIのmatch_codeオブジェクトは、結果の住所フィーチャが送信されたクエリとどのように一致しているかを理解するのに最適です。 住所タイプのフィーチャに対してのみ利用可能な match_code は、結果の各要素がクエリとどのようにマッチするかの内訳と、マッチ度合いに基づく全体的な Confidence スコアを提供します。 これは、クエリのファジーマッチングに対するアプリケーションの許容範囲に基づいて、どの結果を残すか、または放棄するかを決定するのに役立ちます。

スマートアドレスマッチは、addressタイプのフィーチャを返すすべてのフォワードジオコーディングリクエストで利用できます。 リクエストのコンポーネントを明確にタイプする必要があるため、Structured Input forward queryを使用する場合に効果的です。

Confidence(信頼性)スコア説明
high1つのコンポーネント(house_numberやregionを除く)が修正された可能性があります。また、house_number、street、postcode のみが提供され、一致する場合は、高い信頼度が返されます。
medium2 つのコンポーネント(house_number、region を除く)が変更された可能性があります。軽微なスペルミスを含む可能性があります。house_number、street、place、postcodeが一致する場合、regionを修正することができます。
lowハウスナンバー、地域、その他2つ以上のコンポーネントが修正されています
マッチコード説明
matchedコンポーネント値がユーザーの入力と一致する。
unmatchedコンポーネント値がユーザーの入力と一致しないか、ユーザーがクエリの一部としてこのコンポーネントタイプを送信しなかった。
not_applicableこのコンポーネントは、郵便住所の文字列(例:locality)では使用されない。
inferredコンポーネントの種類はクエリの一部として送信されなかったが、値を確信的に埋め込むことができた。 現在、countryコンポーネントに対してのみ返される。
plausibleaddress_numberコンポーネントにのみ関連する。この値はユーザーの入力と一致するが、補間されたものである。 これは、ジオコーダーが通りを見つけ、周囲の既知の住所に基づいて、そのaddress_numberを持つ建物の位置を確信を持って推定できたことを意味する。

マッチコード例

リクエスト

/forward?&address_number=2595&street=lucky john dr&place=park city&region=CO

レスポンス

name:"2595 Lucky John Drive",
place_formatted:"Park City, Utah 84060, United States",
match_code:{
  address_number:"matched",
  street:"matched",
  postcode:"unmatched",
  place:"matched",
  region:"unmatched",
  locality:"not_applicable",
  country:"inferred",
  confidence:"medium",
},

レスポンス例: フォワードジオコーディング

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": { "type": "Point", "coordinates": [-87.92071, 42.16482] },
      "properties": {
        "mapbox_id": "address.892839926089554",
        "feature_type": "street",
        "name": "North Milwaukee Avenue",
        "coordinates": { "longitude": -87.92071, "latitude": 42.16482 },
        "place_formatted": "Deerfield, Illinois 60015, United States",
        "context": {
          "neighborhood": {
            "id": "neighborhood.341437676",
            "name": "Lake Cook Road"
          },
          "postcode": { "id": "postcode.205377260", "name": "60015" },
          "place": {
            "id": "place.82544876",
            "name": "Deerfield",
            "wikidata_id": "Q287895"
          },
          "district": {
            "id": "district.12805868",
            "name": "Lake County",
            "wikidata_id": "Q484263"
          },
          "region": {
            "id": "region.17644",
            "name": "Illinois",
            "wikidata_id": "Q1204",
            "region_code": "IL",
            "region_code_full": "US-IL"
          },
          "country": {
            "id": "country.8940",
            "name": "United States",
            "wikidata_id": "Q30",
            "country_code": "US",
            "country_code_alpha_3": "USA"
          }
        }
      }
    },
    {
      "type": "Feature",
      "geometry": { "type": "Point", "coordinates": [-87.899243, 42.12776] },
      "properties": {
        "mapbox_id": "address.1551691074851980",
        "feature_type": "address",
        "name": "825 South Milwaukee Avenue",
        "coordinates": {
          "longitude": -87.899243,
          "latitude": 42.12776,
          "accuracy": "interpolated"
        },
        "place_formatted": "Wheeling, Illinois 60090, United States",
        "street": "South Milwaukee Avenue",
        "address_number": "825",
        "match_code": { "confidence": "medium" },
        "context": {
          "neighborhood": {
            "id": "neighborhood.409963756",
            "name": "Milwaukee Avenue"
          },
          "postcode": { "id": "postcode.205868780", "name": "60090" },
          "place": {
            "id": "place.355723500",
            "name": "Wheeling",
            "wikidata_id": "Q935043"
          },
          "district": {
            "id": "district.5162732",
            "name": "Cook County",
            "wikidata_id": "Q108418"
          },
          "region": {
            "id": "region.17644",
            "name": "Illinois",
            "wikidata_id": "Q1204",
            "region_code": "IL",
            "region_code_full": "US-IL"
          },
          "country": {
            "id": "country.8940",
            "name": "United States",
            "wikidata_id": "Q30",
            "country_code": "US",
            "country_code_alpha_3": "USA"
          }
        }
      }
    },
    {
      "type": "Feature",
      "geometry": { "type": "Point", "coordinates": [-87.939829, 42.224036] },
      "properties": {
        "mapbox_id": "address.1977292014921416",
        "feature_type": "address",
        "name": "825 Milwaukee Avenue",
        "coordinates": {
          "longitude": -87.939829,
          "latitude": 42.224036,
          "accuracy": "interpolated"
        },
        "place_formatted": "Vernon Hills, Illinois 60061, United States",
        "street": "Milwaukee Avenue",
        "address_number": "825",
        "match_code": { "confidence": "medium" },
        "context": {
          "neighborhood": {
            "id": "neighborhood.604703980",
            "name": "South Vernon Hills"
          },
          "postcode": { "id": "postcode.205655788", "name": "60061" },
          "place": {
            "id": "place.338757868",
            "name": "Vernon Hills",
            "wikidata_id": "Q1973428"
          },
          "district": {
            "id": "district.12805868",
            "name": "Lake County",
            "wikidata_id": "Q484263"
          },
          "region": {
            "id": "region.17644",
            "name": "Illinois",
            "wikidata_id": "Q1204",
            "region_code": "IL",
            "region_code_full": "US-IL"
          },
          "country": {
            "id": "country.8940",
            "name": "United States",
            "wikidata_id": "Q30",
            "country_code": "US",
            "country_code_alpha_3": "USA"
          }
        }
      }
    },
    {
      "type": "Feature",
      "geometry": { "type": "Point", "coordinates": [-87.8921, 42.10698] },
      "properties": {
        "mapbox_id": "address.6946142334774792",
        "feature_type": "street",
        "name": "South Milwaukee Avenue",
        "coordinates": { "longitude": -87.8921, "latitude": 42.10698 },
        "place_formatted": "Prospect Heights, Illinois 60070, United States",
        "context": {
          "neighborhood": {
            "id": "neighborhood.730049772",
            "name": "Wolf Ridge"
          },
          "postcode": { "id": "postcode.205713132", "name": "60070" },
          "place": {
            "id": "place.268830956",
            "name": "Prospect Heights",
            "wikidata_id": "Q576257"
          },
          "district": {
            "id": "district.5162732",
            "name": "Cook County",
            "wikidata_id": "Q108418"
          },
          "region": {
            "id": "region.17644",
            "name": "Illinois",
            "wikidata_id": "Q1204",
            "region_code": "IL",
            "region_code_full": "US-IL"
          },
          "country": {
            "id": "country.8940",
            "name": "United States",
            "wikidata_id": "Q30",
            "country_code": "US",
            "country_code_alpha_3": "USA"
          }
        }
      }
    },
    {
      "type": "Feature",
      "geometry": { "type": "Point", "coordinates": [-87.90284, 42.11827] },
      "properties": {
        "mapbox_id": "address.5576157398106678",
        "feature_type": "street",
        "name": "S Milwaukee Ave",
        "coordinates": { "longitude": -87.90284, "latitude": 42.11827 },
        "place_formatted": "Wheeling, Illinois 60090, United States",
        "context": {
          "neighborhood": {
            "id": "neighborhood.730049772",
            "name": "Wolf Ridge"
          },
          "postcode": { "id": "postcode.205868780", "name": "60090" },
          "place": {
            "id": "place.355723500",
            "name": "Wheeling",
            "wikidata_id": "Q935043"
          },
          "district": {
            "id": "district.5162732",
            "name": "Cook County",
            "wikidata_id": "Q108418"
          },
          "region": {
            "id": "region.17644",
            "name": "Illinois",
            "wikidata_id": "Q1204",
            "region_code": "IL",
            "region_code_full": "US-IL"
          },
          "country": {
            "id": "country.8940",
            "name": "United States",
            "wikidata_id": "Q30",
            "country_code": "US",
            "country_code_alpha_3": "USA"
          }
        }
      }
    }
  ],
  "attribution": "NOTICE: © 2022 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service (https://www.mapbox.com/about/maps/). This response and the information it contains may not be retained."
}

Worldviews

オプションのworldviewパラメータを使用すると、さまざまな地域、文化、または政治グループに属するオーディエンスによって、その特性が異なるように定義される地理的特徴を特定することができます。Geocoding APIは、国および地域データ型のworldviewのみをサポートしていますが、将来的には他のデータ型にも拡張される可能性があります。

利用可能なworldview

Geocoding API は、worldviewパラメータとして、以下の値をサポートしています。

説明
arアルゼンチンのオーディエンス用のフィーチャ
cn中国のオーディエンス用のフィーチャ
inインドのオーディエンス用のフィーチャ
jp日本のオーディエンス用のフィーチャ
maモロッコのオーディエンス用のフィーチャ
ruロシアのオーディエンス用のフィーチャ
trトルコのオーディエンス用のフィーチャ
usアメリカのオーディエンス用のフィーチャ

返されたフィーチャは、上記の国それぞれの政府によって正式に使用が認められていないものです。

各クエリは最大1つの worldviewをサポートします。1 回の検索で複数の worldview をクエリしようとすると、エラーメッセージが表示されます。worldview が選択されていない場合、Geocoding API は us worldview のフィーチャを返します。

worldviewパラメータを利用する

Mapboxでは、worldviewデータフィールドを使用して、さまざまな地域、文化、政治グループに属するオーディエンスによって特性が異なって定義されている地理的特徴を特定します。worldviewを設定すると、所有権や定義が一致しない地域にある住所に対して返される場所の値に影響します。

例えば、東エクアトリア(南スーダン)とトゥルカナ(ケニア)の国境にあるイレミ・トライアングルの住所を例に考えてみましょう。選択したworldviewによって、この場所の住所は異なる国の文脈で返されることになります。

  • worldview=cnの場合、Kaaleng、Eastern Equatoria、South Sudanのいずれかが返されます
  • worldview=usの場合、Kaaleng、Turkana、Kenyaのいずれかが返されます。

つまり、wordlview=cn worldviewとケニア(ke)国フィルタを併用すると、この地域の住所の検索はうまくいきません。代わりに、南スーダン(ss)の国別フィルターと組み合わせてworldview=cnを使用する必要があります。

worldviewcountryパラメータを組み合わせる場合、これらの指標は緩やかに結合しているに過ぎないため、注意が必要です。

worldviewの値を変更すると、地図上に表示される境界線にどのような影響があるのかを示す視覚的な例として、コンパニオンマップの境界線サービスを参照してください。

対応言語

翻訳の可否は言語や地域によって異なります。現在は以下の言語サポートを提供しています。

グローバルカバレッジ

これらの言語は、国、地域、著名な場所のフィーチャにほぼ必ず用意されています。

言語
de ドイツ語en 英語fr フランス語
it イタリア語nl オランダ語

ローカルカバレッジ

これらの言語は、グローバルなカバレッジには劣るかもしれませんが、countryregion、そして広く使われている著名なplace機能では、ほぼ存在します。

言語
ca カタルーニャ語cs チェコ語fi フィンランド語
he ヘブライ語hu ハンガリー語is アイスランド語
ja 日本語ka ジョージア語ko 韓国語
lv ラトビア語nb ノルウェー語(ブークモール)pl ポーランド語
pt ポルトガル語sk スロバキア語sl スロベニア語
sr セルビア語th タイ語tl タガログ語
zh-Hans 簡体字中国語zh-Hant 繁体字中国語

リミテッドカバレッジ

これらの言語は使用されていますが、その範囲は一貫性がなく、地理的な制約があります。

言語
ar アラビア語bg (ブルガリア語)bs (ボスニア語)
da (デンマーク語)es スペイン語id (インドネシア語)
kk カザフ語mn (モンゴル語)sq アルバニア語
ro (ルーマニア語)sv (スウェーデン語)tr トルコ語
zh (中国語)

Geocoding APIのレスポンスのフォーマットやプロパティについては、レスポンスオブジェクトをご参照ください。

Geocoding APIエラー

レスポンスボディメッセージHTTPエラーコード説明
Not Authorized - No Token401クエリにトークンが使用されていません。
Not Authorized - Invalid Token401クエリで使用したアクセストークンを確認してください。
Forbidden403アカウントに問題がある可能性があります。詳しくはアカウントページ をご確認ください。

また、URL制限のあるアクセストークンを使用すると、403エラーになるケースもあります。詳しくはToken management guideを参照してください。
Not Found404クエリで使用したendpointを確認してください。
Not Found404クエリにsearch_textが指定されていません。
BBox is not valid. Must be an array of format [minX, minY, maxX, maxY]422bboxのフォーマットを確認してください。最初の座標ペアはボックスの南西角を、2番目のペアはボックスの北東角を参照する必要があります。
BBox {minX/maxX} value must be a number between -180 and 180422bboxminXmaxXのフォーマットを確認してください。
BBox {minY/maxY} value must be a number between -90 and 90422bboxminYmaxYのフォーマットを確認してください。
BBox {minX/minY} value cannot be greater than {maxX/maxY} value422bboxで使用している座標ペアの値を確認してください。
Type "{input}" is not a known type. Must be one of: country, region, place, district, postcode, locality, neighborhood, and address422クエリで使用したtypeを確認してください。
Stack "{input}" is not a known stack. Must be one of: …422countryパラメータには、有効なISO 3166 alpha 2国コードを指定してください。
Batch queries must include 50 queries or less422ジオコード一括リクエストには、50以上のクエリを含めることはできません。
Query too long {query length}/256 characters422クエリには256文字以上を含めることはできません。
Query too long - {query tokens length}/20 tokens422クエリには、20個以上の単語境界で区切られた文字列(トークンとも呼ばれる)を含めることはできません。
Proximity must be an array in the form [lon, lat]422proximityパラメータには、カンマで区切られた2つの値を指定する必要があります。
Proximity lon value must be a number between -180 and 180422プロキシミティパラメータの経度値を確認してください。
Proximity lat value must be a number between -90 and 90422proximityパラメータの緯度値を確認してください。
"{input}" is not a valid language code422languageパラメータは、必須のISO 639-1言語コードとオプションとして国や文字に関する1つ以上のIETFサブタグからなる有効な IETF言語タグでなければなりません。
options.language should be a list of no more than 20 languages422クエリの言語パラメータには、20以上の言語コードを含めることはできません。
options.language should be a list of unique language codes422languageのカンマ区切りの値はユニークでなければなりません。
limit must be combined with a single type parameter when reverse geocoding422limitパラメータでリバースジオコーディングのリクエストを行う場合、typeパラメータも使用する必要があります。
Rate limit exceeded429設定した料金の上限を超えました。詳しくはアカウントページをご確認ください。

ジオコーディングの制約と制限

Geocoding APIを保護し、サービスの安定性を最大化するため、Geocoding APIリクエストをレート制限しています。

  • デフォルトのGeocoding APIのレート制限は 1 分あたり1000リクエストですが、アカウントごとに調整することができます。Mapboxは、適切と判断した場合、高トラフィックのアプリケーションに対応するため、または不正使用を防止するために、レート制限を自動的に調整する場合があります。
  • レートリミットに達した場合は、HTTPエラーコード429が返されます。
  • If you require a higher rate limit, contact us.

Geocoding APIの価格

  • Billed by requests
  • See rates and discounts per Geocoding API request in the pricing page's Search section

Geocoding APIの使用量は、APIリクエストで測定されます。無料版に含まれるリクエスト数、および無料版に含まれる以上のリクエストあたりのコストについての詳細は料金ページでご確認いただけます。Geocoding APIからの応答は、Mapboxマップと組み合わせてのみ使用できます。

オートコンプリートと価格

Geocoding APIのautocompleteパラメータは、デフォルトで有効になっています。オートコンプリートを有効にして API を使用する場合、キーストロークごとに1つの API リクエストが蓄積されることになります。たとえば、オートコンプリートを有効にして、ユーザーが検索バーに文字を入力するたびに Geocoding APIリクエストを作成するようにアプリケーションを設定した場合、「カリフォルニア」を探して「Cali」と入力したユーザーは、1文字につき1回、4つのGeocoding APIリクエストを作成することになります。

オートコンプリートを有効にしている間のリクエスト数を減らすために、特定の文字数が入力されるまでAPIリクエストの作成を開始するのを待つことができます。Geocoding APIにはリクエストを制限するパラメータが組み込まれていませんが、そのオプションを持つMapbox GL Geocoderを使用するか、アプリケーションに直接記述することができます。

バッチジオコーディングと価格

バッジジオコーディングでは、1つのリクエストで複数のジオコーディングクエリを行うことができます。バッチジオコーディングのリクエストに含まれる個々の検索は、1つのリクエストとしてカウントされます。例えば、3つの検索を含むリクエストは、3つのリクエストとしてカウントされ、そのように課金されます。この3つのリクエストは、統計グラフと請求書に反映されます。