2012-10-15 23 views
0

我正在做一些MySQL 5.1空間操作的測試,並且發現了一些覆蓋多邊形的mutlipolygon的問題。 測試集 1)多邊形:其上有2個多邊形,一個代表法國大陸,另一個代表科西嘉島其他地方 2)多邊形。只是一個矩形。 3)多邊形和多邊形不重疊。用JTS測試生成器進行測試 4)MySQL返回重疊。Mysql 5.1空間重疊爲什麼不能正常工作?

我做錯了什麼?你知道它重疊它認爲多邊形邊界框而不是多邊形邊界(看起來像這種情況)。

由於提前,

哈維

在這裏,測試查詢:

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 
))') 

回答

0

重疊和MBROverlaps是在MySQL 5.1相同的功能。我錯過了documentation此評論:

注意 目前,MySQL不按規範實現這些功能。那些實現返回與相應的基於MBR的函數相同的結果。

似乎從MySQL 5.6起,mysql將支持多邊形重疊,ST_Overlaps