![](/img/trans.png)
[英]Did you manage to run STBuffer on MULTIPOLYGONS ? With SQL Server?
[英]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.