2011-03-21 51 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实现。很可能你想下载它!或者很可能你想搜索谷歌尼克的博客空间索引希尔伯特曲线和四叉树。