WL#2381: GIS: Add EMPTY keyword for WKT formats

Affects: Server-7.0   —   Status: Un-Assigned   —   Priority: Medium

MySQL will add a new well-known text (WKT) format -- EMPTY -- for 
each type of GIS data, to specify empty geometries.

Rationale 
--------- 
Support for the EMPTY WKT option is required so that MySQL can claim 
compliance with OpenGIS; see WL#2377 for full details. 
Background
-----------
The OpenGIS specification provides the Well-Known Text (WKT) format 
as a means of converting geospatial data into text form. MySQL supports 
all of the literal options required, but does not support the EMPTY 
keyword, which is used (instead of NULL) to represent an empty geometry.


Syntax
------
To comply with OpenGIS, MySQL will add the following WKT formats:
POINT EMPTY
LINESTRING EMPTY
POLYGON EMPTY
MULTIPOINT EMPTY
MULTILINESTRING EMPTY
MULTIPOLYGON EMPTY
GEOMETRYCOLLECTION EMPTY


Definition
----------
-- A geometry is empty if it does not have any points; that is, if it
has no coordinates.
-- The envelope, exterior, interior and boundary of an empty geometry 
are not defined; that is, they are represented by a NULL value.
-- An empty geometry is always simple and has an area of 0 (zero). 
Empty linestrings and multilinestrings have a 0 (zero) length. 


Rules
-----
-- If a specified geometry is empty, then the EMPTY keyword must be used,
in place of the coordinate list, in the WKT representation of the geometry.
   -- The EMPTY keyword may not be embedded inside a coordinate list;
that is, this is not a legal construct:
LINESTRING (0 0, 10 10, EMPTY, 50 60)