Sql server SQL Server:将几何图形转换为地理图形
我在将多边形从几何图形转换为地理图形时遇到了一些问题 我已经找到了以下文章并采取了建议的步骤,但仍然无法将所有实例转换为有效的地理对象 接头起点,以确保方向正确 blogs.msdn.com/b/edkatibah/archive/2008/08/19/working-with-invalid-data-and-the-sql-server-2008-geography-data-type-part-1b.aspx 减少多边形 blogs.msdn.com/b/edkatibah/archive/2009/06/05/working-with-invalid-data-and-the-sql-server-2008-geography-data-type-part-2.aspx 缓冲区和负缓冲区 减少后从集合中移除点 到目前为止,我的过程如下 使用Morten Nielsen的优秀Shape2Sql工具从www.sharpgis.net/page/SQL-Server-2008-Spatial-Tools.aspx将形状文件导入SQL Server Developer Edition 64位 我不得不将形状文件作为几何体导入,因为我遇到了关于无效地理值的错误 然后,我尝试根据下面的SQL脚本创建地理位置Sql server SQL Server:将几何图形转换为地理图形,sql-server,sql-server-2008,spatial,Sql Server,Sql Server 2008,Spatial,我在将多边形从几何图形转换为地理图形时遇到了一些问题 我已经找到了以下文章并采取了建议的步骤,但仍然无法将所有实例转换为有效的地理对象 接头起点,以确保方向正确 blogs.msdn.com/b/edkatibah/archive/2008/08/19/working-with-invalid-data-and-the-sql-server-2008-geography-data-type-part-1b.aspx 减少多边形 blogs.msdn.com/b/edkatibah/archive
drop table [MapData].[dbo].[World_SeasSplitGeog]
SELECT
[IDX]
,[OBJECTID]
,[NAME]
,[ID]
,[Gazetteer_]
,[Shape_Leng]
,[Shape_Le_1]
,[Shape_Area]
,[ORIG_FID]
,dbo.RemoveArtefacts(GEOGRAPHY::STGeomFromWKB(shape.STUnion(shape.STStartPoint()).STBuffer(0.00001).STBuffer(-0.00001).Reduce(0.000001).STAsBinary(),4326).MakeValid()).MakeValid() as [Shape]
INTO
[MapData].[dbo].[World_SeasSplitGeog]
FROM
[MapData].[dbo].[World_SeasSplit]
然而,问题是并非所有的几何图形都转换为有效的地理位置如果您提供了一些无法转换的几何图形的实际示例,可能会有所帮助。@Damien_不信者我想添加屏幕截图作为示例,但我的级别不允许我添加图像,世界上所有海洋的几何面积,因此WTK非常大,可以添加到Post中,有没有一种方法可以将形状文件附加到我的帖子中?不是真的-你不能简化WTK,这样它仍然会导致问题,但不会太大-这样做有时可以帮助你自己偶然发现实际问题,或者帮助你自己解决这个问题,或者至少更好地强调你认为是什么导致了问题你的问题。对于大多数问题,这里的人更喜欢代码/文本而不是图片-我们无法将图片复制粘贴到management studio并开始使用它。@Meyer:如果是海洋,而您使用的是SQL 2008,您可能遇到了该版本中地理类型的问题,其中给定的地理实例不能跨越多个半球。@BenThul我们正在运行SQL 2014。我们没有收到任何关于多边形超过半球的错误,问题是当在SOL spatial结果中查看地理位置时,某些多边形在全世界都是反向的,除了它们应该在哪里,如果查看几何图形,一切都是完美的