Shapefile verilerimi PostGIS'e aktarırken, uygun Projeksiyonu seçmedim.
Koordinatları dönüştürmeden şimdi verinin SRID'sini nasıl değiştiririm?
Shapefile verilerimi PostGIS'e aktarırken, uygun Projeksiyonu seçmedim.
Koordinatları dönüştürmeden şimdi verinin SRID'sini nasıl değiştiririm?
Yanıtlar:
Bunu sizin için yapan tek bir satır fonksiyonu var. Sadece aşağıdaki SQL sorgusunu kullanın:
select UpdateGeometrySRID('Schema Name', 'mytable', 'the_geom', newSRID) ;
Fakat, eğer benim gibiyseniz, düşük seviyeli minyatür adımlarla ilgilenirsiniz. Mantıken konuşursak, yukarıdaki işlev aşağıdaki dört adım işlemine eşdeğerdir:
Geometry_columns tablosunda, SRID'yi istenen değere güncelleyin.
Aşağıdaki SQL deyimini kullanarak kısıtlamayı masaya bırakın.
ALTER TABLE mytable DROP CONSTRAINT enforce_srid_the_geom;
Aşağıdaki SQL deyimini kullanarak geometrinin SRID'lerini güncelleyin
UPDATE mytable SET the_geom = ST_SetSRID(the_geom, newSRID);
Aşağıdaki SQL deyimini kullanarak kısıtlamayı geri ekleyin
ALTER TABLE mytable
ADD CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = (newSRID));
PostGIS 2.x ile, geometri sütunları genellikle benzeri yazım modlarını kullanır geometry(Point, 1234)
. Bunlar için tek adımda geometri sütun tipini doğrudan değiştirmek için ALTER TABLE'ı kullanabilirsiniz .
Örneğin, SRID ayarlamak için geom
de mytable
WGS84 için kullanın ST_SetSRID :
ALTER TABLE mytable
ALTER COLUMN geom
TYPE geometry(Point, 4326)
USING ST_SetSRID(geom, 4326);
Bunun yalnızca SRID'yi değiştireceğini, ancak koordinat verilerini dönüştürmeyeceğini unutmayın.
UpdateGeometrySRID
.