Geoapifyの互換ホスト

Geoapifyのジオコーディングエンドポイントは、フラットなpropertiesオブジェクトを持つGeoJSONのFeatureCollectionを返します。geoapify.mygeocode.comもrankブロックとdatasourceブロックを含めて同じものを返し、さらにIP情報エンドポイントも備えています。

ホスト名を1つ変えるだけ

元のホスト
  • api.geoapify.com
代わりに使うホストgeoapify.mygeocode.com
キーのパラメーターapiKey(任意:どのアドレスでもキーなしで1日あたり2,500件のリクエストが使えます。クレジット、パッケージ、利用履歴を使うにはここにMy Geocodeのキーを入れてください)
変更前
curl "https://api.geoapify.com/v1/geocode/search?text=Dam+1+Amsterdam&apiKey=YOUR_GEOAPIFY_KEY"
変更後
curl "https://geoapify.mygeocode.com/v1/geocode/search?text=Dam+1+Amsterdam&apiKey=YOUR_MYGEOCODE_KEY"

移行する理由

Geoapifyの無料プランは1日あたり3,000クレジットで、帰属表示が必要です。こちらはキーごとに1日あたり2,500件のリクエストで帰属表示は不要、有料利用にも使い切ってしまう月額プランの段階はありません。

キーの有無にかかわらず、無料枠は同じです。geoapify.mygeocode.comへのリクエストは、お使いのアドレスまたはキーが当社独自のエンドポイントで得ている1日あたり2,500件の無料リクエストと同じ枠から差し引かれます。それを超える分は、プリペイドクレジットで1リクエストあたり€0.0001、またはUnlimitedキーで月額€50です。登録に必要なのはメールアドレスだけです。

料金を見る 無料のキーを取得

エンドポイント

geoapify.mygeocode.comのパス機能バックエンド
/v1/geocode/search?text=...ジオコーディングジオコーディング
/v1/geocode/reverse?lat=...&lon=...逆ジオコーディング逆ジオコーディング
/v1/geocode/autocomplete?text=...オートコンプリート住所オートコンプリート
/v1/ipinfo?ip=...IPジオロケーションIPv4検索

レスポンスの例

上記のリクエストはこれを返します。フィールド名、入れ子構造、型はGeoapifyに準拠しています。その中身のデータだけが当社のものです。

geoapify.mygeocode.comからのレスポンス
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "datasource": { "sourcename": "mygeocode", "attribution": "My Geocode", "license": "https://www.mygeocode.com/terms/" },
        "country": "Netherlands",
        "country_code": "nl",
        "state": "North Holland",
        "city": "Amsterdam",
        "postcode": "1012 JS",
        "street": "Dam",
        "housenumber": "1",
        "lon": 4.893604,
        "lat": 52.373119,
        "formatted": "Dam 1, 1012 JS Amsterdam, Netherlands",
        "address_line1": "Dam 1",
        "address_line2": "1012 JS Amsterdam, Netherlands",
        "result_type": "building",
        "rank": { "importance": 0.41, "confidence": 1, "confidence_city_level": 1, "confidence_street_level": 1, "match_type": "full_match" },
        "place_id": "mg.nl.addr.c21d40e8"
      },
      "geometry": { "type": "Point", "coordinates": [4.893604, 52.373119] },
      "bbox": [4.893004, 52.372719, 4.894204, 52.373519]
    }
  ],
  "query": {
    "text": "Dam 1 Amsterdam",
    "parsed": { "housenumber": "1", "street": "dam", "city": "amsterdam", "expected_type": "building" }
  }
}

詳細と相違点

1日あたり最初の2,500件のリクエストにはキーは不要です。My Geocodeのキーを使う場合は、Geoapifyのキーがあった場所、つまりapiKeyクエリパラメーターに入れてください。X-API-Keyヘッダー、Authorization: Bearer、HTTP Basic認証(キーをユーザー名として使用)もすべてのホストで使えるため、独自の方法で認証するクライアントライブラリも変更なしで動作し続けます。

回答にはGeoapifyが返すフィールドだけが含まれるため、すでにGeoapifyを解析しているコードにレスポンスをそのまま渡せます。当社の追加データ(地表の標高、脅威情報、ネットワークの詳細)はリクエストに応じて利用できます:クエリにmg_extras=1を追加するか、X-MG-Extras: 1を送信してください。

レスポンス内の著作権表示、ライセンス名、利用規約とプライバシーのリンクは、元のプロバイダーのものではなく当社のものです。それ以外はすべて元の形式を保っています。

  • IPエンドポイントはGeoapify独自のオブジェクト形式を返します。
  • 一括ジオコーディングはGeoapifyと同じように動作します:最大1,000件のJSON配列を付けてPOST /v1/batch/geocode/searchまたは/reverseを送ると、ジョブのidurlを含む202が返り、そのurlにGETすると各項目につき1行がquery付きで返ります。各アドレスが1リクエストとして数えられ、結果の取得は数えられません。

お使いのクライアントがここに記載されていないフィールドや動作に依存している場合は、お知らせください。互換性の差異はたいてい小さいため、すぐに修正されます。

その他の互換ホスト

互換ホストの仕組み概要JavaScriptライブラリの互換対応