如何在SQL Server 2008中验证地理多边形? [英] How to validated geography polygon in SQL server 2008?

查看:71
本文介绍了如何在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.

问题是-

  1. 是否有解决方案来验证地理多边形或将方向更改为有效的地理?
  2. 是否可以将IsValidDetailed方法从sqlserver 2012复制到2008?
  3. 如果我必须手动进行操作,那么对于有效的地理数据类型而言,多边形的正确方向是什么?
  4. 我们可以在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆