Điều này đang hoạt động đối với tôi trên SQL Server 2008. Sau khi tải hình dạng dưới dạng hình học, hãy sử dụng MakeValid()
để sửa nó, sau đó tải lại vào vùng địa lý.
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