我是地理(纬度,长度)点的数据库(MySQL),我需要从一个矩形(每个顶点有2个坐标)查询点列表。 是否有任何查询或算法可以快速解决此问题。
感谢。
答案 0 :(得分:1)
假设你的纬度/长点被索引,那么任何SQL查询都会非常快
SELECT point.lat, point.long FROM point where rect1.lat <= point.lat and point.lat <= rect2.lat and rect1.long <= point.long and point.long <= rect2.long
rect1.lat/rect1.long和rect2.lat/rect2.long是西北最东部和东南部最纬近的地区。
我希望你将点数和矩形的lat / long存储为正数和负数(而不是E / WN / S) - 如果你有E / W和N / S那么查询会很多更复杂。
这也假设矩形是沿着一条纬度/经度线的整个边缘轨迹。
说实话,这个很简单,我猜我错过了什么......