ST_MoveIsoNode — Déplace un nœud isolé dans une topologie d'un point à un autre. Si la nouvelle géométrie apoint
existe en tant que noeud, une erreur est générée. Retourne la description du déplacement.
text ST_MoveIsoNode(
varchar atopology, integer anode, geometry apoint)
;
Déplace un nœud isolé dans une topologie d'un point à un autre. Si la nouvelle géométrie apoint
existe en tant que noeud, une erreur est générée.
Si l'un des arguments est nul, si le apoint
n'est pas un point, si le noeud existant n'est pas isolé (c'est un point de départ ou d'arrivée d'une arête existante), si l'emplacement du nouveau noeud coupe une arête existante (même aux points d'arrivée) ou si le nouvel emplacement se trouve dans une face différente (depuis la version 3.2.0), une exception est levée.
Si le système de référence spatiale (srid) de la géométrie du point n'est pas le même que la topologie, une exception est levée.
Disponibilité : 2.0.0
Amélioration : la version 3.2.0 garantit que le nœud ne peut pas être déplacé vers une autre face
Cette méthode implémente la spécification SQL/MM. SQL-MM: Topo-Net Routines: X.3.2
-- Add an isolated node with no face -- SELECT topology.ST_AddIsoNode('ma_topo', NULL, ST_GeomFromText('POINT(227579 893916)', 26986) ) As nodeid; nodeid -------- 7 -- Move the new node -- SELECT topology.ST_MoveIsoNode('ma_topo', 7, ST_GeomFromText('POINT(227579.5 893916.5)', 26986) ) As descrip; descrip ---------------------------------------------------- Isolated Node 7 moved to location 227579.5,893916.5