標高検索
1つまたは複数の地点の平均海面からの高さ(メートル)。
GEThttps://api.mygeocode.com/v1/elevation
パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
lat, lon必須* | 数値 | 1つの地点。 |
locations必須* | 文字列 | *latとlonの代わりに、最大100地点をlat,lon|lat,lon|...の形式で指定できます。各地点が1件のリクエストとして数えられます。 |
key任意 | 文字列 | ヘッダーで送信しない場合のAPIキー。 |
URLに収まらない長いリストの場合、このエンドポイントはJSON本文{"locations": [[lat, lon], ...]}を付けたPOSTも受け付けます。
例
$ curl -H "X-API-Key: YOUR_KEY" "https://api.mygeocode.com/v1/elevation?locations=36.2381,-116.8175|31.5590,35.4732"const points = [[36.2381, -116.8175], [31.5590, 35.4732]];
const url = new URL("https://api.mygeocode.com/v1/elevation");
url.searchParams.set("locations", points.map((p) => p.join(",")).join("|"));
const { results } = await (await fetch(url, { headers: { "X-API-Key": "YOUR_KEY" } })).json();
results.forEach((r) => console.log(r.elevation_m));import requests
points = [(36.2381, -116.8175), (31.5590, 35.4732)]
locations = "|".join(f"{lat},{lon}" for lat, lon in points)
r = requests.get("https://api.mygeocode.com/v1/elevation", params={"locations": locations}, headers={"X-API-Key": "YOUR_KEY"}, timeout=10)
for item in r.json()["results"]:
print(item["elevation_m"])レスポンス
{
"status": "ok",
"results": [
{ "lat": 36.2381, "lon": -116.8175, "elevation_m": -82.0, "resolution_m": 463.8 },
{ "lat": 31.559, "lon": 35.4732, "elevation_m": -416.0, "resolution_m": 463.8 }
]
}レスポンスフィールド
| フィールド | 型 | 説明 |
|---|---|---|
results | 配列 | 地点ごとに1エントリ、入力の順序どおり。 |
results[].elevation_m | 数値またはnull | 平均海面からの高さ(メートル、小数点以下1桁)。海面より下は負の値で、外洋の海底も含みます(データセットには海底地形が含まれます)。nullになるのは、データセットに値がない場合だけです。 |
results[].resolution_m | 数値 | データセットのグリッド間隔(メートル):463.8(15秒角)。 |
注意事項
- 値は、陸地と海底を含む全世界の15秒角グリッド(約460 m)の最も近いセルから取得されます。特定地点の高さではなく、周囲の地形の高さと考えてください。断面図、集水域、無線の経路、妥当性の確認には十分ですが、1つの建物や狭い尾根には粗すぎます。垂直方向の精度は、なだらかな地形では通常数メートル以内、険しい山岳地帯では数十メートルです。
- 内陸の水域(湖、貯水池)の上では、値は水面の標高です。
- 標高は変わりません。結果は好きなだけキャッシュしてかまいません。
- Google Elevation、Bing Elevations、Open-Elevationのリクエスト形式は互換ホストで利用できます。
他のプロバイダーの形式での同じ検索
これらのプロバイダー向けに書いたコードがすでにある場合は、そのまま使えます。互換ホストは同じパスとパラメータを受け付け、このエンドポイントを背後に使って、そのプロバイダーのレスポンス形式で応答します。互換ホストの仕組みをご覧ください。
| プロバイダー | ホスト | パス |
|---|---|---|
| Googleマップ・プラットフォーム(Google Maps Platform) | gapi.mygeocode.com | /maps/api/elevation/json?locations=lat,lng|lat,lng/maps/api/elevation/json?locations=enc:POLYLINE/maps/api/elevation/json?path=lat,lng|lat,lng&samples=N |
| Bing Maps RESTサービス | bing.mygeocode.com | /REST/v1/Elevation/List?points=lat,lon,lat,lon/REST/v1/Elevation/Polyline?points=lat,lon,lat,lon&samples=N/REST/v1/Elevation/Bounds?bounds=S,W,N,E&rows=R&cols=C(GETまたはPOST) |
| MapQuest | mapquest.mygeocode.com | /elevation/v1/profile?latLngCollection=lat,lng,lat,lng&shapeFormat=raw&unit=m |
| Open-Elevation | openelevation.mygeocode.com | /api/v1/lookup?locations=lat,lon|lat,lon/api/v1/lookup (POST, JSON body) |
エラー
地点もlocationsも指定されていない場合、座標が範囲外または不正な形式の場合、地点が100を超える場合、またはsamples、rows、colsによって100を超える場合は400 invalid_request。標高サービスが応答しない場合は503 backend_unavailableで、何も数えられません。