Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
ST_ SetPoint
ST_ SetPoint restituisce una stringa di linee con coordinate aggiornate rispetto alla posizione della stringa di linea di input specificata dall'indice. Le nuove coordinate sono le coordinate del punto di input.
La dimensione della geometria restituita è la stessa del valore geom1. Se geom1 e geom2 hanno dimensioni diverse, geom2 è proiettato sulla dimensione di geom1.
Sintassi
ST_SetPoint(geom1, index, geom2)
Argomenti
- geom1
-
Un valore di tipo
GEOMETRY
o un'espressione che restituisce un valore di tipoGEOMETRY
. Questo sottotipo deve essereLINESTRING
. - indice
-
Un valore del tipo di dati
INTEGER
che rappresenta la posizione di un indice. Un0
si riferisce al primo punto del linestring da sinistra,1
si riferisce al secondo punto e così via. L'indice può essere un valore negativo. Un-1
si riferisce al primo punto del linestring da sinistra,-2
si riferisce al secondo punto da destra e così via. - geom2
-
Un valore di tipo
GEOMETRY
o un'espressione che restituisce un valore di tipoGEOMETRY
. Questo sottotipo deve esserePOINT
.
Tipo restituito
GEOMETRY
Se geom2 è il punto vuoto, allora viene restituito geom1.
Se geom1, geom2 o index sono nulli, allora viene restituito il valore nullo.
Se geom1 non è una linestring, allora viene restituito un errore.
Se index non è compreso in un intervallo di indice valido, allora viene restituito un errore.
Se geom2 non è un punto, allora viene restituito un errore.
Se geom1 e geom2 non presentano lo stesso valore di identificatore del sistema di riferimento spaziale (SRID), allora viene restituito il valore nullo.
Esempi
Il seguente SQL restituisce un nuovo linestring in cui è stato impostato il secondo punto del linestring di input con il punto specificato.
SELECT ST_AsText(ST_SetPoint(ST_GeomFromText('LINESTRING(1 2, 3 2, 5 2, 1 2)'), 2, ST_GeomFromText('POINT(7 9)')));
st_astext
-------------
LINESTRING(1 2,3 2,7 9,1 2)
Il seguente SQL di esempio restituisce un nuovo linestring in cui è stato impostato il terzo punto dalla destra (l'indice è negativo) del linestring di input con il punto specificato.
SELECT ST_AsText(ST_SetPoint(ST_GeomFromText('LINESTRING(1 2, 3 2, 5 2, 1 2)'), -3, ST_GeomFromText('POINT(7 9)')));
st_astext
-------------
LINESTRING(1 2,7 9,5 2,1 2)