الاستعلام عن الارتفاع

الارتفاع بالأمتار فوق متوسط مستوى سطح البحر لنقطة واحدة أو لعدة نقاط.

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

المعاملات

المعاملالنوعالوصف
lat, lonمطلوب*رقمنقطة واحدة.
locationsمطلوب*سلسلة نصية*بديل عن lat وlon: حتى 100 نقطة بصيغة lat,lon|lat,lon|.... تُحتسب كل نقطة طلبًا واحدًا.
keyاختياريسلسلة نصيةمفتاح API، إذا لم يُرسل في ترويسة.

تقبل نقطة النهاية أيضًا POST مع جسم JSON {"locations": [[lat, lon], ...]} للقوائم الطويلة التي لا يتسع لها عنوان URL.

مثال

$ 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مصفوفةإدخال واحد لكل نقطة، بترتيب الإدخال.
results[].elevation_mرقم أو nullالأمتار فوق متوسط مستوى سطح البحر، بمنزلة عشرية واحدة. قيمة سالبة تحت مستوى سطح البحر، بما في ذلك قاع البحر في المحيط المفتوح (تتضمن مجموعة البيانات قياسات الأعماق). null فقط حيث لا توجد قيمة في مجموعة البيانات.
results[].resolution_mرقمتباعد شبكة مجموعة البيانات بالأمتار: 463.8 (15 ثانية قوسية).

ملاحظات

الاستعلام نفسه بصيغ المزوّدين الآخرين

إذا كان لديك كود مكتوب بالفعل لأحد هؤلاء المزوّدين فاحتفظ به: يقبل المضيف البديل المتوافق المسار والمعاملات نفسها ويجيب بشكل استجابة ذلك المزوّد، وخلفه نقطة النهاية هذه. راجع كيف تعمل المضيفات البديلة المتوافقة.

المزوّدالمضيفالمسار
منصة Google Maps Platformgapi.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 RESTbing.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)

الأخطاء

400 invalid_request عندما لا تُعطى نقطة ولا locations، أو عندما يكون أحد الإحداثيات خارج النطاق أو مشوّه الصيغة، أو عندما يزيد عدد النقاط على 100، أو عندما تنتج samples أو rows أو cols أكثر من 100. 503 backend_unavailable عندما لا تستجيب خدمة الارتفاع، ولا يُحتسب شيء.