پایگاه داده مکانی اَبری
زیرساخت مکانی پروژه‌های شما، بدون دردسر راه‌اندازی سرور

چطور عارضه‌ها را با ویژگی و جایشان پیدا کنم؟ (یافتن عارضه)

راهنمای گام‌به‌گام آخرین بازبینی: ۱۴۰۵/۰۸/۱۲

پاسخ کوتاه

در منوی پایگاه داده «یافتن عارضه» را باز کنید، لایه را انتخاب کنید، شرط ویژگی (مثلاً نوع = دخترانه) و در صورت نیاز شرط مکانی (داخل یک محله، تا ۵۰۰ متری خیابان، داخل شکلی که روی نقشه می‌کشید) بگذارید و «یافتن» را بزنید. نتیجه روی نقشه برجسته و در جدول فهرست می‌شود.

🎬 ویدیوی راهنما: یافتن عارضه با ویژگی و جای آن را ببینید (۱ دقیقه و ۳۳ ثانیه، بدون نیاز به صدا).

یافتن عارضه چیست؟

همان «Select by attribute» و «Select by location» در QGIS و ArcGIS، بدون نوشتن SQL. عارضه‌های پیدا‌شده روی نقشه برجسته می‌شوند و در جدول زیر نقشه می‌آیند؛ داده شما تغییر نمی‌کند.

از منوی کنار پایگاه داده، بخش داده ← یافتن عارضه را باز کنید. هر عضو تیم، حتی مشاهده‌گر، به آن دسترسی دارد.

۱. شرط ویژگی‌ها

  1. لایه را انتخاب کنید.
  2. «افزودن شرط» را بزنید، ستون و عملگر را انتخاب کنید و مقدار را بنویسید. برای ستون متنی، پرتکرارترین مقدارها زیر شرط نمایش داده می‌شوند؛ روی هر کدام بزنید تا انتخاب شود.
  3. اگر چند شرط دارید، انتخاب کنید که همه شرط‌ها برقرار باشند یا یکی از آن‌ها.

عملگرها بر اساس نوع ستون:

نوع ستون عملگرها
متن شامل، برابر، نابرابر، شروع با، پایان با، شامل نباشد، یکی از (با ویرگول جدا)، خالی
عدد =، ≠، >، ≥، <، ≤، بین، یکی از، خالی
تاریخ در روز، از، تا، بین؛ تاریخ را شمسی (۱۴۰۵/۰۸/۱۲) یا میلادی بنویسید
بله/خیر بله، خیر، خالی

مقایسه متن به بزرگی و کوچکی حروف حساس نیست و «ي/ی»، «ك/ک»، ارقام فارسی و نیم‌فاصله را یکسان می‌گیرد؛ «كتابخانه‌ي» و «کتابخانهی» هر دو پیدا می‌شوند.

۲. شرط مکانی (اختیاری)

کلید «شرط مکانی» را روشن کنید و رابطه را انتخاب کنید:

  • قطع می‌کند: هر نوع تماس یا هم‌پوشانی
  • کاملاً داخل باشد: مثلاً مدرسه‌های داخل محله نارمک
  • در بر بگیرد: مثلاً محله‌ای که یک مدرسه خاص را دارد
  • تا فاصله‌ی: مثلاً تا ۵۰۰ متری خیابان‌ها؛ فاصله به متر روی زمین حساب می‌شود
  • مجاور باشد و هیچ تماسی نداشته باشد

هدف شرط یکی از این‌هاست:

  • لایه‌ای دیگر از همین پایگاه داده. با «فقط بعضی از عارضه‌های این لایه» برای آن لایه هم شرط ویژگی بگذارید (مثلاً فقط محله‌ای که نامش نارمک است).
  • شکل روی نقشه: چندضلعی، مستطیل یا دایره بکشید.
  • محدوده فعلی نقشه: نقشه را روی محدوده دلخواه ببرید.

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

مثال: بیمارستان‌های پرتخت داخل یک محله

  1. لایه: health_centers.
  2. شرط ویژگی: ستون beds، عملگر «≥»، مقدار ۴۰ (بازه‌ی داده‌ی ستون زیر شرط دیده می‌شود).
  3. شرط مکانی: «کاملاً داخل باشد» ← «لایه‌ای دیگر» = neighborhoods ← «فقط بعضی از عارضه‌های این لایه»: ستون name برابر «هفت‌تیر».
  4. «یافتن» را بزنید و روی هر سطر جدول نتیجه بزنید تا نقشه روی آن برود.

همین جست‌وجو را با «شکل روی نقشه» ← «مستطیل» هم می‌شود انجام داد؛ آن‌وقت از اعتبار کم نمی‌شود.

اعتبار شرط بین لایه‌ها

شرط ویژگی، شکل کشیده‌شده و محدوده نقشه آزاد و نامحدودند. جست‌وجویی که شرط مکانی‌اش لایه‌ای دیگر است از اعتبار پلن کم می‌کند: پلن پیش‌فرض ۵۰ جست‌وجو در ۳۰ روز برای هر پایگاه داده. ورق زدن نتیجه و اجرای دوباره همان جست‌وجو تا نیم ساعت اعتبار تازه‌ای مصرف نمی‌کند. مانده اعتبار زیر فرم نمایش داده می‌شود و برای اعتبار بیشتر پلن را ارتقا دهید.

اگر نتیجه‌ای نیامد

  • شرط‌ها را یکی‌یکی بردارید تا ببینید کدام همه‌چیز را حذف می‌کند.
  • برای متن «شامل» را به‌جای «برابر» امتحان کنید؛ فاصله‌ی اضافه درون متن هم‌خوان نیست.
  • «کاملاً داخل باشد» عارضه‌ای را که روی مرز است یا از مرز بیرون زده نمی‌گیرد؛ «قطع می‌کند» را امتحان کنید.
  • اگر لایه روی نقشه جای اشتباهی است، SRID آن را در سلامت داده بررسی کنید.

محدودیت‌ها

  • جدول نتیجه ۵۰ سطر در هر صفحه دارد و تا ۱۰۰٬۰۰۰ عارضه شمرده می‌شود.
  • روی نقشه ۲٬۰۰۰ عارضه اول برجسته می‌شود (چرا؟).
  • هر جست‌وجو حداکثر ۲۰ ثانیه وقت دارد. اگر جدول بزرگ است، شرط را محدودتر کنید یا برای ستونی که زیاد جست‌وجو می‌کنید نمایه بسازید. افزونه pg_trgm جست‌وجوی «شامل» را روی متن سریع می‌کند.
  • ذخیره نتیجه به‌صورت لایه تازه فعلاً از این صفحه ممکن نیست. برای این کار از کنسول SQL یا پرسش فارسی استفاده کنید.

آیا این مقاله به شما کمک کرد؟

چه چیزی کم بود؟ (اختیاری)

هنوز جواب نگرفتید؟ به پشتیبانی بگویید.