【问题标题】:SQL Server Geometry .STBuffer() distance measurement unitsSQL Server Geometry .STBuffer() 距离测量单位
【发布时间】:2018-08-03 02:13:42
【问题描述】:

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

【问题讨论】:

  • 我一直认为几何类型更抽象——它只是一个二维坐标系。如果我们在位置 (1,4) 和 (5,2) 有两个点,您可以询问它们之间的距离是多少并得到一个数字。但是询问结果是什么 units 是没有意义的,因为这完全取决于当你说一个点在 (1,4) 而不是满足于 (1000, 4000)
  • 我确实读过关于空间数据类型的 Microsoft documentation,所以我理解您对结果的看法,但文档指出“距离和面积的测量值是在相同的测量单位作为坐标”,因此,有一个测量单位。当用户在你提醒我之前问我需要多近的距离时,我无法回答 500 个单位,所以你看到了我的困境 - 我必须知道正在使用哪些单位。
  • 计量单位有时用于转换为相同的单位(我记得的高级代数)。对于 Geometry 字段,单位无关紧要,因为所有值都假定为相同单位,因此不需要转换。我的问题的答案似乎是我只需要查看原始数据集的单位并确定这很可能取决于正在存在的空间数据集的类型。

标签: sql sql-server distance units-of-measurement geography


【解决方案1】:

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

附:当然,我现在想知道如何确定我的信息单位。这SO post 一般检查单位,并且接受的答案沿着 如果您的数据列是使用 SRID 为 0 创建的,那么系统被定义为无单位,您需要一些关于数据模型来计算单位。如果它们是用真实的 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 被列为米。

附言在决定是否在上面的某些参考文献中发布 cmets 之前,有兴趣听听想法。

【讨论】:

    猜你喜欢
    • 2011-02-27
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 2016-05-12
    • 2023-03-09
    相关资源
    最近更新 更多