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 ندارد روی نقشه نمایش داده نمیشود (توضیح).
آیا این مقاله به شما کمک کرد؟
هنوز جواب نگرفتید؟ به پشتیبانی بگویید.