¿Es normal usar el tipo de geometría 'multipunto' en lugar de 'punto' sabiendo que lo uso para almacenar solo un punto?
¿Cómo puedo convertir de multipunto a punto?
¿Es normal usar el tipo de geometría 'multipunto' en lugar de 'punto' sabiendo que lo uso para almacenar solo un punto?
¿Cómo puedo convertir de multipunto a punto?
Respuestas:
Para convertir "Multipunto" en "Punto", debe usar ST_Dump , por ejemplo:
SELECT (ST_Dump(the_geom)).geom AS the_POINT_geom
FROM MULTIPOINT_table;
Sobre la cuestión de usar geometrías "múltiples" o simples, uso esta lógica:
La forma más fácil de extraer un punto de un punto único MULTIPOINT
es ST_GeometryN
:
SELECT ST_AsText(ST_GeometryN('MULTIPOINT ((1 1))', 1));
--POINT(1 1)
Esto evita posibles problemas en situaciones en las que no se puede utilizar una función de retorno de conjunto.
Hay algunas optimizaciones importantes que están disponibles solo para POINT
escribir geometrías (especialmente en versiones anteriores de PostGIS), por lo que almacenar puntos individuales POINT
es una buena práctica. A POINT
también usa aproximadamente un 25% menos de espacio que a MULTIPOINT
.