È 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 POINT
digitazione di geometrie (specialmente nelle versioni precedenti di PostGIS), pertanto è consigliabile memorizzare singoli punti come POINT
è buona prassi. A POINT
utilizza anche circa il 25% di spazio in meno rispetto a MULTIPOINT
.