2012-04-20 10 views
1

私はテーブルzoneShapeタイプPolygonを含むテーブルを持っています。MySQLデータベースの地理データ/ポリゴンで悩む

このフィールドに幾何学を挿入すると、phpmyadminに影響を受ける1行が表示されます。行が追加されますが、ジオメトリフィールドにサイズが0Bと表示されます。

これは、挿入コードです:あなたが見ることができるように

SET @g = 'POLYGON(50.866753 5.686455, 50.859819 5.708942, 50.851475 5.722675, 50.841611 5.720615, 50.834023 5.708427, 50.840744 5.689373, 50.858735 5.673923, 50.866753 5.686455)'; 
INSERT INTO zone SET zoneShape = PolygonFromText(@g) 

。最初と最後の点は同じなので、ポリゴンは閉じています。

誰でもこのポリゴンをデータベースに追加できますか? Thanx

答えて

3

ポイントの周りに余分な角括弧を追加する必要があることが判明しました。標準では外側と内側の線を別名穴または島を使用するためです。だから、

SET @g = 'POLYGON((50.866753 5.686455, 50.859819 5.708942, 50.851475 5.722675, 50.841611 5.720615, 50.834023 5.708427, 50.840744 5.689373, 50.858735 5.673923, 50.866753 5.686455))'; 
       ^                       outside              ^
0

INSERT INTO zone SET zoneShape = PolygonFromText(@g)は、有効なINSERT文ではありません。 INSERT INTO zone (zoneShape) VALUES (PolygonFromText(@g));を意味しましたか?

+0

これは、有効なINSERT文です:http://dev.mysql.com/doc/refman/5.5/en/insert.html第二の例 – stUrb

+0

うわー、確かに。私はそれを知らなかった... – Simon

関連する問題