Mega Code Archive

 
Categories / MySQL / Geometric
 

Querying geometric data is with the asText function

mysql> mysql> mysql> CREATE TABLE mytable (     ->     id INT NOT NULL PRIMARY KEY,     ->     border POLYGON NOT NULL,     ->     ela LINESTRING NOT NULL,     ->     ref POINT NOT NULL,     ->     name VARCHAR(20),     ->     SPATIAL KEY(border),     ->     SPATIAL KEY(ela),     ->     SPATIAL KEY(ref)     -> ); Query OK, 0 rows affected (0.00 sec) mysql> mysql> mysql> INSERT INTO mytable VALUES ( 1,     -> GEOMFROMTEXT('POLYGON(     '> (25 15,10 25,25 35,30 50,30 60,     '> 35 65,40 55,45 30,55 20,25 15),     '> (3395 2827,3861 2840,4094 2374,3395 2594,3395 2827)     '> )'),     -> GEOMFROMTEXT('LINESTRING(25 35, 45 30)'),     -> GEOMFROMTEXT('POINT(2850 2350)'), 'gl_1'); Query OK, 1 row affected (0.00 sec) mysql> mysql> INSERT INTO mytable VALUES ( 2,     -> GEOMFROMTEXT('POLYGON((70 20,55 20,65 30,     '> 65 50,70 55,80 50,85 40,80 30,     '> 85 25,70 20))'),     -> GEOMFROMTEXT('LINESTRING(65 35, 80 30)'),     -> GEOMFROMTEXT('POINT(7250 2750)'), 'gl_2'); Query OK, 1 row affected (0.00 sec) mysql> mysql> mysql> mysql> SELECT name, ASTEXT(ref), ASTEXT(ela) FROM mytable; +------+------------------+-------------------------+ | name | ASTEXT(ref)      | ASTEXT(ela)             | +------+------------------+-------------------------+ | gl_1 | POINT(2850 2350) | LINESTRING(25 35,45 30) | | gl_2 | POINT(7250 2750) | LINESTRING(65 35,80 30) | +------+------------------+-------------------------+ 2 rows in set (0.00 sec) mysql> mysql> drop table mytable; Query OK, 0 rows affected (0.00 sec)