Ce face GeomCollection()
O colecție (GEOMETRYCOLLECTION) poate conține geometrii diferite, de exemplu sediul unei firme (punct) și traseul de livrare (linie). GeometryCollection() este sinonim; manualul recomandă numele scurt GeomCollection().
Apelată fără argumente, funcția creează colecția goală, singura geometrie goală acceptată de MySQL. Textul ei WKT este GEOMETRYCOLLECTION EMPTY.
Parametri
| Parametru | Descriere |
|---|---|
geometrie1, geometrie2, ... |
Geometriile de pus în colecție (oricâte, chiar zero). |
Ce returnează
O valoare GEOMETRYCOLLECTION.
Exemple
Exemplul 1: Colecție cu un punct și o linie
SET @livrare = GeomCollection(Point(1, 1), LineString(Point(1, 1), Point(5, 3)));
SELECT ST_AsText(@livrare) AS colectie,
ST_NumGeometries(@livrare) AS elemente,
ST_GeometryType(@livrare) AS tip;
Rezultat
+----------------------------------------------------+----------+----------------+
| colectie | elemente | tip |
+----------------------------------------------------+----------+----------------+
| GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(1 1,5 3)) | 2 | GEOMCOLLECTION |
+----------------------------------------------------+----------+----------------+
Exemplul 2: Colecția goală și sinonimul GeometryCollection()
SELECT ST_AsText(GeomCollection()) AS goala,
ST_IsEmpty(GeomCollection()) AS e_goala,
ST_AsText(GeometryCollection(Point(2, 2))) AS cu_sinonim;
Rezultat
+--------------------------+---------+--------------------------------+
| goala | e_goala | cu_sinonim |
+--------------------------+---------+--------------------------------+
| GEOMETRYCOLLECTION EMPTY | 1 | GEOMETRYCOLLECTION(POINT(2 2)) |
+--------------------------+---------+--------------------------------+
Greșeli frecvente
- Folosești o colecție când toate elementele au același tip.
MultiPoint(),MultiLineString()sauMultiPolygon()sunt mai precise și au mai multe funcții potrivite (de exempluST_Area()peMULTIPOLYGON).
Comenzi înrudite
MultiPoint(), MultiLineString(), MultiPolygon(): Grupează mai multe puncte, linii sau poligoane într-o singură geometrie de tip „Multi”.ST_GeometryN() și ST_NumGeometries(): Returnează a n-a geometrie dintr-o colecție sau dintr-o geometrie Multi, respectiv numărul de elemente.ST_Collect(): Funcție de agregare: strânge geometriile din mai multe rânduri într-o singură geometrie Multi sau colecție.ST_IsEmpty(): Returnează 1 dacă geometria este goală (colecția goală) și 0 în rest.