高度リクエストと高度レスポンス

高度リクエスト

Elevation API リクエストは、URL 文字列として構成されます。API は、地球上の場所の高度データを返します。次のいずれかの方法で位置データを指定します。

  • 1 つ以上の locations のセットとして。
  • path 上にある一連の連結した地点として。

これらの方法のいずれかは、緯度と経度の座標を使用して位置やルートの頂点を指定します。このドキュメントでは、Terraform が Elevation API の URL と使用可能なパラメータ

Elevation API は、1 つの地点に関するクエリに対してはできる限り最高精度のデータを返します。複数の地点に関するバッチクエリでは低精度のデータを返す可能性があります。特に、各地点が離れている場合はデータの平滑化が必要になるためです。

Elevation API リクエストの形式は次のとおりです。

https://maps.googleapis.com/maps/api/elevation/outputFormat?parameters

outputFormat には次のいずれかの値を設定します。

  • json(推奨): 出力が JavaScript Object Notation(JSON)であることを示します。
  • xml: 出力が XML であることを示します(<ElevationResponse> ノード内にラップされます)。

: URL は、すべてのウェブサービスで対応できるように適切にエンコーディングされた有効な文字である必要があります。また、16,384 文字以内という制限があります。URL を構成する際は、この制限に注意してください。また、ブラウザ、プロキシ、サーバーによって URL の文字数制限が異なる場合があります。

API キーを使用するリクエストには HTTPS が必要です。

リクエスト パラメータ

Elevation API へのリクエストではさまざまなパラメータが使用される 個別の場所に対するリクエストか 順序付けされたパスです。不連続の地点に対する標高のリクエストでは、リクエストで渡された特定の地点に関するデータが返されます。ルートに対する標高のリクエストでは、指定されたルートに沿ってサンプリングが行われます。

すべての URL の標準と同様に、パラメータは区切られます。 (アンパサンド(&amp;)文字を使用して計算)各パラメータと有効な値のリストを次に示します。

すべてのリクエスト

  • key - (必須)アプリケーションの API キー。このキーでアプリケーションを識別し、割り当てを管理します。 キーの取得方法を確認する。

位置リクエスト

  • locations(必須)は、サービスのロケーションを定義します。 高度データを返す地球。このパラメータは カンマで区切った {latitude,longitude} のペアで指定 (例: 「40.714728,-73.998672」)または複数の緯度と経度のペア 配列またはエンコードされたポリラインとして渡されます。このパラメータには 512 ポイントの上限があります。詳しくは 後述のロケーションの指定をご覧ください。

サンプリングされたパス リクエスト

  • path(必須)は、地球上のパスを定義します。 高度データを返します。このパラメータは、地表に沿ったルートを定義する順番に並んだ 2 つ以上の {latitude,longitude} のセットを定義します。このパラメータは、samples と組み合わせて使用する必要があります。 パラメータを使用します。上限は 512 ポイントです パラメータを指定します。詳しくは 後述のパスの指定をご覧ください。
  • samples(必須)は、パス上で標高データをサンプリングする地点の数を指定します。samples パラメータは、指定された path を、パス上に等間隔で並ぶ順序付きの点のセットに分割します。

ロケーションの指定

位置リクエストは、 高度リクエストを示す locations パラメータ 引数として渡された 緯度と経度の値。

locations パラメータは、 引数:

緯度と経度の座標の文字列は、数値と カンマで区切られたテキスト文字列の中にあります。たとえば、「40.714728,-73.998672」は有効な locations 値です。緯度と経度の値は地表の有効な地点に対応する必要があります。緯度は、次の範囲の値を取ることができます。 -9090 ですが、経度値には -180180 の任意の値。緯度または経度に無効な値を指定した場合は、不適切なリクエストとして拒否されます。

配列またはエンコード形式で最大 512 個の座標を渡すことができます 有効な URL を作成します。 ただし複数の座標を渡すと、1 つの座標に対するデータをリクエストしたときよりも、返されるデータの精度が落ち、低解像度になることがあるので注意してください。「locations」内のポイントまたは座標が 512 個を超えているまたは「path」各パラメータは INVALID_REQUEST レスポンス。

パスの指定

ルートのサンプリングのリクエストは path パラメータと samples パラメータを使用して指定されます。これらのパラメータは指定された間隔でルート上の標高データを取得するリクエストを指定します。 locations パラメータ。path パラメータでは、 緯度と経度の値のセットただし 位置リクエストとは異なり path は頂点の順序付きセットを指定します。リピーター 頂点の高度データのみが使用され、パスのリクエストは パスの長さ: samples の数に基づく 指定(エンドポイントを含む)されます。

path パラメータは次のいずれかになります。 引数:

  • 2 つ以上のカンマ区切り座標のテキスト文字列の配列 パイプ(「|」)で区切って指定します 文字: path=40.714728,-73.998672|-34.397,150.644
  • エンコード化ポリライン アルゴリズムを使用してエンコードされた座標: path=enc:gfo}EtohhUxD@bAxJmGF

緯度と経度の座標の文字列は、数値と カンマで区切られたテキスト文字列の中にあります。たとえば、「40.714728,-73.998672|-34.397, 150.644」は有効な path 値です。緯度と経度の値は地表の有効な地点に対応する必要があります。緯度には -9090 の値を指定でき、経度には -180180 の値を指定できます。緯度または経度に無効な値を指定した場合は、不適切なリクエストとして拒否されます。

URL の作成が適切に行われている場合は、配列やエンコードされたポリライン内で座標を最大 512 個渡しても構いません。複数の関数を 場合、返されるデータの精度は、 単一の座標のデータをリクエストする場合です。「locations」または「path」パラメータで 512 個を超えるポイントまたは座標を指定すると、INVALID_REQUEST レスポンスが返されます。

高度リクエストのレスポンス

標高サービスは、有効なリクエストごとにリクエスト URL 内で指定した形式で標高レスポンスを返します。

ElevationResponse

FieldRequiredTypeDescription
required Array<ElevationResult> See ElevationResult for more information.
requiredElevationStatus See ElevationStatus for more information.
optionalstring

When the service returns a status code other than OK, there may be an additional error_message field within the response object. This field contains more detailed information about thereasons behind the given status code. This field is not always returned, and its content is subject to change.

ElevationStatus

Status codes returned by service.

  • OK indicating the API request was successful.
  • DATA_NOT_AVAILABLE indicating that there's no available data for the input locations.
  • INVALID_REQUEST indicating the API request was malformed.
  • OVER_DAILY_LIMIT indicating any of the following:
    • The API key is missing or invalid.
    • Billing has not been enabled on your account.
    • A self-imposed usage cap has been exceeded.
    • The provided method of payment is no longer valid (for example, a credit card has expired).
  • OVER_QUERY_LIMIT indicating the requestor has exceeded quota.
  • REQUEST_DENIED indicating the API did not complete the request.
  • UNKNOWN_ERROR indicating an unknown error.

ステータス コードが OK 以外の場合、追加の 高度レスポンス オブジェクト内の error_message フィールド。このフィールドには そのステータス コードの詳しい理由を確認できます。

レスポンスには、次の要素を含む results 配列が含まれます。

ElevationResult

FieldRequiredTypeDescription
requirednumber

The elevation of the location in meters.

requiredLatLngLiteral

A location element of the position for which elevation data is being computed. Note that for path requests, the set of location elements will contain the sampled points along the path.

See LatLngLiteral for more information.

optionalnumber

The value indicating the maximum distance between data points from which the elevation was interpolated, in meters. This property will be missing if the resolution is not known. Note that elevation data becomes more coarse (larger resolution values) when multiple points are passed. To obtain the most accurate elevation value for a point, it should be queried independently.

location オブジェクトには次の要素があります。

LatLngLiteral

An object describing a specific location with Latitude and Longitude in decimal degrees.

FieldRequiredTypeDescription
requirednumber

Latitude in decimal degrees

requirednumber

Longitude in decimal degrees

位置標高の例

次の例では、コロラド州デンバー(「マイル・ハイ・シティー」)の標高を JSON 形式でリクエストします。

URL

https://maps.googleapis.com/maps/api/elevation/json
  ?locations=39.7391536%2C-104.9847034
  &key=YOUR_API_KEY

cURL

curl -L -X GET 'https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536%2C-104.9847034&key=YOUR_API_KEY'

JSON

{
  "results":
    [
      {
        "elevation": 1608.637939453125,
        "location": { "lat": 39.7391536, "lng": -104.9847034 },
        "resolution": 4.771975994110107,
      },
    ],
  "status": "OK",
}

XML

<ElevationResponse>
 <status>OK</status>
 <result>
  <location>
   <lat>39.7391536</lat>
   <lng>-104.9847034</lng>
  </location>
  <elevation>1608.6379395</elevation>
  <resolution>4.7719760</resolution>
 </result>
</ElevationResponse>

次の例は複数のレスポンスを示しています(デンバー、コロラド州、 カリフォルニア州デスバレー)。

このリクエストでは、JSON output フラグを使用しています。

URL

https://maps.googleapis.com/maps/api/elevation/json
  ?locations=39.7391536%2C-104.9847034%7C36.455556%2C-116.866667
  &key=YOUR_API_KEY

cURL

curl -L -X GET 'https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536%2C-104.9847034%7C36.455556%2C-116.866667&key=YOUR_API_KEY'

このリクエストは、XML output フラグを使用した例です。

https://maps.googleapis.com/maps/api/elevation/xml?locations=39.7391536,-104.9847034|36.455556,-116.866667&key=YOUR_API_KEY

以下のタブを選択すると、JSON と XML のレスポンスの例が表示されます。

JSON

{
  "results":
    [
      {
        "elevation": 1608.637939453125,
        "location": { "lat": 39.7391536, "lng": -104.9847034 },
        "resolution": 4.771975994110107,
      },
      {
        "elevation": -52.79492568969727,
        "location": { "lat": 36.455556, "lng": -116.866667 },
        "resolution": 19.08790397644043,
      },
    ],
  "status": "OK",
}

XML

<ElevationResponse>
 <status>OK</status>
 <result>
  <location>
   <lat>39.7391536</lat>
   <lng>-104.9847034</lng>
  </location>
  <elevation>1608.6379395</elevation>
  <resolution>4.7719760</resolution>
 </result>
 <result>
  <location>
   <lat>36.4555560</lat>
   <lng>-116.8666670</lng>
  </location>
  <elevation>-52.7949257</elevation>
  <resolution>19.0879040</resolution>
 </result>
</ElevationResponse>

次の例では、米国本土で最も標高の高いカリフォルニア州のホイットニー山から、最も海抜の低いカリフォルニア州のバッドウォーターまでの直線path 上の標高データをリクエストします。3 つの入力が必要です。 samples。これにより、2 つのエンドポイントと あります。

URL

https://maps.googleapis.com/maps/api/elevation/json
  ?path=36.578581%2C-118.291994%7C36.23998%2C-116.83171
  &samples=3
  &key=YOUR_API_KEY

cURL

curl -L -X GET 'https://maps.googleapis.com/maps/api/elevation/json?path=36.578581%2C-118.291994%7C36.23998%2C-116.83171&samples=3&key=YOUR_API_KEY'

JSON

{
  "results":
    [
      {
        "elevation": 4411.94189453125,
        "location": { "lat": 36.578581, "lng": -118.291994 },
        "resolution": 19.08790397644043,
      },
      {
        "elevation": 1372.8359375,
        "location": { "lat": 36.41150289067028, "lng": -117.5602607523847 },
        "resolution": 9.543951988220215,
      },
      {
        "elevation": -84.51690673828125,
        "location": { "lat": 36.23998, "lng": -116.83171 },
        "resolution": 9.543951988220215,
      },
    ],
  "status": "OK",
}

XML

<ElevationResponse>
 <status>OK</status>
 <result>
  <location>
   <lat>36.5785810</lat>
   <lng>-118.2919940</lng>
  </location>
  <elevation>4411.9418945</elevation>
  <resolution>19.0879040</resolution>
 </result>
 <result>
  <location>
   <lat>36.4115029</lat>
   <lng>-117.5602608</lng>
  </location>
  <elevation>1372.8359375</elevation>
  <resolution>9.5439520</resolution>
 </result>
 <result>
  <location>
   <lat>36.2399800</lat>
   <lng>-116.8317100</lng>
  </location>
  <elevation>-84.5169067</elevation>
  <resolution>9.5439520</resolution>
 </result>
</ElevationResponse>