Sql server MS SQL Server 2008空间索引-它是否有效?

Sql server MS SQL Server 2008空间索引-它是否有效?,sql-server,gis,geospatial,spatial,geography,Sql Server,Gis,Geospatial,Spatial,Geography,有没有人尝试过使用它,并且可以说它是否得到了很好的实现 --Assaf(过去几周,他对MySQL缺乏OpenGIS功能的实现越来越失望,现在正在考虑切换到MSSQL)是的,它可以工作,我这里有一些示例代码是的,它们可以工作 我刚刚将我的一个类从使用ISpatialFilter的基于ESRI ArcObject的查询切换到返回相同数据的SqlCommand。这是一种近距离搜索(返回距离x点1000英尺以内的所有记录) 起初,ESRI查询速度更快,但这是由于构造糟糕的where子句非常无效(我仍在学

有没有人尝试过使用它,并且可以说它是否得到了很好的实现


--Assaf(过去几周,他对MySQL缺乏OpenGIS功能的实现越来越失望,现在正在考虑切换到MSSQL)

是的,它可以工作,我这里有一些示例代码

是的,它们可以工作

我刚刚将我的一个类从使用ISpatialFilter的基于ESRI ArcObject的查询切换到返回相同数据的SqlCommand。这是一种近距离搜索(返回距离x点1000英尺以内的所有记录)

起初,ESRI查询速度更快,但这是由于构造糟糕的where子句非常无效(我仍在学习如何使用SQLSVR2008中的空间函数)

经过一些调整后,我的SQL方法比ESRI方法快,但速度不多。然后我将搜索距离提升到10000英尺,然后我看到了不同之处。SQLServer2008方法要快得多

(ESRI)搜索附近客户已用时间(秒):1.503 (SQL2008)查询附近客户已用时间(秒):0.925

虽然速度差异与索引无关,但与ESRI ArcObjects有关。在ESRI方法中,我从IProximityOperator和IPoint获得距离x和y。在SQL2008方法中,我让数据库完成所有工作:SHAPE.STX作为X,SHAPE.STY作为Y,SHAPE.STDistance(但是ArcObject开发人员知道所有的开销)


到目前为止我印象深刻。

是的。它们得到了正确的实施。您还可以选择。Informix和DB2也有空间类型的实现。

您是否有机会使用多边形并知道多边形/点交点之类的函数是准确实现的,还是仅使用MBR(如MySQL)实现的?