यह मेरे लिए SQL Server 2008 पर काम कर रहा है। आकृति को ज्यामिति के रूप में लोड करने के बाद, MakeValid()
का उपयोग करें इसे ठीक करने के लिए, फिर भूगोल में पुनः लोड करें।
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