簡體   English   中英

SQL Server 空間 STBuffer

[英]SQL Server spatial STBuffer

我是 sql server 空間的新手。 在 SQL Server 2014 或 2012(不是 2008)中應用地理數據類型時,我遇到了 STBuffer 函數的問題。

應用 STBuffer 函數后,得到的形狀與原始形狀完全不同,而不僅僅是與原始形狀緩沖了一段距離。

見下面的代碼:

select (geography::STGeomFromText('POLYGON ((-78.17498995969072 40.511906814179383, -78.174936763010919 40.512004616786726, -78.174837516853586 40.512342629022896, -78.175599932204932 40.512442785082385, -78.176346572581679 40.5125408685999, -78.17645655060187 40.512555316090584, -78.176824942231178 40.512603710405529, -78.177308602025732 40.512666257680394, -78.178199267713353 40.51277746737469, -78.181078517111018 40.51316248846706, -78.181189002934843 40.513158924411982, -78.1812548530288 40.51315680029802, -78.181430931901559 40.513151120278053, -78.181524405721575 40.5131481050048, -78.181649426696822 40.513150648796, -78.181668272824027 40.512921414221637, -78.17498995969072 40.511906814179383))',4326)).

然后我應用了一個STBuffer(0.01),形狀和原來的完全不同。 我不允許發布形狀圖像,因此您可能需要在 sql server 中運行才能查看結果。

但是,如果我應用其他緩沖距離(例如 0.001 或 0.1),則形狀看起來都不錯。 只有緩沖距離 0.01 給出了奇怪/意外的結果。

任何想法和幫助表示贊賞。

您對這些點中的每一個的精確度都是嚴重的矯枉過正。 15 位小數可能屬於亞原子領域,我猜如果您將每個點四舍五入到更合理的水平,這將不是問題。

嘗試四舍五入到 7 或 8 位小數,看看會發生什么。 無論如何,它應該處理緩沖區,所以它可能是一個錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM