移行

OpenCageからの移行

OpenCageは、ジオコーディングを取り組みやすいものにしたことで支持を集めました。キーのパラメータは1つだけで、JSONレスポンスにはresults配列と、住所をroadcitycountryなどのフィールドに分解したcomponentsオブジェクトが含まれます。独自のプロプライエタリなデータセットを運用するのではなく、複数のオープンなソースのデータを組み合わせており、位置データの出どころの透明性を重視する開発者がOpenCageに引き寄せられる理由の1つになっています。

シンプルさを理由の1つとして選んだプロバイダーから移行する際には、新しい選択肢も同じくらいシンプルなのかという当然の疑問が生じます。正直な答えは、何と比較するかによります。請求フォーム付きの汎用的なアカウント登録と、ヘッダーにキーを入れるだけの体験は別物であり、実際にどちらを置き換えようとしているのかを確認する価値があります。

My GeocodeのOpenCage互換ホストは、OpenCageが返すresults配列とcomponentsの分解構造を再現しており、変わるのは著作権、利用規約、プライバシーに関する文言だけです。フィールド単位のリファレンスは/compatibility/opencage/にあります。多くの連携では、リクエスト先のホストとキーの値を更新するだけで済み、results[0].components.cityresults[0].formattedを読み取るコードは書かれたとおりに動作し続けます。

当社側の認証ではX-API-Keyヘッダー、Authorization: Bearerヘッダー、HTTP Basic認証、クエリパラメータのいずれも使えるため、すでにOpenCageのキーをクエリ文字列のパラメータとして送っているクライアントは、一般的に新しいキーの値に変えるだけで、リクエスト処理のほかの部分は何も変えずに動作し続けます。

小規模なプロジェクトやサイドプロジェクトでの使いやすさを理由にOpenCageを選んだ人にとって、無料枠はこの比較の重要な要素です。My Geocodeでは、どのアドレスからでもキーなしで1日あたり2,500リクエストが無料で、さらに各キーにもネットワーク単位でカウントされる1日あたり2,500リクエストの無料枠があり、これは同じネットワークからのキーなしの利用とキーありの利用で共有されます。それを超えると、料金は1リクエストあたり€0.0001のプリペイドクレジット、または月額€50のUnlimitedキーで、すべての互換ホストを含むすべてのエンドポイントが同じ料金です。

想定で済ませず直接テストすべき点が1つあります。annotationsです。OpenCageの連携で、ジオコーディングのレスポンスに含まれるタイムゾーンや通貨の情報などの追加のannotationフィールドを読み取っている場合は、互換ホストのドキュメントに記載されたフィールドとパース処理のコードが想定しているものを照合してください。その詳細の一部は、ジオコーディングのレスポンス自体に含まれるのではなく、My Geocodeのタイムゾーン検索のような専用エンドポイントから取得する必要があるかもしれません。

小さく始まって成長したプロジェクトにとって、OpenCageを最初に選びやすくしていたシンプルさは、プロバイダーを移ることで手放さなければならないものではありません。クライアントがすでに送っている方式のままで使えるキー、テストを始めるのに登録不要な1日あたりの無料枠、そしてすべてのエンドポイントで同じ料金により、導入の体験は多くのOpenCageユーザーが慣れているものに近いまま保たれます。