Namn

UpdateGeometrySRID — Uppdaterar SRID för alla objekt i en geometrikolumn och metadata för tabellen.

Synopsis

text UpdateGeometrySRID(varchar table_name, varchar column_name, integer srid);

text UpdateGeometrySRID(varchar schema_name, varchar table_name, varchar column_name, integer srid);

text UpdateGeometrySRID(varchar catalog_name, varchar schema_name, varchar table_name, varchar column_name, integer srid);

Beskrivning

Uppdaterar SRID för alla objekt i en geometrikolumn och uppdaterar begränsningar och referens i geometry_columns. Om kolumnen styrdes av en typdefinition kommer typdefinitionen att ändras. Observera: använder current_schema() på schemamedvetna pgsql-installationer om schema inte har angetts.

Denna funktion stöder 3d och kommer inte att tappa z-index.

Denna metod stöder cirkulära strängar och kurvor.

Exempel

Infoga geometrier i vägtabeller med en SRID-uppsättning som redan använder EWKT-format:

Code
COPY roads (geom) FROM STDIN;
SRID=4326;LINESTRING(0 0, 10 10)
SRID=4326;LINESTRING(10 10, 15 0)
\.
        

Detta kommer att ändra srid för vägtabellen till 4326 från vad det var tidigare:

Code
SELECT UpdateGeometrySRID('roads', 'geom', 4326);

Det tidigare exemplet motsvarar denna DDL-sats:

Code
ALTER TABLE roads
ALTER COLUMN geom TYPE geometry(MULTILINESTRING, 4326)
  USING ST_SetSRID(geom, 4326);

Om du fick fel projektion (eller tog in den som okänd) i lasten och du ville omvandla till webbmercator allt på en gång kan du göra det med DDL men det finns ingen motsvarande PostGIS-hanteringsfunktion för att göra det på en gång.

Code
ALTER TABLE roads
ALTER COLUMN geom TYPE geometry(MULTILINESTRING, 3857) USING ST_Transform(ST_SetSRID(geom, 4326), 3857) ;