【问题标题】:Convert geography to geometry SQL Server 2008R2将地理转换为几何 SQL Server 2008R2
【发布时间】:2013-04-18 12:30:12
【问题描述】:

您好,我在 SQL Server 中有以下代码,为什么要 计算@geog 的sTArea 失败并且@geom 成功?,我怎么能 将此多边形从几何数据类型转换为地理数据类型,以获得 STArea?,谢谢。

DECLARE @geom geometry;
SET @geom = geometry::STGeomFromText('POLYGON ((-99.213546752929688 19.448402404785156, -99.2157974243164 19.449802398681641, -99.2127456665039 19.450002670288086, -99.213546752929688 19.448402404785156))', 4326); 
select @geom.STArea();

DECLARE @geog geography;
SET @geog = geography::STGeomFromText('POLYGON ((-99.213546752929688 19.448402404785156, -99.2157974243164 19.449802398681641, -99.2127456665039 19.450002670288086, -99.213546752929688 19.448402404785156))', 4326); 
select @geog.STArea();

【问题讨论】:

    标签: sql geometry spatial geography


    【解决方案1】:

    我稍微戳了一下,这个答案How can I convert Geometry data into a Geography data in MS SQL Server 2008? 或多或少只是指向http://blogs.msdn.com/b/edkatibah/archive/2008/08/19/working-with-invalid-data-and-the-sql-server-2008-geography-data-type-part-1b.aspx 引导我找到一个合理的解释和工作代码。

    关键:您必须确保您的几何首先可以转换为有效的地理。

    代码(当然可以组合一些操作,但为了清楚起见,这里将它们分开。)

    DECLARE @geog GEOGRAPHY;
    DECLARE @geom GEOMETRY;
    
    SET @geom = GEOMETRY::STGeomFromText('POLYGON ((-99.213546752929688 19.448402404785156, -99.2157974243164 19.449802398681641, -99.2127456665039 19.450002670288086, -99.213546752929688 19.448402404785156))', 4326); 
    SET @geom = @geom.MakeValid() --Force to valid geometry
    SET @geom = @geom.STUnion(@geom.STStartPoint()); --Forces the correct the geometry ring orientation
    SET @geog = GEOGRAPHY::STGeomFromText(@geom.STAsText(),4326) 
    
    SELECT @geog.STArea();
    

    对于那些不会一直阅读 Spatial Ed 博客文章的人来说,一个重要提示是,“请记住,这种方法是幼稚的,因为它不能适应多种潜在的边缘条件。不过,这种方法应该适用于许多情况。”

    【讨论】:

    • 我希望(但不知道事实)通过 WKB 进行转换会比通过 WKT 更有效。
    • 救命老兄!我在我的 C# 代码中使用了它并进行了一些修改,它就像一个魅力
    • 非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-04
    • 1970-01-01
    • 2010-09-21
    • 2017-09-08
    • 2017-11-13
    • 2021-10-08
    • 1970-01-01
    相关资源
    最近更新 更多