標高検索

1つまたは複数の地点の平均海面からの高さ(メートル)。

GEThttps://api.mygeocode.com/v1/elevation

パラメータ

パラメータ説明
lat, lon必須*数値1つの地点。
locations必須*文字列*latlonの代わりに、最大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秒角)。

注意事項

他のプロバイダーの形式での同じ検索

これらのプロバイダー向けに書いたコードがすでにある場合は、そのまま使えます。互換ホストは同じパスとパラメータを受け付け、このエンドポイントを背後に使って、そのプロバイダーのレスポンス形式で応答します。互換ホストの仕組みをご覧ください。

プロバイダーホストパス
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)
MapQuestmapquest.mygeocode.com/elevation/v1/profile?latLngCollection=lat,lng,lat,lng&shapeFormat=raw&unit=m
Open-Elevationopenelevation.mygeocode.com/api/v1/lookup?locations=lat,lon|lat,lon
/api/v1/lookup (POST, JSON body)

エラー

地点もlocationsも指定されていない場合、座標が範囲外または不正な形式の場合、地点が100を超える場合、またはsamplesrowscolsによって100を超える場合は400 invalid_request。標高サービスが応答しない場合は503 backend_unavailableで、何も数えられません。