高度のリクエスト
Elevation API リクエストは URL 文字列として作成されます。この API は、地球上の場所の標高データを返します。位置情報は、次のいずれかの方法で指定します。
- 1 つ以上の
locations
のセットとして。 path
に沿って接続された一連の点として。
どちらのアプローチでも、緯度と経度の座標を使用して、場所またはパスの頂点を特定します。このドキュメントでは、Elevation API の URL で使用が求められる形式と使用できるパラメータについて説明します。
Elevation API は、可能な限り高い精度で単一ポイントのクエリのデータを返します。複数のロケーションを含むバッチクエリでは、データの平滑化が行われるため、特にロケーションが離れている場合は、精度が低いデータが返されることがあります。
Elevation API リクエストの形式は次のとおりです。
https://maps.googleapis.com/maps/api/elevation/outputFormat?parameters
ここで、outputFormat
は次のいずれかの値になります。
json
(推奨): JavaScript Object Notation(JSON)での出力を指定します。xml
:<ElevationResponse>
ノード内にラップされた XML 出力を指定します。
注: URL が有効であるには、適切にエンコードされている必要があります。また、すべてのウェブサービスで 16,384 文字に制限されています。URL を作成する際は、この上限に注意してください。ブラウザ、プロキシ、サーバーによって URL の文字数上限が異なる場合もあります。
API キーを使用するリクエストには HTTPS が必要です。
リクエスト パラメータ
Elevation API へのリクエストでは、リクエストが個別の場所を対象としているか、順序付きパスを対象としているかによって、異なるパラメータが使用されます。個別の位置情報の場合、高度のリクエストは、リクエストで渡された特定の位置情報に関するデータを返します。パスの場合、高度のリクエストは指定されたパスに沿ってサンプリングされます。
すべての URL の標準規則と同様に、パラメータはアンパサンド(&
)文字を使用して区切ります。パラメータとその有効な値のリストは次のとおりです。
すべてのリクエスト
key
- (必須)アプリケーションの API キー。このキーは、割り当て管理の目的でアプリケーションを識別します。キーを取得する方法をご確認ください。
位置情報リクエスト
locations
(必須)は、地表のどの位置から標高データを返すかを定義します。このパラメータには、カンマ区切りの {緯度,経度} ペア(例: 40.714728,-73.998672)として単一のロケーションを指定するか、配列またはエンコードされたポリラインとして複数の緯度/経度ペアを指定します。この特定のパラメータには 512 ポイントの上限があります。詳細については、後述のロケーションの指定をご覧ください。
サンプリングされたパス リクエスト
path
(必須)は、高度データを返す地球上のパスを定義します。このパラメータは、地球の表面に沿ったパスを定義する 2 つ以上の順序付き {緯度、経度} ペアのセットを定義します。このパラメータは、後述のsamples
パラメータとともに使用する必要があります。このパラメータには 512 ポイントの上限があります。詳細については、後述のパスの指定をご覧ください。samples
(必須)は、標高データを返すパス上のサンプリング ポイントの数を指定します。samples
パラメータは、指定されたpath
を、パス上の等間隔の地点の順序付きセットに分割します。
ロケーションを指定する
位置情報リクエストは、緯度/経度値として渡された特定の位置の標高リクエストを示す locations
パラメータを使用して指定します。
locations
パラメータには、次の引数を指定できます。
- 単一の座標:
locations=40.714728,-73.998672
- パイプ(
|
)文字で区切られた座標の配列:locations=40.714728,-73.998672|-34.397,150.644
- エンコード ポリライン アルゴリズムを使用したエンコードされた座標のセット:
locations=enc:gfo}EtohhU
緯度と経度の座標文字列は、カンマ区切りのテキスト文字列内の数字を使用して定義します。たとえば、「40.714728,-73.998672」は有効な locations
値です。緯度と経度の値は、地球上の有効な位置に対応している必要があります。緯度は -90
~90
の任意の値を指定できます。経度は -180
~180
の任意の値を指定できます。無効な緯度または経度の値を指定すると、リクエストは不正なリクエストとして拒否されます。
有効な URL を作成しながら、配列またはエンコードされたポリライン内で最大 512 個の座標を渡すことができます。ただし複数の座標を渡すと、1 つの座標に対するデータをリクエストしたときよりも、返されるデータの精度が落ち、低解像度になることがあるので注意してください。「locations」または「path」パラメータで 512 個を超えるポイントまたは座標を指定すると、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
値です。緯度と経度の値は、地球上の有効な位置に対応している必要があります。緯度は -90
~90
の任意の値を指定できます。経度は -180
~180
の任意の値を指定できます。無効な緯度または経度の値を指定すると、リクエストは不正なリクエストとして拒否されます。
有効な URL を作成しながら、配列またはエンコードされたポリライン内で最大 512 個の座標を渡すことができます。ただし複数の座標を渡すと、1 つの座標に対するデータをリクエストしたときよりも、返されるデータの精度が落ち、低解像度になることがあるので注意してください。「locations」または「path」パラメータで 512 個を超えるポイントまたは座標を指定すると、INVALID_REQUEST
レスポンスが返されます。
高度リクエストのレスポンス
リクエストが有効な場合、高度サービスはリクエスト URL に指定された形式で高度レスポンスを返します。
ElevationResponse
Field | Required | Type | Description |
---|---|---|---|
| required | Array<ElevationResult> | See ElevationResult for more information. |
| required | ElevationStatus | See ElevationStatus for more information. |
| optional | string |
When the service returns a status code other than |
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
以外の場合、Elevation レスポンス オブジェクト内に error_message
フィールドが追加されることがあります。このフィールドには、特定のステータス コードの原因に関する詳細情報が含まれます。
レスポンスには、次の要素を含む results
配列が含まれます。
ElevationResult
Field | Required | Type | Description |
---|---|---|---|
| required | number | The elevation of the location in meters. |
| required | LatLngLiteral | 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. |
| optional | number | 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.
Field | Required | Type | Description |
---|---|---|---|
| required | number | Latitude in decimal degrees |
| required | number | 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>
次の例では、米国本土で最も高いポイントと最も低いポイントである、カリフォルニア州の Whitney 山から Badwater までの直線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>