GeomCollection() în MySQL

Pune geometrii de orice tip (puncte, linii, poligoane) într-o colecție; fără argumente creează o geometrie goală.

Sintaxă
GeomCollection(geometrie1, geometrie2, ...)
GeometryCollection(geometrie1, geometrie2, ...)

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() sau MultiPolygon() sunt mai precise și au mai multe funcții potrivite (de exemplu ST_Area() pe MULTIPOLYGON).

Comenzi înrudite