如何在SQL Server 2008中验证地理多边形? [英] How to validated geography polygon in SQL server 2008?
本文介绍了如何在SQL Server 2008中验证地理多边形?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在SQL Server 2012中,有一些方法可以验证地理位置' .IsValidDetailed() ",然后更改方向" .ReorientObject(地理位置) '.
In the SQL Server 2012 there is methods to validate geography '.IsValidDetailed()' and to change orientation '.ReorientObject (geography)'.
我正在使用SQL Server 2008,并且遇到多边形方向问题.
I am working with SQL server 2008 and facing problems of polygon orientation.
问题是-
- 是否有解决方案来验证地理多边形或将方向更改为有效的地理?
- 是否可以将IsValidDetailed方法从sqlserver 2012复制到2008?
- 如果我必须手动进行操作,那么对于有效的地理数据类型而言,多边形的正确方向是什么?
- 我们可以在SQL Server 2008中验证几何数据类型,是否可以将地理多边形转换为几何多边形并进行验证?
请协助.预先感谢
推荐答案
这在SQL Server 2008上对我有用.将形状加载为几何形状后,使用MakeValid()
对其进行更正,然后重新加载到地理区域中. /p>
This is working for me on SQL Server 2008. After loading the shape as a geometry, use MakeValid()
to correct it, then reload into a geography.
declare @gt nvarchar(max)
declare @gm geometry
declare @gmvalid geometry
set @gmvalid = @gm.MakeValid()
set @gt = @gmvalid.STAsText()
--select @gt
if LEFT(@gt,7 ) = 'POLYGON'
begin
set @gg = geography::STPolyFromText(@gt, 4326)
end
else
begin
set @gg = geography::STMPolyFromText(@gt, 4326)
end
这篇关于如何在SQL Server 2008中验证地理多边形?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文