作者KC73 (肯先生)
看板Database
标题Re: [SQL ] 关於mysql的polygon型态
时间Thu Jul 23 04:08:46 2009
我是在 PHP 版看到的,不过觉得在这儿回比较妥当。
例如:
$ID = '1';
$sw = '5 0';
$ne = '0 10';
$center = '2.5 5';
mysql_query("INSERT INTO UserLocation SET ID='$ID',".
"location=Envelope(GeomFromText('LineString($sw,$ne)')),".
"center=GeomFromText('POINT($center)')");
取出的时候,例如:
$ret = mysql_query("SELECT X(center),Y(center),AsText(location) FORM UserLocation WHERE blah ... ");
先自己在 mysql 底下 try 看看就知道罗~
mysql> INSERT INTO UserLocation SET ID='1',location=Envelope(GeomFromText('LineString(5 0,0 10)')),center=GeomFromText('POINT(2.5 5)');
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 5982834
Current database: xxxx
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql> SELECT X(center),Y(center),AsText(location) FROM UserLocation WHERE ID='1';
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 5982969
Current database: xxxx
+-----------+-----------+----------------------------------+
| X(center) | Y(center) | AsText(location) |
+-----------+-----------+----------------------------------+
| 2.5 | 5 | POLYGON((0 0,5 0,5 10,0 10,0 0)) |
+-----------+-----------+----------------------------------+
1 row in set (0.00 sec)
mysql>
所以一样的道理,你要直接 INSERT polygon 的资料进去,那就是
INSERT INTO UserLocation SET ID=1,
location=GeomFromText('POLYGON(0 0,5 0,5 10,0 10,0 0)')
※ 引述《caifu (C将。)》之铭言:
: ※ [本文转录自 Database 看板]
: 作者: caifu (C将。) 看板: Database
: 标题: [SQL ] 关於mysql的polygon型态
: 时间: Wed Jul 22 23:39:37 2009
: 我的问题是
: 在mysql中polygon型态是长什麽样子?
: 也就是说我要insert资料进去的时候
: php那边要怎麽写?
: 相对上select时我也搞不懂读出来会长什麽样子
: 该怎麽得到一个一个点的位置资讯?
: 网路上相关的资讯真是少之又少
: 我试过去抓php的polygon class来试试
: 试过的感觉也不是我要的东西
: 不晓得板上大大有没有写过相关程式可以分享一下经验的
: 感谢! ^^
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.166.128.203
※ 编辑: KC73 来自: 118.166.128.203 (07/23 04:12)
1F:推 caifu:非常感谢你,我後来有成功了!! 感谢!! ^^ 07/23 23:39