É normal usar o tipo de geometria 'multiponto' em vez de 'ponto' sabendo que eu o uso para armazenar apenas um ponto?
Como posso converter de multiponto em ponto?
É normal usar o tipo de geometria 'multiponto' em vez de 'ponto' sabendo que eu o uso para armazenar apenas um ponto?
Como posso converter de multiponto em ponto?
Respostas:
Para converter "Multiponto" em "Ponto", você deve usar ST_Dump , por exemplo:
SELECT (ST_Dump(the_geom)).geom AS the_POINT_geom
FROM MULTIPOINT_table;
Sobre a questão de usar "Multi" ou geometrias únicas, eu uso esta lógica:
A maneira mais fácil de extrair um ponto de um ponto único MULTIPOINT
é ST_GeometryN
:
SELECT ST_AsText(ST_GeometryN('MULTIPOINT ((1 1))', 1));
--POINT(1 1)
Isso evita possíveis problemas em situações em que uma função de retorno de conjunto não pode ser usada.
Existem algumas otimizações importantes disponíveis apenas para POINT
digitar geometrias (especialmente em versões anteriores do PostGIS), armazenando pontos únicos, como POINT
é uma boa prática. A POINT
também usa cerca de 25% menos espaço que a MULTIPOINT
.