这个question检查地理:: STBuffer。扩展David Storfer的评论,几何字段的处理方式不同,并且具有完全不同的documentation集。但是,该文档并未详细探讨单位问题。我们的信息包含存储为几何字段的SHAPE数据,所以我需要知道几何单元是几何:: STBuffer使用的?
答案 0 :(得分:1)
这个discussion状态“sys.spatial_reference_systems中的坐标系统是针对地理类型的”,所以尽管详细地查看了这一点,但似乎这些信息与此问题无关。在进行了一些进一步的调查后,我使用STDistance并手动检查地图以确认至少对于我们的信息,geometry :: STBuffer(和geometry :: STDistance)使用的值与用作度量距离的米相对应。这个SO question表明STDistance的返回值是以度为单位,但这不是我观察到的行为。在该页面上提供的GIS SO link和随后的MSDN post之后,再次声明“sys.spatial_reference_systems中列出的SRID仅引用地理类型”,并且“对于几何类型,由距离,长度和面积等方法返回的线性单位总是在点的单位坐标中“,我得出结论,这个问题的答案实际上取决于用于创建数据集的单位。
P.S。当然,我现在想知道如何确定我的信息单位。这个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”])看起来像提供了匹配sys.spatial_reference_systems中记录的相应SRID。在我们的例子中,unit_of_measure被列为米。
P.P.S。有兴趣在决定是否在上述某些参考文献中发表评论之前先听取意见。