作者KC73 (肯先生)
看板Database
标题Re: [MySQL ] 所在位置
时间Thu Oct 15 21:05:36 2009
回给原 po 罗~
怎麽存位置?我建议是多多用 command line 了解一下特性,再着手使用。例如说要
存一个长方形,可以先这样看:
mysql> SELECT AsText(Envelope(GeomFromText('LineString(1 1,5 5)')));
+-------------------------------------------------------+
| AsText(Envelope(GeomFromText('LineString(1 1,5 5)'))) |
+-------------------------------------------------------+
| POLYGON((1 1,5 1,5 5,1 5,1 1)) |
+-------------------------------------------------------+
1 row in set (0.00 sec)
这个长方形的端点两端的座标是 1 1 和 5 5,用 Envelope 封起来,就会变成一个长
方形,四个点的座标就是 SELECT 出来的结果。
当然也可以直接存
GeomFromText('POLYGON((1 1,5 1,5 5,1 5,1 1))')
加上 AsText 是把结果给人看,要存到 db 里面,就把 AsText 拿掉。
点 2 2 有没有在长方形里面?
mysql> SELECT MBRContains(Envelope(GeomFromText('LineString(1 1,5 5)')),GeomFromText('POINT(2 2)')) AS ret;
+------+
| ret |
+------+
| 1 |
+------+
1 row in set (0.00 sec)
点 8 8 没有没有在长方形里面?
mysql> SELECT MBRContains(Envelope(GeomFromText('LineString(1 1,5 5)')),GeomFromText('POINT(8 8)')) AS ret;
+------+
| ret |
+------+
| 0 |
+------+
1 row in set (0.00 sec)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.166.132.26
1F:推 evilkids:感谢你 10/16 00:59