2010-06-10 14 views
21

Tengo una tabla donde una de las columnas es una columna de geometría the_geom para polígonos con un SRID. Agregué una nueva columna en la misma tabla con exactamente los mismos datos de geometría que the_geom.¿Cómo cambiar SRID de la columna de geometría?

Esta nueva columna tiene el nombre the_geom4258 porque quiero establecer su SRID en 4258. ¿Cuál es el procedimiento para cambiar el SRID de la geometría a otro sistema de coordenadas? ¿Es suficiente con aplicar la siguiente consulta:

UPDATE table SET the_geom4258=ST_SetSRID(the_geom4258,4258); 

Respuesta

26

Se debe utilizar la función de ST_Transform. También utilice la función AddGeometryColumn para crear su nueva columna, para asegurar que todas las restricciones necesarias se crean también:

SELECT AddGeometryColumn('table','the_geom4258',4258, 'POLYGON', 2); 

UPDATE table SET the_geom4258 = ST_Transform(the_geom,4258); 

ST_SetSRID simplemente establece el identificador de proyección, pero en realidad no se transforman las geometrías.

+0

Su respuesta es exactamente lo que necesito. Así que muchas gracias de verdad. Solo hay una pequeña cosa, ahora tengo el error: "ERROR: AddToPROJ4SRSCache: no se pudo analizar cadena proj4: '+ proj = tmerc + lat_0 = 0 + lon_0 = 16.5 + k = 0.999900 + x_0 = 500000 + y_0 = 0 + ellps = GRS80 + datum = ETRS89 + unidades = m + no_defs ': nombre del parámetro elíptico desconocido " Cualquier pista, ¿qué debería corregir ahora? – Z77

+1

Asegúrese de que haya un registro para srid 4258 en la tabla spatial_ref_sys de su base de datos. Si hay un registro, verifique que los parámetros de proyección coincidan con los aquí: http://spatialreference.org/ref/epsg/4258/postgis/ – amercader

+0

¡OK! Soy una chica con suerte, todas las respuestas que puedo encontrar aquí :) – Z77

Cuestiones relacionadas