Table of Contents
- 16.1. Introduction to MySQL Spatial Support
- 16.2. The OpenGIS Geometry Model
-
- 16.2.1. The Geometry Class Hierarchy
-
16.2.2. Class
Geometry
-
16.2.3. Class
Point
-
16.2.4. Class
Curve
-
16.2.5. Class
LineString
-
16.2.6. Class
Surface
-
16.2.7. Class
Polygon
-
16.2.8. Class
GeometryCollection
-
16.2.9. Class
MultiPoint
-
16.2.10. Class
MultiCurve
-
16.2.11. Class
MultiLineString
-
16.2.12. Class
MultiSurface
-
16.2.13. Class
MultiPolygon
- 16.3. Supported Spatial Data Formats
- 16.4. Creating a Spatially Enabled MySQL Database
- 16.5. Analyzing Spatial Information
-
- 16.5.1. Geometry Format Conversion Functions
-
16.5.2.
Geometry
Functions - 16.5.3. Functions That Create New Geometries from Existing Ones
- 16.5.4. Functions for Testing Spatial Relations Between Geometric Objects
- 16.5.5. Relations on Geometry Minimal Bounding Rectangles (MBRs)
- 16.5.6. Functions That Test Spatial Relationships Between Geometries
- 16.6. Optimizing Spatial Analysis
- 16.7. MySQL Conformance and Compatibility
MySQL supports spatial extensions to allow the generation, storage,
and analysis of geographic features. Before MySQL 5.0.16, these
features are available for MyISAM
tables only. As
of MySQL 5.0.16, InnoDB
, NDB
,
BDB
, and ARCHIVE
also support
spatial features. (However, the ARCHIVE
engine
does not support indexing, so spatial columns in
ARCHIVE
columns cannot be indexed. MySQL Cluster
also does not support indexing of spatial columns.)
Although spatial extensions are supported in
InnoDB
tables, use of spatial indexes may cause a
crash. (Bug #15860)
This chapter covers the following topics:
-
The basis of these spatial extensions in the OpenGIS geometry model
-
Data formats for representing spatial data
-
How to use spatial data in MySQL
-
Use of indexing for spatial data
-
MySQL differences from the OpenGIS specification
Additional resources
-
The Open Geospatial Consortium publishes the OpenGIS® Simple Features Specifications For SQL, a document that proposes several conceptual ways for extending an SQL RDBMS to support spatial data. This specification is available from the OGC Web site at http://www.opengis.org/docs/99-049.pdf.
-
If you have questions or concerns about the use of the spatial extensions to MySQL, you can discuss them in the GIS forum: http://forums.mysql.com/list.php?23.
MySQL implements spatial extensions following the specification of the Open Geospatial Consortium (OGC). This is an international consortium of more than 250 companies, agencies, and universities participating in the development of publicly available conceptual solutions that can be useful with all kinds of applications that manage spatial data. The OGC maintains a Web site at http://www.opengis.org/.
In 1997, the Open Geospatial Consortium published the OpenGIS® Simple Features Specifications For SQL, a document that proposes several conceptual ways for extending an SQL RDBMS to support spatial data. This specification is available from the OGC Web site at http://www.opengis.org/docs/99-049.pdf. It contains additional information relevant to this chapter.
MySQL implements a subset of the SQL with Geometry Types environment proposed by OGC. This term refers to an SQL environment that has been extended with a set of geometry types. A geometry-valued SQL column is implemented as a column that has a geometry type. The specification describe a set of SQL geometry types, as well as functions on those types to create and analyze geometry values.
A geographic feature is anything in the world that has a location. A feature can be:
-
An entity. For example, a mountain, a pond, a city.
-
A space. For example, a postcode area, the tropics.
-
A definable location. For example, a crossroad, as a particular place where two streets intersect.
Some documents use the term geospatial feature to refer to geographic features.
Geometry is another word that denotes a geographic feature. Originally the word geometry meant measurement of the earth. Another meaning comes from cartography, referring to the geometric features that cartographers use to map the world.
This chapter uses all of these terms synonymously: geographic feature, geospatial feature, feature, or geometry. Here, the term most commonly used is geometry, defined as a point or an aggregate of points representing anything in the world that has a location.