Funzionalità GIS in 5.3.3

Stai visualizzando una vecchia versione di questo article. Visualizza la versione più recente.

Funzionalità GIS in 5.3.3.

Le informazioni di base sulle caratteristiche spaziali esistenti sono reperibili nella sezione Funzionalità Geografiche della Knowlegebase. La pagina Spatial Extensions nel manuale di MySQL si applica anche a MariaDB.

La release MariaDB 5.3.3 contiene del codice recente che migliora le caratteristiche spaziali.

MySQL opera sui dati spaziali basandosi sugli standard OpenGIS, e in particolare su OpenGIS SFS (Simple feature access, opzione SQL).

Il supporto iniziale era basato sulla versione 05-134 dello standard. MariaDB implementa un sottoinsieme dell'ambiente 'SQL with Geometry Types' proposto da OGC. L'ambiente SQL è stato esteso con un insieme di tipi geometrici.

MariaDB supporta delle estensioni spaziali che operano sulle caratteristiche spaziali. Queste funzionalità sono disponibili per le tabelle Aria, MyISAM, InnoDB, NDB e ARCHIVE.

Per le colonne spaziali, Aria e MyISAM supportano indici SPATIAL e non-SPATIAL. Gli altri Storage Engines supportano solo gli indici non-SPATIAL.

The most recent changes in the code are aimed at meeting the OpenGIS requirements. One thing missed in previous versions is that the functions which check spatial relations didn't consider the actual shape of an object, instead they operates only on their bounding rectangles. These legacy functions have been left as they are, and new, properly-working functions are named with an 'ST_' prefix, in accordance with the last OpenGIS requirements. Also, operations over geometry features were added.

The list of new functions:

Spatial operators. They produce new geometries.

NameDescription
ST_UNION(A, B)union of A and B
ST_INTERSECTION(A, B)intersection of A and B
ST_SYMDIFFERENCE(A, B)symdifference, notintersecting parts of A and B
ST_BUFFER(A, radius)returns the shape of the area that lies in 'radius' distance from the shape A.

Predicates, return boolean result of the relationship

NameDescription
ST_INTERSECTS(A, B)if A and B have an intersection
ST_CROSSES(A, B)if A and B cross
ST_EQUAL(A, B)if A nad B are equal
ST_WITHIN(A, B)if A lies within B
ST_CONTAINS(A,B)if B lies within A
ST_DISJOINT(A,B)if A and B have no intersection
ST_TOUCHES(A,B)if A touches B

Commenti

Sto caricando i commenti......
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.