ارتفاع از سطح دریا

ارتفاع هر نقطه (به متر، از سطح آزاد دریا) را بر اساس مدل رقومی ارتفاع SRTM دریافت کنید. برای چندضلعی یا خط، ارتفاع مرکز هندسی برگردانده میشود.
کاربردها
- نمایش ارتفاع در اپلیکیشنهای کوهنوردی و گردشگری
- مطالعات امکانسنجی ساخت و آبرسانی
- غنیسازی دادههای نقطهای با ارتفاع
دریافت توکن
- وارد داشبورد ژئوتاژک کلود شوید و با خرید بسته ژئوکوین کیف پول خود را شارژ کنید (با تایید شماره موبایل، ۲۰۰ هزار ژئوکوین هدیه میگیرید).
- در بخش توکنهای API یک توکن بسازید، دسترسی «ارتفاع از سطح دریا» را به آن بدهید و بخشی از موجودی کیف پول را به آن اختصاص دهید.
- کلید توکن را کپی کنید و در هدر
Authorizationبفرستید.
هزینه هر درخواست در صفحه سرویسها درج شده و از اعتبار همان توکن کم میشود؛ خرید جداگانه برای هر سرویس لازم نیست.
آدرس سرویس
POST https://cloud.geotajak.ir/api/geo/elevation
توکن را در هدر Authorization بفرستید:
Authorization: Bearer YOUR_TOKEN
(هدر X-API-Key: YOUR_TOKEN یا پارامتر ?api_key=YOUR_TOKEN هم پذیرفته میشود.)
بدنه درخواست (JSON)
| فیلد | نوع | توضیح |
|---|---|---|
lat + lon | عدد | یک نقطه (عرض و طول جغرافیایی) |
polygon | [[lat, lon], ...] | یک محدوده بسته؛ حداقل ۳ نقطه، حلقه خودکار بسته میشود |
line | [[lat, lon], ...] | یک خط؛ حداقل ۲ نقطه |
radius_m | عدد صحیح | شعاع جستجو به متر برای نقطه و خط (پیشفرض 1000) |
profile | متن | نوع جابهجایی برای فاصلهها: auto (خودرو)، pedestrian (پیاده)، bicycle (دوچرخه) |
فقط یکی از سه حالت نقطه، polygon یا line را بفرستید. توجه کنید ترتیب مختصات در این سرویسها [lat, lon] است (نه [lon, lat] مانند GeoJSON).
نمونه درخواست
cURL
curl -X POST "https://cloud.geotajak.ir/api/geo/elevation" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"lat": 35.6892, "lon": 51.389}'
Python
import requests
TOKEN = "YOUR_TOKEN"
resp = requests.post(
"https://cloud.geotajak.ir/api/geo/elevation",
json={"lat": 35.6892, "lon": 51.389},
headers={"Authorization": f"Bearer {TOKEN}"},
timeout=60,
)
resp.raise_for_status()
print(resp.json())
print("اعتبار باقیمانده توکن:", resp.headers.get("X-Credit-Remaining"))
JavaScript
const TOKEN = "YOUR_TOKEN";
const res = await fetch("https://cloud.geotajak.ir/api/geo/elevation", {
method: "POST",
headers: { Authorization: `Bearer ${TOKEN}`, "Content-Type": "application/json" },
body: JSON.stringify({"lat": 35.6892, "lon": 51.389}),
});
const data = await res.json();
console.log(data, res.headers.get("X-Credit-Remaining"));
نمونه پاسخ
{
"lat": 35.6892,
"lon": 51.389,
"elevation_m": 1165
}
| فیلد | توضیح |
|---|---|
elevation_m | ارتفاع به متر از سطح دریا |
هزینه و هدرهای پاسخ
هزینه هر درخواست موفق از اعتبار توکن کم میشود. در هر پاسخ این هدرها برگردانده میشوند:
| هدر | توضیح |
|---|---|
X-Request-Cost | هزینه همین درخواست (ژئوکوین) |
X-Credit-Remaining | اعتبار باقیمانده توکن (ژئوکوین) |
نمایش آماده در سایت (بدون کدنویسی)
اگر به آدرس همین سرویس ui=true اضافه کنید، بهجای JSON یک صفحه آماده (نقشه، نمودار و جدول نتیجه) برمیگردد که در <iframe> سایت شما قرار میگیرد و با رنگهای توکن شما ساخته میشود. هزینه آن با درخواست معمولی یکی است. جزئیات در راهنمای شروع و نمونه زنده در «آزمایشگاه سرویس» صفحه هر سرویس.
خطاها
| کد | خطا | توضیح | هزینه کسر میشود؟ |
|---|---|---|---|
| 401 | missing_token / invalid_token | توکن ارسال نشده یا نامعتبر است | خیر |
| 401 | token_disabled | توکن غیرفعال شده است | خیر |
| 402 | insufficient_credit | اعتبار توکن تمام شده است؛ از کیف پول به آن اعتبار اضافه کنید | خیر |
| 403 | service_not_allowed | این توکن به این سرویس دسترسی ندارد | خیر |
| 403 | token_expired | تاریخ انقضای توکن گذشته است | خیر |
| 403 | ip_not_allowed / domain_not_allowed | درخواست از آیپی یا دامنهای غیر از موارد مجاز توکن آمده است | خیر |
| 405 | method_not_allowed | متد HTTP اشتباه است | خیر |
| 429 | rate_limited | سقف درخواست ساعتی توکن پر شده است | خیر |
| 502 | upstream_unavailable | سرویس موقتا در دسترس نیست | خیر |
| 5xx | — | خطای داخلی سرویس | خیر |
پاسخ خطا به این شکل است:
{"error": "insufficient_credit", "message": "اعتبار این توکن تمام شده است؛ از کیف پول خود به آن اعتبار اضافه کنید"}
نکتهها
- دقت افقی مدل حدود ۳۰ متر است؛ برای کارهای مهندسی دقیق از نقشهبرداری میدانی استفاده کنید.
سوالی دارید؟ از بخش تیکتها در داشبورد با ما در ارتباط باشید.
