gpt4 book ai didi

SQL Server Geometry .STBuffer() 距离测量单位

转载 作者:行者123 更新时间:2023-12-04 16:05:26 26 4
gpt4 key购买 nike

question检查 geography::STBuffer。扩展 David Storfer 的评论,几何字段的处理方式不同,并且有一组完全不同的 documentation .但是,该文档并未详细探讨单位问题。我们的信息包含存储为几何字段的 SHAPE 数据,因此我需要知道 geometry::STBuffer 使用的是什么单位?

最佳答案

discussion指出“sys.spatial_reference_systems 中的坐标系适用于地理类型”,因此尽管详细查看了这一点,但该信息似乎与该问题无关。经过进一步调查,我求助于使用 STDistance 并手动检查 map 以确认至少对于我们的信息而言,geometry::STBuffer(和 geometry::STDistance)所使用的值与用作测量距离的米相对应。这SO question表明 STDistance 的返回值以度为单位,但这不是我观察到的行为。关注GIS SO link在该页面和随后的 MSDN post 上提供,其中再次声明“sys.spatial_reference_systems 中列出的 SRID 仅指地理类型”,并且“对于几何类型,距离、长度和面积等方法返回的线性单位始终在点的单位坐标”,我得出结论,这个问题的答案实际上取决于使用什么单位来创建数据集。

附言当然,我现在想知道如何确定我的信息的单位。这SO post一般检查单位,接受的答案是 如果您的数据列是用 0 的 SRID 创建的,那么系统被定义为无单位,您需要一些关于数据模型的元数据来计算出单位。如果它们是用真实的 SRID 定义的,那么您可以查询 sys.spatial_reference_systems。所以看来我不得不回到我开始的地方,看看 sys.spatial_reference_systems。另一个MSDN post似乎支持在讨论几何字段时 spatial_reference_systems 是相关的概念。

GIS SO post解释了如何确定您的数据实际使用了哪个 SRID -(从 dbo.MYTABLE 中选择不同的 SP_GEOMETRY.STSrid)。然后可以将其与 sys.spatial_reference_systems 中的信息进行匹配,尽管需要做更多的工作才能确定 sys.spatial_reference_systems 中的哪个记录是匹配的,例如使用我们的数据时,从 dbo.MYTABLE 中选择不同的 SP_GEOMETRY.STSrid 返回 28355,但该值未出现在 sys.spatial_reference_systems 中 - 根据 http://spatialreference.org/ref/epsg/gda94-mga-zone-55/html/该值实际上是投影的标识符。查看 spatialreference.org 返回的内容,权限详细信息 (AUTHORITY["EPSG","4283"]) 看起来像是提供了适当的 SRID 以匹配 sys.spatial_reference_systems 中的记录。在我们的例子中,unit_of_measure 被列为米。

附言在决定我是否在上面的一些引用文献中发表评论之前,有兴趣听听想法。

关于SQL Server Geometry .STBuffer() 距离测量单位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48940787/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com