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

راهنمای شروع سرویس‌های مکانی ژئوتاژک (API)

۱۴۰۵/۷/۷
تیم ژئوتاژک
راهنمای شروع سرویس‌های مکانی ژئوتاژک (API)

سرویس‌های مکانی ژئوتاژک مجموعه‌ای از APIهای آماده برای جستجوی آدرس، مسیریابی، ارتفاع، تحلیل محدوده و هوش مصنوعی مکانی روی داده‌های ایران هستند. همه سرویس‌ها از یک آدرس پایه و یک روش احراز هویت استفاده می‌کنند.

سرویس‌ها

سرویسآدرس
جستجوی آدرس و مکان (Geocoding)GET /api/geo/geocode
آدرس‌یابی معکوس (Reverse Geocoding)POST /api/geo/reverse
مسیریابی، فاصله و زمان سفرGET /api/geo/route
ارتفاع از سطح دریاPOST /api/geo/elevation
اطلاعات جامع مکانPOST /api/geo/location-info
توصیف هوشمند مکان با هوش مصنوعیPOST /api/geo/describe
محاسبه مساحت و محیطPOST /api/geo/area
کاربری غالب اراضیPOST /api/geo/land-use
نزدیک‌ترین شهرPOST /api/geo/nearest-city
شاخص دسترسی به خدماتPOST /api/geo/service-access
تجزیه هوشمند آدرس فارسیPOST /api/geo/parse-address
آب و هوای کنونی و پیش‌بینیGET /api/geo/weather/current
تاریخچه آب و هواGET /api/geo/weather/history
اقلیم و میانگین آب و هواGET /api/geo/weather/climate
خاک‌شناسی نقطهGET /api/geo/soil
اقلیم کشاورزیGET /api/geo/agro/climate
پایش خشکسالیGET /api/geo/agro/drought
الگوی کشت پیشنهادی (AI)GET /api/geo/agro/crop-suitability
هشدارهای جویGET /api/geo/hazard/alerts
زمین‌لرزه‌هاGET /api/geo/hazard/earthquakes
ریسک سیلابGET /api/geo/hazard/flood
آتش‌سوزی‌های فعالGET /api/geo/hazard/fires
زیرساخت‌های حیاتیGET /api/geo/infrastructure
دکل‌ها و سلول‌های مخابراتیGET /api/geo/telecom
تقویم یخبندانGET /api/geo/agro/frost
بیلان آب و نیاز آبیGET /api/geo/agro/water-balance
رطوبت خاکGET /api/geo/agro/soil-moisture
بارش‌های حدی و دوره بازگشتGET /api/geo/climate/rain-extremes
آبراهه‌ها و سدهاGET /api/geo/hydro/waterways
پستی‌بلندی زمینGET /api/geo/terrain/relief
نزدیک‌ترین مراکزGET /api/geo/nearest-facility
پوشش شبکه در یک نقطهGET /api/geo/coverage/point
درصد پوشش شبکه یک محدودهGET /api/geo/coverage/area
پوشش شبکه در طول مسیرGET /api/geo/coverage/route
نقشه پوشش شبکهGET /api/geo/coverage/map
جمعیت اطراف یک نقطهGET /api/geo/population/point
جمعیت در حلقه‌های فاصلهGET /api/geo/population/rings
ساختار سنی و جنسی جمعیتGET /api/geo/population/demographics
جمعیت شهر، شهرستان یا محدودهGET /api/geo/population/area
جمعیت داخل چندضلعیPOST /api/geo/population/polygon
نقشه تراکم جمعیتGET /api/geo/population/grid
مسیر با خط مسیرPOST /api/geo/route/path
محدوده دسترسی زمانی (ایزوکرون)GET /api/geo/isochrone
ماتریس زمان و فاصلهPOST /api/geo/matrix
پروفیل ارتفاعی مسیرPOST /api/geo/elevation/profile
نزدیک‌ترین مرکز شماPOST /api/geo/facilities/nearest
پوشش زمانی مراکز و خلأ پوششPOST /api/geo/facilities/coverage
پیشنهاد مکان مرکز جدیدPOST /api/geo/facilities/suggest
اثر انسداد جادهPOST /api/geo/network/closure
تقسیمات کشوری یک نقطهGET /api/geo/admin/lookup
جستجوی شهر و روستاGET /api/geo/places/search
سکونتگاه‌های یک محدودهGET /api/geo/places/in-area
تبدیل مختصاتGET /api/geo/convert/coordinates
ژئوفنسPOST /api/geo/geofence
برآورد اثر در یک محدودهPOST /api/geo/impact/area
گزارش اولیه اثر احتمالی (AI)POST /api/geo/impact/report
مکان‌یابی و امتیازدهی سایت (AI)POST /api/geo/site/suitability
پیشنهاد اعزام (AI)POST /api/geo/dispatch/advice
شناسنامه شهرستان و شهر (AI)GET /api/geo/profile/place
خطر لرزه‌ای و گسل‌های فعالGET /api/geo/hazard/seismic
پهنه‌های سیلاب رودخانه‌ایGET /api/geo/hazard/flood-zones
استعداد زمین‌لغزشGET /api/geo/hazard/landslide
شاخص ریسک چندمخاطره‌ای نقطهGET /api/geo/risk/point
ریسک و جمعیت در معرض یک محدودهPOST /api/geo/risk/area
شناسنامه خطر (AI)POST /api/geo/risk/brief
پوشش زمین نقطهGET /api/geo/landcover/point
پوشش زمین محدودهPOST /api/geo/landcover/area
پتانسیل انرژی خورشیدیGET /api/geo/energy/solar
پتانسیل انرژی بادیGET /api/geo/energy/wind
سابقه بارش سالانهGET /api/geo/climate/rainfall
تغییر اقلیمGET /api/geo/climate/projection
میدان دیدGET /api/geo/terrain/viewshed
خط دید بین دو نقطهGET /api/geo/terrain/line-of-sight
آب‌های سطحی و تغییر آن‌هاPOST /api/geo/water/surface
مصرف واقعی آبGET /api/geo/water/evapotranspiration
گزارش تنش آبیPOST /api/geo/water/brief
رشد سطح ساخته‌شده شهرPOST /api/geo/urban/growth
غربال سایت نیروگاهPOST /api/geo/energy/site-screen
شکاف پوشش موبایلPOST /api/geo/coverage/gap
خوراک هشدارهاGET /api/geo/alerts/feed
بولتن روزانهGET /api/geo/bulletin/daily
نیاز آبیاری محصولGET /api/geo/agri/irrigation-advice
سبزینگی و سلامت پوشش گیاهیGET /api/geo/vegetation/ndvi
وضعیت پوشش گیاهی محدودهPOST /api/geo/vegetation/health
سابقه آتش‌سوزی و سطح سوختهPOST /api/geo/hazard/burned-area
روشنایی شبانهPOST /api/geo/urban/night-lights
روند ذخیره آبGET /api/geo/water/storage
گردوغبار و ذرات معلقGET /api/geo/air/dust
حوضه آبریز یک نقطهGET /api/geo/water/watershed
تصاویر اخیر Sentinel-2POST /api/geo/imagery/scenes
تصویر ماهواره‌ای محدودهPOST /api/geo/imagery/snapshot
نقشه سطح سوختهPOST /api/geo/imagery/burn-scar
نقشه سیلاب و گستره آبPOST /api/geo/imagery/water-extent
فهرست لایه‌های دادهGET /api/geo/layers
مقدار لایه‌ها در نقطهGET /api/geo/layers/point
آمار منطقه‌ایPOST /api/geo/layers/zonal
نقشه لایه دادهGET /api/geo/layers/map
کیفیت هوای کنونیGET /api/geo/air/current
پیش‌بینی کیفیت هواGET /api/geo/air/forecast
آلودگی هوای یک منطقهGET /api/geo/air/area
نقشه آلودگی هواGET /api/geo/air/map
رتبه‌بندی آلودگی شهرهاGET /api/geo/air/cities

برای دستیارها و ایجنت‌های هوش مصنوعی: همه این سرویس‌ها با پروتکل MCP هم در دسترس‌اند (آدرس https://cloud.geotajak.ir/mcp با همان توکن). راهنما: اتصال با MCP.

مراحل شروع

  1. ثبت‌نام: در cloud.geotajak.ir حساب کاربری بسازید و شماره موبایل خود را با کد پیامکی تایید کنید؛ ۲۰۰ هزار ژئوکوین هدیه به کیف پول شما اضافه می‌شود.
  2. خرید ژئوکوین: واحد همه قیمت‌ها در ژئوتاژک کلود «ژئوکوین» است. هر وقت لازم شد، از بخش کیف پول یک بسته ژئوکوین با درگاه بانکی بخرید (بسته‌های بزرگ‌تر ژئوکوین هدیه دارند). فاکتور هر خرید در بخش فاکتورها ثبت می‌شود.
  3. ساخت توکن: در بخش توکن‌های API برای هر برنامه یک توکن بسازید و بخشی از موجودی کیف پول را به آن اختصاص دهید (مثلا «این توکن تا ۴۰۰ هزار ژئوکوین مصرف کند»).
  4. فراخوانی: کلید توکن را در هدر Authorization: Bearer YOUR_TOKEN بفرستید.
curl "https://cloud.geotajak.ir/api/geo/geocode?q=Isfahan&limit=1" \
  -H "Authorization: Bearer YOUR_TOKEN"

قیمت‌گذاری

همه قیمت‌ها به ژئوکوین (سکه ژئوتاژک کلود) است، نه تومان؛ ژئوکوین را به‌صورت بسته از کیف پول می‌خرید.

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

در هر پاسخ دو هدر برمی‌گردد: X-Request-Cost (هزینه همین درخواست) و X-Credit-Remaining (اعتبار باقی‌مانده توکن).

نمایش آماده در سایت (ui=true)

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

<iframe src="https://cloud.geotajak.ir/api/geo/weather/current?place=یزد&ui=true&api_key=YOUR_TOKEN"
        width="100%" height="640" style="border:0" loading="lazy"></iframe>
پارامترتوضیح
ui=trueخروجی گرافیکی به‌جای JSON
api_keyتوکن API (در آدرس، چون iframe هدر نمی‌فرستد)
ui_controls=falseحذف فرم بالای صفحه که بازدیدکننده با آن پارامترها را عوض می‌کند
body={...}برای سرویس‌های POST: بدنه JSON در آدرس (یا هر فیلد به‌صورت یک پارامتر جدا)
ui_primary=2563ebتغییر یک رنگ فقط برای همین فراخوانی (همین‌طور ui_accent، ui_background، ui_surface، ui_text، ui_muted، ui_border، ui_radius، ui_font، ui_map)
  • هماهنگی با سایت شما: هنگام ساخت یا ویرایش توکن، در بخش «قالب رنگ ویجت‌ها» رنگ‌ها، فونت، گردی گوشه‌ها و نقشه روشن/تیره را انتخاب کنید؛ همه خروجی‌های گرافیکی آن توکن با همین قالب ساخته می‌شوند.
  • امتحان قبل از استفاده: در صفحه هر سرویس، «آزمایشگاه سرویس» نتیجه را به‌صورت گرافیکی و JSON نشان می‌دهد و کد <iframe> آماده را می‌دهد.
  • هزینه: هر بار نمایش یک درخواست معمولی حساب می‌شود.
  • امنیت: کلید در کد صفحه دیده می‌شود؛ برای سایت یک توکن جدا بسازید و «دامنه‌های مجاز» و «سقف مصرف دوره‌ای» آن را تنظیم کنید.

تنظیمات هر توکن

تنظیمتوضیح
نامبرای تشخیص توکن‌ها (مثلا «اپ موبایل»، «سرور تست»)
اعتبارسقف مبلغی که این توکن می‌تواند مصرف کند؛ هر زمان از کیف پول اضافه یا به کیف پول برگردانید
سقف مصرف دوره‌ایمثلا «حداکثر ۱۰۰ هزار ژئوکوین در هفته»؛ ریست روزانه (نیمه‌شب تهران)، هفتگی (شنبه) یا ماهانه (اول ماه شمسی) (اختیاری)
سرویس‌هاهمه سرویس‌ها یا فقط سرویس‌های انتخابی
تاریخ انقضابعد از این تاریخ درخواست‌ها رد می‌شوند (اختیاری)
آی‌پی‌های مجازفقط از این آی‌پی‌ها یا رنج‌ها (مثل 10.0.0.0/24) پذیرفته می‌شود (اختیاری)
دامنه‌های مجازبرای استفاده در مرورگر؛ هدر Origin/Referer باید یکی از این دامنه‌ها باشد، مثل *.example.com (اختیاری)
سقف ساعتیحداکثر درخواست در ساعت برای کل توکن و/یا هر سرویس جداگانه (اختیاری)

در صفحه توکن‌ها، مصرف هر توکن (تعداد درخواست و هزینه به تفکیک روز و سرویس) را می‌بینید و می‌توانید توکن را ویرایش، غیرفعال یا حذف کنید یا کلید آن را عوض کنید. با حذف توکن، اعتبار باقی‌مانده‌اش به کیف پول برمی‌گردد.

یادآوری‌ها

وقتی اعتبار یک توکن رو به پایان باشد (کمتر از ۱۰٪)، تمام شود، یا تاریخ انقضای آن نزدیک باشد یا بگذرد، پیامک به شماره تایید‌شده شما و اعلان در داشبورد ارسال می‌شود.

نکات مهم

  • خطاها هزینه ندارند: اگر درخواستی به دلیل خطای ما (کد 5xx) انجام نشود یا ورودی آن نادرست باشد و رد شود (کد 400 یا 422)، هزینه‌ای کسر نمی‌شود.
  • ترتیب مختصات: در سرویس‌های POST مختصات چندضلعی و خط به شکل [lat, lon] است.
  • امنیت: برای استفاده از سرور، آی‌پی سرور را در توکن محدود کنید. اگر توکن را در مرورگر استفاده می‌کنید، حتما دامنه مجاز و سقف اعتبار و درخواست ساعتی برایش تعیین کنید.

کدهای خطای عمومی

کدخطاتوضیحهزینه کسر می‌شود؟
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سقف درخواست ساعتی توکن پر شده استخیر
429spend_limit_reachedسقف مصرف دوره‌ای توکن پر شده است؛ resets_at زمان شروع دوره بعد استخیر
502upstream_unavailableسرویس موقتا در دسترس نیستخیر
5xx—خطای داخلی سرویسخیر
APIراهنماسرویس‌های مکانی