6 votos

¿Calcular lat/lons a partir de una tabla PostGIS que tiene un sistema de coordenadas proyectado?

Tengo una tabla PostGIS en un sistema de coordenadas proyectadas (EPSG: 28355 o MGA94 Zona 55). En QGIS (con el plugin PostGIS manager) calculo una coordenada realizando el siguiente SQL:

UPDATE gisprod.buildings SET easting = x(centroid(the_geom)) 

Ahora quiero añadir un campo "lat" y "lon" a esta tabla y calcular los valores utilizando el sistema de coordenadas apropiado, que en este caso sería (EPSG:4283 o GDA94).

¿Hay alguna forma de especificar en la sentencia SQL que calcule la coordenada x/y utilizando un sistema de coordenadas diferente?

6voto

Lars Mæhlum Puntos 4569

Creo que ST_Transformación es tu amigo.

6voto

UberAlex Puntos 1854

Prueba esto, debería funcionar:

ALTER TABLE gisprod.buildings ADD COLUMN lat double precision;
ALTER TABLE gisprod.buildings ADD COLUMN lon double precision;

UPDATE gisprod.buildings SET lon = ST_X(ST_Transform(centroid(the_geom),4283));
UPDATE gisprod.buildings SET lat = ST_Y(ST_Transform(centroid(the_geom),4283));

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X