Move an isolated node.
For ST_MoveIsoNode
- Parameters
-
topo | the topology to operate on |
node | the identifier of the nod to be moved |
pt | the new node position |
- Returns
- 0 on success, -1 on error (liblwgeom error handler will be invoked with error message)
Definition at line 3561 of file lwgeom_topo.c.
3567 if ( ! node )
return -1;
3572 lwerror(
"SQL/MM Spatial exception - coincident node");
3579 lwerror(
"SQL/MM Spatial exception - edge crosses node.");
#define LWT_COL_NODE_GEOM
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
int lwt_be_ExistsEdgeIntersectingPoint(LWT_TOPOLOGY *topo, LWPOINT *pt)
const char * lwt_be_lastErrorMessage(const LWT_BE_IFACE *be)
static LWT_ISO_NODE * _lwt_GetIsoNode(LWT_TOPOLOGY *topo, LWT_ELEMID nid)
static int lwt_be_updateNodesById(LWT_TOPOLOGY *topo, const LWT_ISO_NODE *nodes, int numnodes, int upd_fields)
int lwt_be_ExistsCoincidentNode(LWT_TOPOLOGY *topo, LWPOINT *pt)
const LWT_BE_IFACE * be_iface
References _lwt_GetIsoNode(), LWT_TOPOLOGY_T::be_iface, LWT_ISO_NODE::geom, lwerror(), lwfree(), lwt_be_ExistsCoincidentNode(), lwt_be_ExistsEdgeIntersectingPoint(), lwt_be_lastErrorMessage(), lwt_be_updateNodesById(), LWT_COL_NODE_GEOM, and LWT_ISO_NODE::node_id.