Ce face ST_PointFromText(), ST_LineFromText(), ST_PolyFromText()
Funcțiile funcționează ca ST_GeomFromText(), dar acceptă doar un anumit tip de geometrie: ST_PointFromText() doar POINT, ST_LineFromText() doar LINESTRING, ST_PolyFromText() doar POLYGON. Dacă textul are alt tip, primești eroarea „WKT value is a geometry of unexpected type”.
Sinonime: ST_LineStringFromText() pentru ST_LineFromText() și ST_PolygonFromText() pentru ST_PolyFromText(). Parametrii srid și optiuni au același rol ca la ST_GeomFromText().
Parametri
| Parametru | Descriere |
|---|---|
wkt |
Textul geometriei, de tipul potrivit funcției. |
srid |
Opțional: sistemul de coordonate. |
optiuni |
Opțional: ordinea axelor, de exemplu 'axis-order=long-lat'. |
Ce returnează
Un POINT, LINESTRING sau POLYGON.
Exemple
Exemplul 1: Câte o geometrie din fiecare tip
SELECT ST_AsText(ST_PointFromText('POINT(2 6)')) AS punct,
ST_Length(ST_LineFromText('LINESTRING(0 0,3 0,3 4)')) AS lungime_linie,
ST_Area(ST_PolyFromText('POLYGON((0 0,4 0,4 4,0 4,0 0))')) AS arie_poligon;
Rezultat
+------------+---------------+--------------+
| punct | lungime_linie | arie_poligon |
+------------+---------------+--------------+
| POINT(2 6) | 7 | 16 |
+------------+---------------+--------------+
Exemplul 2: Sinonimele și SRID-ul
SET @traseu = ST_LineStringFromText('LINESTRING(47.1585 27.6014, 46.7712 23.6236)', 4326);
SET @zona = ST_PolygonFromText('POLYGON((0 0,2 0,2 2,0 0))');
SELECT ROUND(ST_Length(@traseu) / 1000) AS km_iasi_cluj,
ST_SRID(@traseu) AS srid,
ST_Area(@zona) AS arie;
Rezultat
+--------------+------+------+
| km_iasi_cluj | srid | arie |
+--------------+------+------+
| 306 | 4326 | 2 |
+--------------+------+------+
Greșeli frecvente
- Folosești
ST_PointFromText()pentru orice text primit de la utilizator. Dacă tipul nu se potrivește, interogarea se oprește cu eroare; pentru tipuri amestecate foloseșteST_GeomFromText().
Comenzi înrudite
ST_GeomFromText(): Creează o geometrie de orice tip din textul ei WKT („Well-Known Text”), opțional cu SRID.ST_MPointFromText() și celelalte funcții WKT pentru colecții: Creează din text WKT geometrii compuse: MULTIPOINT, MULTILINESTRING, MULTIPOLYGON sau GEOMETRYCOLLECTION.Point(): Creează un punct din coordonatele lui x și y; este cel mai simplu mod de a construi o geometrie.LineString(): Construiește o linie frântă (LINESTRING) din două sau mai multe puncte.Polygon(): Construiește un poligon din unul sau mai multe inele (LineString-uri închise).