1 votos

Transformación de geometría en Spatialite 4.1.1

Estoy intentando transformar una geometría (georeferenciada a Australia)

POLYGON((-33.917172 151.110971,-33.916443 151.112495,-33.917637 151.113276,-33.917783 151.111512,-33.917253 151.111577,-33.917172 151.110971))

del SRID 4326 al 3112 utilizando la siguiente consulta:

SELECT AsText(Transform(PolygonFromText('POLYGON((-33.917172 151.110971,-33.916443 151.112495,-33.917637 151.113276,-33.917783 151.111512,-33.917253 151.111577,-33.917172 151.110971))',4326),3112)) as result

en SpatiaLite GUI 1.7.1 con SpatiaLite 4.1.1 con todas las extensiones GEOS,PROJ habilitadas pero la geometría resultante es

POLIGONO((Inf Inf, Inf Inf Inf, Inf Inf Inf, Inf Inf Inf, Inf Inf Inf))

¿Por qué ocurre esto?

3voto

Nathan Feger Puntos 7675

El problema es que tienes las coordenadas geométricas en el orden equivocado. El Texto Bien Conocido (WKT) para el SRID 4326 utiliza la Longitud y luego la Latitud (piense en coordenadas cartesianas X-Y). Como tal, usted está pasando en latitudes más de 90 grados.

Así que la operación debería ser:

spatialite> SELECT AsText(Transform(PolygonFromText('POLYGON((151.110971 -33.917172,151.112495 -33.916443,151.113276 -33.917637,151.111512 -33.917783,151.111577 -33.917253,151.110971 -33.917172))',4326), 3112)) as result;

Que producirá:

POLYGON((1569305.481332 -3926985.759663, 1569455.307825 -3926925.091727, 1569508.606645 -3927065.382207, 1569345.639225 -3927059.314561, 1569359.502478 -3927002.182676, 1569305.481332 -3926985.759663))

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