Suite

Fusionner la chaîne de ligne inversée dans le bon ordre dans postGIS


Je veux fusionner la chaîne de ligne dans le bon ordre dans postGIS, mais parfois elles sont inversées, donc quelque chose comme ça :

select astext(linemerge(ST_union( ST_GeomFromText('LINESTRING(3 3, 2 2)'), ST_GeomFromText('LINESTRING(1 1, 2 2)'))));

renvoie ceci :

"LINESTRING (1 1,2 2,3 3)"

Mais je veux ça :

"LINESTRING(3 3, 2 2, 1 1)"

Je ne sais vraiment pas quoi faire,

Merci.


Si vous voulez juste inverser une géométrie, vous pouvez simplement utiliserST_Reverse(renvoie la géométrie avec l'ordre des sommets inversé).

Si le problème est que vous souhaitez conserver un ordre arbitraire, je ne pense pas que vous puissiez le faire en utilisantST_Union(la définition deST_Unionétant union de points, car la commande n'est pas garantie).


Donnez-le à diciu. Je veux juste ajouter un exemple :

sélectionnez ST_AsText(ST_Reverse(ST_GeomFromText('LINESTRING(3 3, 2 2)')));


Voir la vidéo: Teemana työn murros, osaaminen ja johtaminen COPE (Octobre 2021).