この質問は、Mysql geospatial-extensionエキスパート向けです。MySql地理空間バグ..?
次のクエリではない、私は期待していた結果のことを行います。
create database test_db;
use test_db;
create table test_table (g polygon not null);
insert into test_table (g) values (geomfromtext('Polygon((0 5,5 10,7 8,2 3,0 5))'));
insert into test_table (g) values (geomfromtext('Polygon((2 3,7 8,9 6,4 1,2 3))'));
select
X(PointN(ExteriorRing(g),1)), Y(PointN(ExteriorRing(g),1)),
X(PointN(ExteriorRing(g),2)), Y(PointN(ExteriorRing(g),2)),
X(PointN(ExteriorRing(g),3)), Y(PointN(ExteriorRing(g),3)),
X(PointN(ExteriorRing(g),4)), Y(PointN(ExteriorRing(g),4))
from test_table where MBRContains(g,GeomFromText('Point(3 6)'));
は、基本的に我々は2ポリゴンを作成している、と我々はポイント2のいずれかの内にあるかどうかを決定するためにMBRContainsを使用しようとしていますポリゴン。
驚いたことに、両方のポリゴンを返します。ポイント3,6は、最初に挿入されたポリゴンにのみ存在する必要があります。 MySQLは、両方のポリゴンを返すどのように来るの両方のポリゴンが傾いていることを
は注意(あなたが紙の上のポリゴンを描画したら、あなたが表示されます)
?私はMySql Community Edition 5.1を使用しています。
2009年8月13日現在、MySqlは最終的に完全なGISの実装を開始します。参照: http://forge.mysql.com/wiki/GIS_Functions – sivabudh