PostGIS'e Özel CRS Ekleme
PostGIS, koordinat referans sistemlerini spatial_ref_sys tablosunda saklar. Yeni bir CRS eklemek için bu tabloya bir INSERT sorgusu çalıştırmanız yeterlidir.
Adım 1: Mevcut Tanımı Kontrol Edin
SQL
SELECT srid, proj4text FROM spatial_ref_sys WHERE srid = 5255; Eğer sonuç dönmüyorsa, CRS tanımını eklemeniz gerekiyor.
Adım 2: CRS Tanımını Ekleyin
SQL
INSERT INTO spatial_ref_sys (srid, auth_name, auth_srid, proj4text, srtext)
VALUES (
5255,
'EPSG',
5255,
'+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs +type=crs',
'PROJCS["TUREF / TM33",GEOGCS["TUREF",DATUM["Turkish_National_Reference_Frame",SPHEROID["GRS 1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",33],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1]]'
); İhtiyacınız olan EPSG kodunu ana sayfada arayabilir ve PostGIS sekmesinden SQL sorgusunu kopyalayabilirsiniz.
Adım 3: Doğrulayın
SQL
SELECT srid, auth_name, proj4text FROM spatial_ref_sys WHERE srid = 5255; Mevcut Tanımı Güncelleme
Var olan bir CRS'yi güncellemek için:
SQL
UPDATE spatial_ref_sys
SET proj4text = '+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs'
WHERE srid = 5255; Notlar
proj4textsütunu PostGIS'in dahili dönüşümleri için kullandığı PROJ.4 dizesidir.srtextsütunu WKT formatında tanımı içerir ve bazı istemciler tarafından kullanılır.- PostGIS 3.x, PROJ 6+ ile gelir ve
proj4textyerinesrtext'i tercih eder. - Geometri sütunlarının SRID'sini dönüştürmek için:
ST_Transform(geom, 5255)