2011-03-21 11 views
0

我想爲項目使用MySQL spartial擴展。它是一個JavaScript查看器將發送可視區域的邊緣,使得最適宜的,東方的和北方的以及相應的線索(緯度和緯度)。我已經使用了距離因果關係和距離來提供例子。但是,我只想抽出用戶可見區域中的記錄點。與MySQL spartial延伸說,如果我有:MySQL Spatial Extensions:獲取某個區域的記錄

名稱:VARCHAR 位置:點 長:雙 緯度:雙

(長和LAT是ploting點)

鑑於小例子表格,我將如何在可視區域拉出點數

下面的鏈接顯示了它在postgresql中的工作方式。然而,需要它爲MySQL。

回答

0

你想使用'幾何'的MySQL擴展。 如果您的位置是類型「幾何」的你可以做這樣的查詢

SELECT *, AsWKT(location) as geomWKT 
FROM myTable 
WHERE Intersects(location,GeomFromText('POINT(1.9845 49.8543)')) 

幾個例子here

+0

[鏈接](http://wiki.openstreetmap.org/wiki/OpenLayers_Dynamic_KML)鏈接是一個在Postgre sql – user669186 2011-03-21 22:20:14

+0

感謝您的答覆 – user669186 2011-05-04 10:14:45

1

最有可能你想自己計算空間索引的格式。空間索引只是一個空間填充曲線,可以將2D問題簡化爲一維問題,從而更易於理解。最有可能的是,您可以從sfc或quadtree中選擇一個嵌套字符串鍵,而不是選擇空間索引。從左向右讀取嵌套關鍵字,因此對於相似的關鍵字或緯度/經度對的查詢只是與每個操作符可能的字符串比較。我已經通過phpclasses.org(hilbert-curve)在php中完成了sfc實現。很可能你想下載它!或者很可能你想搜索谷歌尼克的博客空間索引希爾伯特曲線和四叉樹。

相關問題