0

MySQL 5.1 で空間操作のテストを行っていますが、マルチポリゴンとポリゴンが重なる問題がいくつか見つかりました。テスト セット 1) マルチポリゴン: 2 つのポリゴンがあり、1 つはフランス本土を表し、もう 1 つはコルシカ島を表します 2) ポリゴン。ただの長方形。3) マルチポリゴンとポリゴン、重ならない。JTS テスト ビルダーを使用した Testesd 4) 重複する MySQL が返されます。

私は何か間違ったことをしていますか?オーバーラップすると、マルチポリゴンの境界線ではなく、マルチポリゴンのバウンディング ボックスが考慮されることをご存知ですか (この場合のように見えます)。

前もって感謝します、

シャビ

テストクエリは次のとおりです。

SELECT   overlaps(
GeomFromText('MULTIPOLYGON(
((
-1.5719044 45.66331767,
-1.66445017 44.15596196,
-2.09633041 43.35382557,
-1.44851005 42.79046377,
0.98852813 42.40442147,
2.16077434 42.15335565,
3.57980926 42.24476801,
3.36386913 42.9035504,
4.13508385 43.24156757,
6.44872768 42.69984551,
8.00528012 44.22125179,
7.43172878 44.63085344,
7.47952458 45.30714395,
6.9537692 46.70140581,
8.10087187 47.70798437,
8.19646379 48.47416978,
8.67442321 49.16649286,
5.42429902 49.94163752,
4.75515576 50.46172136,
2.07858291 51.36572924,
1.1226639 50.82543226,
0.59690852 50.21768192,
-0.69358204 49.6640024,
-1.98407259 50.06452024,
-2.55762393 49.5090723,
-1.93627663 48.9472454,
-2.55762393 48.88442555,
-3.99150219 49.16649286,
-5.37758466 48.60075831,
-5.42538062 47.90060118,
-4.03929815 47.41771923,
-2.84439951 46.96299696,
-2.03186838 46.2405562,
-1.5719044 45.66331767,
-1.5719044 45.66331767
)),
((
7.03485087 43.06152362,
8.23794566 42.56366976,
8.19646379 41.73912551,
8.67442321 41.09395768,
9.86932185 41.20193051,
9.86932185 42.72995934,
9.1523828 43.49754453,
8.23794566 42.56366976,
7.03485087 43.06152362,
7.03485087 43.06152362
))
)
')
, 

GeomFromText('POLYGON((
1.1578032214844 40.974486726133,
1.1578032214844 41.79873497231,
3.1820341785157  41.79873497231,
3.1820341785157 40.974486726133,
1.1578032214844 40.974486726133
))')

)

4

1 に答える 1

0

オーバーラップと MBROverlaps は、MysQL 5.1 では同じ機能です。ドキュメントに関するこのコメントを見逃しました:

現在、MySQL は仕様に従ってこれらの関数を実装していません。実装されているものは、対応する MBR ベースの関数と同じ結果を返します。

MySQL 5.6 以降、mysql はポリゴン上のオーバーラップ、ST_Overlapsをサポートするようです。

于 2012-10-16T07:58:34.827 に答える