È normale usare il tipo di geometria "multipunto" anziché "punto" sapendo che lo uso per memorizzare solo un punto?
Come posso convertire da multipunto a punto?
È normale usare il tipo di geometria "multipunto" anziché "punto" sapendo che lo uso per memorizzare solo un punto?
Come posso convertire da multipunto a punto?
Risposte:
Per convertire "Multipoint" in "Point", è necessario utilizzare ST_Dump , ad esempio:
SELECT (ST_Dump(the_geom)).geom AS the_POINT_geom
FROM MULTIPOINT_table;
Sulla questione dell'utilizzo di "Multi" o geometrie singole, utilizzo questa logica:
Il modo più semplice per estrarre un punto da un singolo punto MULTIPOINTè ST_GeometryN:
SELECT ST_AsText(ST_GeometryN('MULTIPOINT ((1 1))', 1));
--POINT(1 1)
Ciò evita potenziali problemi in situazioni in cui non è possibile utilizzare una funzione di ritorno.
Vi sono alcune importanti ottimizzazioni disponibili solo per la POINTdigitazione di geometrie (specialmente nelle versioni precedenti di PostGIS), pertanto è consigliabile memorizzare singoli punti come POINTè buona prassi. A POINTutilizza anche circa il 25% di spazio in meno rispetto a MULTIPOINT.