SQL Server:将Geometry转换为Geography

时间:2014-10-23 07:13:08

标签: sql-server sql-server-2008 spatial

我在将多边形从Geometry转换为Geography时遇到了一些问题。

我找到了以下文章并采取了建议的步骤,但我仍然无法将所有实例转换为有效的geography个对象。

联盟起点以确保正确的方向
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

缓冲液和负缓冲液
http://www.beginningspatial.com/fixing_invalid_geography_data

减少后删除集合中的点数 http://alastaira.wordpress.com/2012/03/02/cleaning-up-artefacts-created-by-reduce/

到目前为止,我的流程如下。

使用来自www.sharpgis.net/page/SQL-Server-2008-Spatial-Tools.aspx的Morten Nielsen优秀的Shape2Sql工具将形状文件导入SQL Server Developer Edition(64位)

我必须将形状文件导入为geometry,因为我收到有关无效geography值的错误。

然后我尝试按照下面的SQL脚本创建geography

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] 

但问题是并非所有几何都转换为有效的地理位置

0 个答案:

没有答案