Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie validiert man das geografische Polygon in SQL Server 2008?

Dies funktioniert für mich auf SQL Server 2008. Nachdem Sie die Form als Geometrie geladen haben, verwenden Sie MakeValid() um es zu korrigieren, dann laden Sie es in eine Geografie neu.

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