问题所在:
我想在线性时间内计算所有具有包含事件点的接收区域的接收器。
由于群集似乎是一种解决方案,我想知道各种解决方案,如MongoDB GeoSpatial,Postgree GIS,Mysql Geospatial和其他DBMS如何处理这个问题。
他们是否在内部使用群集?
无论如何: 对于这个问题,哪个是最好的“开箱即用”解决方案?
答案 0 :(得分:1)
您的答案是什么?最佳解决方案是什么?'问题是"这取决于"。
对于SQL Server,空间数据功能的一个很好的概述是https://msdn.microsoft.com/en-us/library/bb933790.aspx
与您的问题相关的是空间索引:https://msdn.microsoft.com/en-us/library/bb895265.aspx
对于给出的示例,一个粗略的想法是为您的Receptors和EventPoint存储地理类型,然后在where子句中使用STContains
函数。 https://msdn.microsoft.com/en-us/library/ff929274.aspx
某些伪SQL可能是:
DECLARE EventPoint Geography = ...
SELECT * FROM Receptors R WHERE R.Receptor.STContains(EventPoint)
希望这是有用的。