Est-il normal d'utiliser le type de géométrie «multipoint» au lieu de «point» sachant que je l'utilise pour stocker un seul point?
Comment puis-je convertir de multipoint en point?
Est-il normal d'utiliser le type de géométrie «multipoint» au lieu de «point» sachant que je l'utilise pour stocker un seul point?
Comment puis-je convertir de multipoint en point?
Réponses:
Pour convertir "Multipoint" en "Point", vous devez utiliser ST_Dump , par exemple:
SELECT (ST_Dump(the_geom)).geom AS the_POINT_geom
FROM MULTIPOINT_table;
Sur la question de l'utilisation des géométries "Multi" ou simples, j'utilise cette logique:
La façon la plus simple d'extraire un point d'un point unique MULTIPOINT
est ST_GeometryN
:
SELECT ST_AsText(ST_GeometryN('MULTIPOINT ((1 1))', 1));
--POINT(1 1)
Cela évite les problèmes potentiels dans les situations où une fonction de retour d'ensemble ne peut pas être utilisée.
Certaines optimisations importantes ne sont disponibles que pour POINT
les géométries de type (en particulier dans les versions antérieures de PostGIS), afin de stocker des points uniques, conformément aux POINT
bonnes pratiques. A POINT
utilise également environ 25% d'espace en moins que a MULTIPOINT
.