sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo validar el polígono geográfico en el servidor SQL 2008?

Esto funciona para mí en SQL Server 2008. Después de cargar la forma como una geometría, use MakeValid() para corregirlo, luego vuelva a cargar en una geografía.

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