Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment valider un polygone géographique dans SQL Server 2008 ?

Cela fonctionne pour moi sur SQL Server 2008. Après avoir chargé la forme en tant que géométrie, utilisez MakeValid() pour le corriger, puis rechargez dans une géographie.

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