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

SRID و EPSG چیست و چرا اشتباه بودنش لایه‌ها را جابه‌جا می‌کند؟

مفهوم و توضیح آخرین بازبینی: ۱۴۰۵/۰۷/۲۹

پاسخ کوتاه

SRID شماره سیستم مختصات (معمولاً همان کد EPSG) است. اگر روی داده اشتباه باشد، لایه جابه‌جا یا در جای دیگر دنیا دیده می‌شود. SRID فقط برچسب است و با ST_Transform مختصات واقعاً تبدیل می‌شود.

تعریف

هر مختصات فقط با یک سیستم مختصات (CRS) معنی دارد. PostGIS شماره آن را (SRID) روی هر هندسه نگه می‌دارد؛ برای بیشتر سیستم‌ها همان کد EPSG است. اشتباه بودن SRID رایج‌ترین دلیل «جابه‌جا افتادن لایه‌ها» است.

سیستم‌های رایج

SRID نام کاربرد واحد
4326 WGS 84 جغرافیایی ذخیره عمومی، GPS، GeoJSON درجه
3857 Web Mercator نمایش روی نقشه‌های وب؛ برای مساحت مناسب نیست متر (تحریف‌شده)
32638 تا 32641 UTM مناطق ایران محاسبه دقیق فاصله و مساحت متر

انتخاب برای ایران: کدام SRID برای ایران؟

دو کار متفاوت

-- فقط برچسب را اصلاح می‌کند (وقتی مختصات درست است ولی SRID اشتباه ثبت شده)
SELECT UpdateGeometrySRID('parcels', 'geom', 32639);

-- مختصات را واقعاً به سیستم دیگری تبدیل می‌کند
SELECT ST_Transform(geom, 4326) FROM parcels;

قاعده

اگر داده در واقع به UTM است ولی با 4326 برچسب خورده، ST_Transform جواب غلط می‌دهد. اول UpdateGeometrySRID (یا ST_SetSRID) برای برچسب درست، بعد ST_Transform برای تبدیل.

در این سایت

هنگام ورود فایل اگر SRID تشخیص داده نشود، خودتان آن را وارد می‌کنید و می‌توانید تیک «تبدیل به EPSG:4326» را بزنید. لایه‌ای که SRID ندارد روی نقشه نمایش داده نمی‌شود (توضیح).

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

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

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