سرویس جستجوی آدرس کامل

سرویس جستجوی آدرس کامل، آدرس متنی کامل را به مختصات جغرافیایی تبدیل می‌کند. این سرویس متناسب سازی شده با جستجوی آدرس‌های کامل است. آدرس کامل متنی به صورت آفلاین و توسط سیستم به سرویس ارسال می‌شود و سرویس در پاسخ مختصات جغرافیایی آدرس مورد نظر همراه با دقت نتیجه جستجو را برمی‌گرداند. مزیت اصلی این سرویس نسبت به سرویس جستجوی مستقیم، افزایش دقت آدرس‌یابی و تعداد اجزای قابل پردازش آدرس است. به طوریکه سرویس می‌تواند آدرس متنی کاملی شامل پلاک، واحد و سایر اطلاعات جانبی را پردازش کند. به عنوان مثال می‌توان آدرس "خیابان ستارخان، بعد از چهارراه خسرو، خیابان کاشانی‌پور، خ فیاض، بن بابایی پلاک ۲، واحد سوم، ۴۴۵۶۸۴۴۷، انتهای کوچه درب سفید رنگ برسد به دست آقای هاشمی" را جستجو کرد.

برای جستجوی آدرس و مکان‌ها نیاز است تا کاربر یکی از تقسیمات کشوری شامل استان، شهرستان، بخش و یا شهری که جستجو باید در آن صورت گیرد را مشخص کند. به یکی از چهار روش‌ زیر می‌توان شهر و یا استان مورد نظر را تعیین کرد:

  • ارسال کد مرکز آمار تقسیمات کشوری

  • ارسال کد یکتای تقسیمات کشوری در سامانه پارسی‌مپ

  • ارسال عنوان متنی تقسیمات کشوری به صورت تکی و یا ترکیبی (به عنوان مثال: شهر نایین و یا استان اصفهان شهر نایین )

  • ارسال مختصات جغرافیایی

قابلیت‌های سرویس

تبدیل آدرس کامل متنی به مختصات به همراه ارائه certainty.
جستجوی آدرس کامل پلاک دار و واحد دار که دارای سایر اطلاعات جانبی از قبیل شماره واحد، رنگ درب، عنوان صاحب ملک و ... نیز است.
جستجوی آدرس تنها در استان، شهرستان، بخش و یا شهر موردنظر بدون درنظر گرفتن تقسیمات کشوری وارد شده در متن جستجو.
تبدیل آدرس متنی به مختصات به همراه ارائه گروهی که موقعیت فوق به آن تعلق دارد. به‌عنوان مثال: خیابان، Poi ، پارسل و ...
تبدیل آدرس متنی به مختصات به همراه ارائه تقسیمات کشوری در موقعیت درخواستی.

ساختار کلی سرویس

get
/geocode/address?parameters

پارامترهای ورودی

پارامترهای مورد نیاز

پارامتر توضیحات
search_text متن آدرس و یا محل مورد جستجو را مشخص می‌کند.
district استان، شهرستان، بخش و یا شهری که جستجو باید در آن صورت گیرد را مشخص می‌کند. برای تعیین آن می‌توان یکی از چهار روش زیر را استفاده کرد:
  • ارسال کد مرکز آمار تقسیمات کشوری. به‌عنوان مثال ST۲۳۰۱۰۲۱۵۷۶ کد مرکز آمار شهر تهران است. 
  • ارسال کد یکتای تقسیمات کشوری در سامانه پارسی‌مپ. به‌عنوان مثال، کد جستجو در استان و شهر تهران در سامانه پارسی‌مپ به ترتیب ۱۰۰۱ و ۱۰۵۱۱۱۳۳ است.
  • ارسال عنوان متنی تقسیمات کشوری به صورت تکی و یا ترکیبی. برای جستجوی هرچه دقیق‌تر آدرس و مکان‌ها پیشنهاد می‌شود پیشوند استان، شهرستان، بخش و یا شهر در کنار عنوان آن‌ها ارسال شود. به عنوان مثال استان اصفهان شهر نایین. 
  • ارسال مختصات جغرافیایی محدوده‌ای که جستجو باید در آن صورت گیرد. 
برای اطلاع از کد هر یک از تقسیمات کشوری شامل، استان، شهرستان، بخش و شهر در سامانه پارسی مپ، با ارسال یک درخواست به سرویس آدرس‌یابی معکوس این کدها در اختیارتان قرار خواهد گرفت. در پاسخ سرویس آدرس‌یابی معکوس می‌توان کد تقسیمات کشوری را دریافت نمود و از آن در ارسال درخواست آدرس‌یابی مستقیم بهره برد.

پارامترهای اختیاری

پارامترهای اختیاری آپشن‌ها و امکانات مختلف سرویس را ارائه می‌دهند. ارسال آن‌ها جهت استفاده از سرویس اجباری نیست.

پارامتر توضیحات مقدار پیش‌فرض
only_in_district جستجو را تنها در  district (استان، شهرستان، بخش و یا شهر) مشخص شده در ورودی انجام می‌دهد. اگر مقدار این پارامتر true باشد، سرویس شهر و استانی که در متن  آدرس وارد شده است را درنظر نمی‌گیرد و تنها در district درخواستی جستجو می‌کند. اگر مقدار این پارامتر false باشد، جستجو در district درخواستی و تقسیمات کشوری نوشته شده در متن آدرس انجام می‌شود.
به‌عنوان مثال اگر در district کد ۱۰۰۱ و در متن آدرس شیراز وارد شود، در صورتیکه این پارامتر true باشد، در استان تهران بلوار صیاد شیرازی، خیابان شیراز شمالی، میدان شیراز، خ شیراز در افسریه و خ شیرازی را پیدا می‌کند و اگر مقدار این پارامتر false باشد، جستجو هم در شهر شیراز و هم در استان تهران انجام می‌گیرد.
مقدار پیش‌فرض false است.
plate جستجوی آدرس با درنظر گرفتن پلاک است. اگر مقدار این پارامتر true باشد، آدرس‌یابی پلاک‌دار انجام می‌گیرد. اگر بخواهید جستجو بدون درنظر گرفتن پلاک صورت گیرد، مقدار این پارامتر باید false باشد. مقدار پیش‌فرض false است.
subdivision تقسیمات سیاسی کشوری مربوط به نقطه درخواستی را مشخص می‌کند. اگر مقدار این پارامتر true باشد، استان، شهرستان، بخش و یا شهری که جستجو در آن صورت گرفته است تعیین می‌شوند. در غیر این صورت اگر مقداری در این پارامتر وارد نشده باشد و یا مقدار آن false باشد، تقسیمات کشوری برای نقطه مورد نظر نمایش داده نمی‌شوند. مقدار پیش‌فرض false است.
request_id در صورت ست شدن پارامتر فوق، به صورت یکتا در روز می‌توان برای پیگیری استفاده نمود. به صورت پیش‌فرض، عدم پیگیری در روز است.

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

درخواست تبدیل آدرس متنی کامل (پلاک‌دار) به مختصات جغرافیایی

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

https://api.parsimap.ir/geocode/address?key=PMI_API_TOKEN&search_text=ستارخان خ کاشانی پور  پلاک 11 واحد 2 انتهای کوچه درب سبز برسد به دست خانم یزدانی تلفن 44267895&district=1001&only_in_district=true&subdivision=false&plate=true&request_id=false

نمونه پاسخ

{
  "results": [
    {
      "geo_location": {
        "south_west": {
          "lat": 35.716281,
          "lng": 51.353131
        },
        "north_east": {
          "lat": 35.719563,
          "lng": 51.357173
        },
        "center": {
          "lat": 35.717922,
          "lng": 51.355152
        },
        "title": "پلاک 11",
        "category": "Parcel"
      },
      "certainty": 100
    }
  ],
  "address_info": {
    "plate": "11",
    "unit": "2",
    "door": "سبز",
    "phone": "44267895",
    "person": "خانم یزدانی"
  },
  "status": "OK"
}

پارامترهای خروجی

پارامتر توضیحات
results مشخصات موقعیت جغرافیایی یافت را نشان می‌دهد. شامل بخش‌های زیر است:
  • geo_location: مشخصات جغرافیایی عارضه و یا مقصد یافت شده است که شامل مختصات جغرافیایی مرکز نتیجه جستجو و شمال شرق و جنوب غرب آن (مرز مکان یافت شده) است.
  • title: عنوان مکان یافت شده است.
  • category: گروه عارضه و یا مقصد یافت شده است. عوارض و مقصدها در پنج گروه زیر دسته‌بندی می‌شوند: district، Neighborhood، Street، Poi و Parcel
description آدرس متنی عارضه و یا مقصد یافت شده است.
category گروه عارضه و یا مقصد یافت شده است. عوارض و مقصدها در پنج گروه زیر دستبه‌بندی می‌شوند: district، Neighborhood، Street، Poi Parcel
certainty میزان صحت مختصات یافت شده را نشان می‌دهد. برای مثال certainty ۱۰۰  به معنی صحت کامل و اطمینان صددرصد نتیجه بدست آمده است. در صورتیکه آدرس از لحاظ مکانی نادرست باشد ( مانند: ستارخان میدان ونک قبل از میرداماد نبش خدامی) و یا سرویس موقعیت‌هایی نزدیک به آدرس فوق را پیدا کند، میزان دقت نتیجه بدست آمده کمتر از صد درصد است.
address_info اطلاعات جانبی آدرس متنی است. به‌عنوان مثال پلاک، واحد، تلفن، رنگ در و ... را نمایش می‌دهد.
status نتیجه درخواست را نشان می‌دهد. برای مثال نتیجه این درخواست OK است که به معنی موفق بودن درخواست است. نتیجه پاسخ به درخواست ارسالی توسط کاربر در قالب جدول زیر ارائه شده است: جدول

تبدیل آدرس کامل نادرست به مختصات جغرافیایی

با ارسال آدرس‌های کاملی که از نظر مکانی نادرست هستند، مختصات نزدیک‌ترین آدرس صحیح به آدرس فوق در پاسخ ارسال می‌شود که دارای دقت کمتر از صد درصد هستند. به عنوان مثال با ارسال درخواست جستجوی آدرس کامل "صادقیه خ ولیعصر بعد از خیابان زرتشت، خیابان جاوید پلاک ۱۰" به سرویس، مختصات جغرافیایی یافت شده دارای دقت کامل درصد نیست، زیرا آدرس فوق از نظر مکانی نادرست است. مختصات جغرافیایی نزدیک‌ترین آدرس صحیح به آدرس درخواستی یعنی خ ولیعصر بعد از خ زرتشت، خ جاوید، پلاک ۱۰، در پاسخ برگردانده شده است.

https://api.parsimap.ir/geocode/address?key=PMI_API_TOKEN&search_text=صادقیه خ ولیعصر بعد از خیابان زرتشت، خیابان جاوید پلاک 10&district=1001&only_in_district=true&subdivision=false&plate=true

نمونه پاسخ

{
  "results": [
    {
      "geo_location": {
        "south_west": {
          "lat": 35.716517,
          "lng": 51.408593
        },
        "north_east": {
          "lat": 35.719799,
          "lng": 51.412635
        },
        "center": {
          "lat": 35.718158,
          "lng": 51.410614
        },
        "title": "پلاک 10",
        "category": "Parcel"
      },
      "certainty": 30
    }
  ],
  "address_info": {
    "plate": "10"
  },
  "status": "OK"
}

درخواست جستجوی آدرس تنها در استان، شهرستان، بخش و یا شهر تعیین شده در ورودی

با ارسال آدرس متنی درخواستی و مشخص کردن یکی از تقسمات کشوری که جستجو باید در آن صورت گیرد، درصورتیکه only_in_distrct true باشد، جستجو تنها در district تعیین شده انجام می‌گیرد و سرویس در پاسخ مختصات جغرافیایی آدرس متنی را برمی‌گرداند. در مثال زیر از سرویس درخواست شده تا تنها در استان تهران "تخت جمشید" را جستجو کند. درنتیجه در خروجی خیابان تخت جمشید تهران، بلوار تخت جمشید پردیس و میدان تخت جمشید پرند برگردانده شده است. درصورتیکه only_in_distrct false باشد، جستجوی تخت جمشید به صورت کشوری انجام می‌شود و جاذبه گردشگری تخت جمشید در استان فارس در در پاسخ برگردانده می‌شود.

https://api.parsimap.ir/geocode/address?key=PMI_API_TOKEN&search_text=تخت جمشید&district=1001&only_in_district=true&subdivision=false&plate=false

نمونه پاسخ

{
  "results": [
    {
      "geo_location": {
        "south_west": {
          "lat": 35.704391,
          "lng": 51.396621
        },
        "north_east": {
          "lat": 35.707328,
          "lng": 51.433981
        },
        "center": {
          "lat": 35.706751,
          "lng": 51.415354
        },
        "title": "خ. تخت جمشید",
        "category": "Street"
      },
      "description": "تهران، خ. تخت جمشید",
      "certainty": 100
    },
    {
      "geo_location": {
        "south_west": {
          "lat": 35.722179,
          "lng": 51.751681
        },
        "north_east": {
          "lat": 35.733188,
          "lng": 51.766219
        },
        "center": {
          "lat": 35.728217,
          "lng": 51.755554
        },
        "title": "بل تخت جمشید",
        "category": "Street"
      },
      "description": "استان تهران، شهر پردیس، فاز 8، بل تخت جمشید",
      "certainty": 47
    },
    {
      "geo_location": {
        "south_west": {
          "lat": 35.467957,
          "lng": 50.984963
        },
        "north_east": {
          "lat": 35.471556,
          "lng": 50.989454
        },
        "center": {
          "lat": 35.469992,
          "lng": 50.987213
        },
        "title": "م. تخت جمشید",
        "category": "Street"
      },
      "description": "استان تهران، شهر پرند، فاز صفر، م. تخت جمشید",
      "certainty": 42
    }
  ],
  "status": "OK"
} 

درخواست تبدیل آدرس متنی به مختصات به‌همراه ارائه تقسیمات کشوری

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

https://api.parsimap.ir/geocode/address?key=PMI_API_TOKEN&search_text=دانشگاه علامه طباطبایی&district=1001&only_in_district=true&subdivision=true&plate=false

نمونه پاسخ

{
  "results": [
    {
      "geo_location": {
        "south_west": {
          "lat": 35.757778,
          "lng": 51.258054
        },
        "north_east": {
          "lat": 35.761422,
          "lng": 51.262546
        },
        "center": {
          "lat": 35.7596,
          "lng": 51.2603
        },
        "title": "دانشگاه علامه طباطبائی",
        "category": "Poi"
      },
      "description": "تهران، دانشگاه علامه طباطبائی",
      "subdivision": {
        "id": 10511133,
        "title": "شهر تهران",
        "code": "2301021576",
        "type": "shahr"
      },
      "certainty": 100
    }
  ],
  "status": "OK"
}

پارامترهای خروجی

پارامتر توضیحات
subdivision تقسیمات سیاسی کشوری در نقطه درخواستی است. این پارامتر شامل چهار بخش‌ استان (ostan)، شهرستان (sharestan)، بخش (bakhsh)، شهر (shahr) و یا روستا (rusta) است. هر بخش نیز شامل موارد زیر است:
  • id: کد تقسیمات کشوری در سامانه پارسی‌مپ برای استان، شهرستان، بخش و شهر است.
  • title: عنوان تقسیمات کشوری شامل استان، شهرستان، بخش و شهر است.
  • code: کد مرکز آمار تقسیمات کشوری برای سطح استان، شهرستان، بخش و شهر است.
  • type: تقسیمات کشوری شامل استان، شهرستان، بخش و شهر است.