Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come convalidare il poligono geografico in SQL Server 2008?

Questo funziona per me su SQL Server 2008. Dopo aver caricato la forma come geometria, usa MakeValid() per correggerlo, quindi ricaricare in un'area geografica.

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