Ce face ST_Equals()
ST_Equals() compară mulțimile de puncte, nu textul. Un poligon descris pornind din alt colț sau o linie cu un punct intermediar în plus pe același segment sunt egale geometric.
Spre deosebire de celelalte relații, nu returnează NULL pentru geometrii goale.
Parametri
| Parametru | Descriere |
|---|---|
g1, g2 |
Geometriile comparate. |
Ce returnează
1 sau 0 (NULL dacă un argument este NULL).
Exemple
Exemplul 1: Aceeași formă, scrisă diferit
SET @a = ST_GeomFromText('POLYGON((0 0,4 0,4 4,0 4,0 0))');
SET @b = ST_GeomFromText('POLYGON((4 4,0 4,0 0,4 0,4 4))');
SELECT ST_Equals(@a, @b) AS egale_geometric,
ST_AsText(@a) = ST_AsText(@b) AS texte_egale,
ST_Equals(ST_GeomFromText('LINESTRING(0 0,2 0)'), ST_GeomFromText('LINESTRING(0 0,1 0,2 0)')) AS linii;
Rezultat
+-----------------+-------------+-------+
| egale_geometric | texte_egale | linii |
+-----------------+-------------+-------+
| 1 | 0 | 1 |
+-----------------+-------------+-------+
Greșeli frecvente
- Compari coloane spațiale cu
=. Operatorul compară octeții, nu forma; foloseșteST_Equals().
Comenzi înrudite
MBREquals(): Verifică dacă două geometrii au exact același dreptunghi de încadrare (chiar dacă formele diferă).ST_AsText(): Transformă o geometrie în text WKT, ușor de citit: POINT(1 2), LINESTRING(…), POLYGON(…).ST_SymDifference(): Returnează punctele care sunt într-una dintre geometrii, dar nu în amândouă (diferența simetrică).