移行

Google Maps Platformの標高連携から移行する

標高検索は目立たない依存関係になりがちです。ハイキングアプリのルートプロファイル機能、地形とのクリアランスを確認するドローンの飛行計画ツール、土地測量ツールなどから呼び出され、そもそもGoogle Maps Platformのアカウントが存在する理由になることはまれです。呼び出し側のコードは通常1つか2つの関数に収まっているため、より広いGoogle連携の他の部分とは独立して移すのに適した候補です。

GoogleのElevation APIは1つ以上の座標ペアを受け付け、メートル単位のelevation値と、基盤となるデータサンプルの精度を示すresolutionの値を返します。パースする内容の少ないコンパクトなレスポンスなので、基盤となるデータソースが変わっても、移行作業自体の範囲はかなり小さく抑えられます。

My Geocodeは標高を、わかりやすいリクエストとレスポンスの形を持つ完全に動作するエンドポイントとして提供しています。座標を送ると、地表の標高がメートル単位で返ってきます。これはレスポンスの形だけでなく実際の答えを直接説明できる検索の1つなので、特定の山頂や海抜ゼロの沿岸地点など既知の基準点を使ってこの移行をテストするのは、本番のトラフィックを切り替える前に確信を得るための妥当な方法です。詳細は/docs/elevation-lookup/にあります。

この移行で特に確認しておくべき点をいくつか挙げます。

  • コードがGoogleのresolutionフィールドを表示以外の目的で使っていないか。resolutionの値が表すサンプリング精度は標高データソースによって異なるため、特定のresolutionの値に依存する下流の処理は見直しが必要です
  • 標高検索がバッチ(1回の呼び出しで多数の座標)で行われるのか、個別に行われるのか。バッチリクエストの形はプロバイダーによって異なるため、アプリケーションが実際に使うバッチサイズでテストする価値があります
  • 標高がクライアントサイドのコードから直接呼び出されていないか。移行先のプロバイダーにかかわらず、呼び出しをサーバーサイドに移す良い機会です

認証にはキーを使い、X-API-KeyAuthorization: Bearer、HTTP Basic認証、クエリパラメータのいずれかで送信します。キーなしで1日あたり2,500リクエストが無料、さらにキーごとにネットワーク単位でカウントされる1日あたり2,500リクエストが無料で、それを超えると1リクエストあたり€0.0001のプリペイドクレジット、または月額€50のUnlimitedキーとなり、プラットフォーム上の他のすべてのエンドポイントと同じ料金です。

IPの脅威に関する詳細や、アプリケーションの他の部分に関係するネットワーク情報など、標高そのもの以外のオプションの追加情報は、互換ホストでmg_extras=1を指定すると利用できます。ただし、今回のような標高だけの移行では、一般的に単独のエンドポイントのほうがシンプルで直接的に適しています。より大きなジオコーディングの移行に先立って標高だけを移すのは、すぐに大きなプロジェクトに取り組むことなく、単一のアカウントへの依存を減らし始めるためのリスクの低い方法です。