移行

Geoapifyからの移行

Geoapifyは、ジオコーディングをルーティング、プレイス、地図スタイルのAPIとともに1つの apiKey パラメータでまとめて提供しています。これは、1つのアカウントで複数の位置情報機能をまとめて管理したいチームに適しています。ジオコーディングのレスポンスはGeoJSONに似た構造で、features 配列を持ち、各要素は住所フィールド用の properties と座標用の geometry を持っています。

Geoapifyはジオコーディング以外もカバーしているため、そこからの移行が全面的か一切しないかの二択になることはまれです。範囲については慎重に考える価値があります。すべての位置情報機能を一度に移すのか、それともルーティングや地図スタイルは当面Geoapifyに残し、ジオコーディングの呼び出しだけを移すのか。どちらも妥当ですが、必要な作業量は異なり、プロジェクトの途中でそれらが混ざると、どのキーがどのリクエストを認証しているのかについて混乱が生じがちです。

My Geocodeは、ジオコーディング、IP、タイムゾーン、標高、郵便番号の検索APIです。そのため、Geoapify連携のうち、特にジオコーディングの部分を直接置き換えるものです。Geoapify互換ホストはfeatures配列とそのネストされたpropertiesおよびgeometryのフィールドを再現し、レスポンス内の著作権表示、利用規約、プライバシーに関するテキストだけを変更します。フィールドの詳細は/compatibility/geoapify/にあります。

ジオコーディングの呼び出しを移行する作業は次のとおりです。

  • リクエストの送信先をGeoapifyのホストから新しいホストに変更する
  • Geoapifyの apiKey の代わりにMy Geocodeのキーを、クライアントがすでに使っている、サポートされている4つの方式(X-API-KeyAuthorization: Bearer、HTTPベーシック認証、クエリパラメータ)のいずれかで送信する
  • features[0].propertiesfeatures[0].geometry.coordinates を読み取るコードには手を加えない

ルーティングやプレイスの検索を当面Geoapifyに残す場合も、その点は何も変わりません。ジオコーディングの互換ホストは独立して動作し、スタックの他の部分を同時に移行する必要はありません。

料金は、バンドル型のアカウントと非バンドル型のアカウントで、単に金額だけでなく構造そのものが異なる部分です。My Geocodeは、すべての互換ホストを含め、すべてのエンドポイントに同じ料金を適用しています。キーなしで1日2,500件のリクエストが無料、キーごとにネットワーク単位でカウントされる1日2,500件の無料リクエストが追加され、その後は1リクエストあたり€0.0001のプリペイドクレジットか、月額€50のUnlimitedキーです。ジオコーディングと他の検索で別々の料金プランはないため、後からGeoapifyベースのスタックのより多くを移行すると決めた場合も、計算がシンプルになります。

オプションのエクストラ(地表の標高、IPの脅威情報、ネットワーク情報)は、mg_extras=1 または X-MG-Extras ヘッダーを追加すると、ジオコーディングの互換ホストで利用できます。バンドル型のプロバイダーを使っていた理由の一部が、1回の呼び出しで複数の種類のデータを取得することだったなら、知っておく価値があります。

複数機能を持つアカウントの一部だけを移行するのは、特定のベンダーへの依存を減らすための、普通の段階的な方法です。初日にスタックの残りの部分について確定的な判断を下す必要はありません。