On Tue, Jan 07, 2003 at 11:22:50AM +0530, Shamit Verma wrote:
> Hi List,
> 
> I read that MySQL (4.1) now supports geometric data types. I tried
> to look for documentation related to geometric data types in
> mysql. But could not find any.

Yeah, the docs haven't been integrated (or even written?) yet.

> Can someone point me to documentation of geometric data types?

Are you at all familiar with spatial data in other database systems?

I'd suggest looking at the OpenGIS spec:

  http://www.opengis.org/techno/specs/99-049.pdf

But if you're just looking for a flavor, ere's what MySQL 4.1 can do
in a simple exmaple of three points and asking MySQL which ones fall
within given polygons:

mysql> create table map_test
    -> (
    ->   name varchar(100) not null primary key,
    ->   loc  tinyblob,
    ->   spatial index(loc)
    -> );
Query OK, 0 rows affected (0.00 sec)

mysql> insert into map_test values ('One Two', point(1,2));
Query OK, 1 row affected (0.00 sec)

mysql> insert into map_test values ('Two Two', point(2,2));
Query OK, 1 row affected (0.00 sec)

mysql> insert into map_test values ('Two One', point(2,1));
Query OK, 1 row affected (0.00 sec)

mysql> select name, AsText(loc) from map_test;
+---------+-------------+
| name    | AsText(loc) |
+---------+-------------+
| One Two | POINT(1 2)  |
| Two Two | POINT(2 2)  |
| Two One | POINT(2 1)  |
+---------+-------------+
3 rows in set (0.00 sec)

mysql> SELECT name FROM map_test WHERE Contains(GeomFromText('POLYGON((0 0, 0 3, 3 3, 
3 0, 0 0))'), loc) = 1;
+---------+
| name    |
+---------+
| One Two |
| Two Two |
| Two One |
+---------+
3 rows in set (0.00 sec)

mysql> SELECT name, AsText(loc) FROM map_test WHERE
Contains(GeomFromText('POLYGON((0 0, 0 1, 1 1, 2 0, 0 0))'), loc) = 1;
+---------+-------------+
| name    | AsText(loc) |
+---------+-------------+
| Two One | POINT(2 1)  |
+---------+-------------+
1 row in set (0.00 sec)

Hope that helps...

Jeremy
-- 
Jeremy D. Zawodny     |  Perl, Web, MySQL, Linux Magazine, Yahoo!
<[EMAIL PROTECTED]>  |  http://jeremy.zawodny.com/

MySQL 3.23.51: up 23 days, processed 777,922,525 queries (390/sec. avg)

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to