Background
بازگشت به بلاگ

محاسبه مساحت و محیط

۱۴۰۵/۷/۷
تیم ژئوتاژک
محاسبه مساحت و محیط

مساحت واقعی یک چندضلعی را روی سطح کره زمین (نه روی نقشه مسطح) محاسبه کنید. خروجی شامل مساحت به متر مربع، کیلومتر مربع و هکتار، محیط و مرکز هندسی است. این سرویس کاملا محاسباتی و بسیار سریع است.

کاربردها

  • محاسبه مساحت زمین، مزرعه یا پلاک
  • کنترل ابعاد محدوده‌های ترسیم‌شده توسط کاربر
  • محاسبه هزینه‌های وابسته به مساحت

دریافت توکن

  1. وارد داشبورد ژئوتاژک کلود شوید و با خرید بسته ژئوکوین کیف پول خود را شارژ کنید (با تایید شماره موبایل، ۲۰۰ هزار ژئوکوین هدیه می‌گیرید).
  2. در بخش توکن‌های API یک توکن بسازید، دسترسی «محاسبه مساحت و محیط» را به آن بدهید و بخشی از موجودی کیف پول را به آن اختصاص دهید.
  3. کلید توکن را کپی کنید و در هدر Authorization بفرستید.

هزینه هر درخواست در صفحه سرویس‌ها درج شده و از اعتبار همان توکن کم می‌شود؛ خرید جداگانه برای هر سرویس لازم نیست.

آدرس سرویس

POST https://cloud.geotajak.ir/api/geo/area

توکن را در هدر Authorization بفرستید:

Authorization: Bearer YOUR_TOKEN

(هدر X-API-Key: YOUR_TOKEN یا پارامتر ?api_key=YOUR_TOKEN هم پذیرفته می‌شود.)

بدنه درخواست (JSON)

فیلدنوعتوضیح
polygon[[lat, lon], ...]حداقل ۳ نقطه؛ لازم نیست نقطه آخر تکرار شود
line[[lat, lon], ...]خطی با حداقل ۳ نقطه به‌عنوان محدوده بسته در نظر گرفته می‌شود

نمونه درخواست

cURL

curl -X POST "https://cloud.geotajak.ir/api/geo/area" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"polygon": [[35.7, 51.38], [35.7, 51.39], [35.71, 51.39], [35.71, 51.38]]}'

Python

import requests

TOKEN = "YOUR_TOKEN"
resp = requests.post(
    "https://cloud.geotajak.ir/api/geo/area",
    json={"polygon": [[35.7, 51.38], [35.7, 51.39], [35.71, 51.39], [35.71, 51.38]]},
    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/area", {
  method: "POST",
  headers: { Authorization: `Bearer ${TOKEN}`, "Content-Type": "application/json" },
  body: JSON.stringify({"polygon": [[35.7, 51.38], [35.7, 51.39], [35.71, 51.39], [35.71, 51.38]]}),
});
const data = await res.json();
console.log(data, res.headers.get("X-Credit-Remaining"));

نمونه پاسخ

{
  "area_m2": 1005931.42,
  "area_km2": 1.005931,
  "area_hectare": 100.5931,
  "perimeter_m": 4035.18,
  "centroid": [35.705, 51.385],
  "vertices": 4
}
فیلدتوضیح
area_m2, area_km2, area_hectareمساحت
perimeter_mمحیط به متر
centroidمرکز هندسی [lat, lon]
verticesتعداد رئوس

هزینه و هدرهای پاسخ

هزینه هر درخواست موفق از اعتبار توکن کم می‌شود. در هر پاسخ این هدرها برگردانده می‌شوند:

هدرتوضیح
X-Request-Costهزینه همین درخواست (ژئوکوین)
X-Credit-Remainingاعتبار باقی‌مانده توکن (ژئوکوین)

نمایش آماده در سایت (بدون کدنویسی)

اگر به آدرس همین سرویس ui=true اضافه کنید، به‌جای JSON یک صفحه آماده (نقشه، نمودار و جدول نتیجه) برمی‌گردد که در <iframe> سایت شما قرار می‌گیرد و با رنگ‌های توکن شما ساخته می‌شود. هزینه آن با درخواست معمولی یکی است. جزئیات در راهنمای شروع و نمونه زنده در «آزمایشگاه سرویس» صفحه هر سرویس.

خطاها

کدخطاتوضیحهزینه کسر می‌شود؟
401missing_token / invalid_tokenتوکن ارسال نشده یا نامعتبر استخیر
401token_disabledتوکن غیرفعال شده استخیر
402insufficient_creditاعتبار توکن تمام شده است؛ از کیف پول به آن اعتبار اضافه کنیدخیر
403service_not_allowedاین توکن به این سرویس دسترسی نداردخیر
403token_expiredتاریخ انقضای توکن گذشته استخیر
403ip_not_allowed / domain_not_allowedدرخواست از آی‌پی یا دامنه‌ای غیر از موارد مجاز توکن آمده استخیر
405method_not_allowedمتد HTTP اشتباه استخیر
429rate_limitedسقف درخواست ساعتی توکن پر شده استخیر
502upstream_unavailableسرویس موقتا در دسترس نیستخیر
5xx—خطای داخلی سرویسخیر
400—کمتر از ۳ نقطه یا ورودی نامعتبربله

پاسخ خطا به این شکل است:

{"error": "insufficient_credit", "message": "اعتبار این توکن تمام شده است؛ از کیف پول خود به آن اعتبار اضافه کنید"}

سوالی دارید؟ از بخش تیکت‌ها در داشبورد با ما در ارتباط باشید.

APIمساحتهندسه