【问题标题】:MS SQL Server 2008 Spatial Indexing - Does it work?MS SQL Server 2008 空间索引 - 它有效吗?
【发布时间】:2009-02-04 13:51:06
【问题描述】:

有没有人尝试过使用它并且可以说它是否实施得很好?

-- Assaf(过去几周他对 MySQL 的 OpenGIS 功能实现不足感到越来越沮丧,现在正在考虑改用 MSSQL)

【问题讨论】:

    标签: sql-server gis geospatial spatial geography


    【解决方案1】:

    是的,它有效,我这里有一些示例代码SQL Server 2008 Proximity Search With The Geography Data Type

    【讨论】:

    • 您是否有机会使用多边形并知道多边形/点相交之类的函数是准确实现还是仅使用 MBR(如在 MySQL 中)?
    【解决方案2】:

    是的。它们被正确实施。您还可以选择PostgreSQL's PostGIS,Oracle Spatial。 Informix 和 DB2 也有空间类型的实现。

    【讨论】:

      【解决方案3】:

      是的,它们有效。

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

      起初,ESRI 查询仍然更快,但那是由于 where 子句结构不佳,效率非常低(我仍在学习如何使用 SQLSVR2008 中的空间函数)。

      经过一些调整,我的 SQL 方法比 ESRI 方法快,但并没有快多少。然后我将搜索距离提升到 10000 英尺,然后我看到了差异。 SQL Server 2008 方法要快得多。

      (ESRI)搜索附近客户经过的时间(秒):1.503 (SQL2008) 查询附近客户经过的时间(秒):0.925

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

      到目前为止,我印象深刻。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-24
        • 2016-03-20
        相关资源
        最近更新 更多