MBREquals() în MySQL

Verifică dacă două geometrii au exact același dreptunghi de încadrare (chiar dacă formele diferă).

Sintaxă
MBREquals(g1, g2)

Ce face MBREquals()

MBREquals() compară doar dreptunghiurile minime de încadrare. Un pătrat și diagonala lui au același dreptunghi, deci rezultatul este 1, deși formele sunt foarte diferite. Spre deosebire de celelalte funcții MBR, nu returnează NULL pentru geometrii goale.

Parametri

Parametru Descriere
g1, g2 Geometriile ale căror dreptunghiuri se compară.

Ce returnează

1 sau 0.

Exemple

Exemplul 1: Pătrat, diagonală și alt pătrat

SET @patrat = ST_GeomFromText('POLYGON((0 0,4 0,4 4,0 4,0 0))');

SELECT MBREquals(@patrat, ST_GeomFromText('LINESTRING(0 0,4 4)')) AS cu_diagonala,
       ST_Equals(@patrat, ST_GeomFromText('LINESTRING(0 0,4 4)')) AS egal_exact,
       MBREquals(@patrat, ST_GeomFromText('POLYGON((0 0,5 0,5 5,0 5,0 0))')) AS cu_patrat_mai_mare;

Rezultat

+--------------+------------+--------------------+
| cu_diagonala | egal_exact | cu_patrat_mai_mare |
+--------------+------------+--------------------+
|            1 |          0 |                  0 |
+--------------+------------+--------------------+

Greșeli frecvente

  • Folosești MBREquals() ca să găsești duplicate. Forme diferite pot avea același dreptunghi; pentru duplicate folosește ST_Equals().

Comenzi înrudite

  • ST_Equals(): Verifică dacă două geometrii reprezintă exact aceeași formă, chiar dacă sunt scrise diferit.
  • ST_Envelope(): Returnează dreptunghiul minim de încadrare (MBR) al unei geometrii, ca poligon.
  • MBRContains() și MBRWithin(): Verifică dacă dreptunghiul de încadrare al unei geometrii îl conține pe al celeilalte; un test rapid, aproximativ.