Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como validar o polígono geográfico no SQL Server 2008?


Isso está funcionando para mim no SQL Server 2008. Depois de carregar a forma como uma geometria, use MakeValid() para corrigi-lo e, em seguida, recarregue em uma geografia.
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