【问题标题】:What is the unit of measure for the distance of BufferWithTolerance in sql 2008sql 2008中BufferWithTolerance距离的度量单位是什么
【发布时间】:2016-05-12 19:18:04
【问题描述】:

我找到了这个链接 Create a SqlGeography polygon-circle from a center and radius

说是米。这也会显示我系统上的仪表。

SELECT * FROM sys.spatial_reference_systems where spatial_reference_id = 4326;

但是,当我使用此代码创建一个圆时,当我使用 google maps api 绘制它并手动测量距离时,生成的圆的半径约为 27 英里,所以肯定有问题。它应该是 1/2 一米,实际上是 27 英里。

DECLARE @g geometry;
SET @g = geometry::STGeomFromText('POINT(-88.0 44.5)', 4326);
select @g.BufferWithTolerance(.5,.01,1)

-兰迪

【问题讨论】:

  • 我想我明白了。它实际上是度而不是米。将度数除以 60 会将其转换为英里。无论如何,这似乎对我有用。

标签: sql sql-server-2008 spatial


【解决方案1】:

如果您查看sys.spatial_reference_systems 中的well_known_text col,您会看到4326 的单位是度。这是用于描述平面系统中点的位置等和距离的单位。 unit_of_measure 列是使用椭球类型时用于点和区域之间距离的单位。

所以,您使用的是使用 WKT 单元的Geometry(SQL 平面类型)。如果您要使用Geography(SQL 椭圆体类型),那么unit_of_measure 用于距离等。

您可以在这些示例中看到这一点:

几何

DECLARE @g geometry;
DECLARE @g2 geometry;
SET @g = geometry::STGeomFromText('POINT(-88.0 44.5)', 4326);
SET @g2 = geometry::STGeomFromText('POINT(-88.0 44.0)', 4326);
SELECT @g.STDistance(@g2)

0.5

(以度为单位的距离)

地理

DECLARE @g geography;
DECLARE @g2 geography;
SET @g = geography::STGeomFromText('POINT(-88.0 44.5)', 4326);
SET @g2 = geography::STGeomFromText('POINT(-88.0 44.0)', 4326);
SELECT @g.STDistance(@g2)

55558.5621458782

(距离以米为单位)

https://msdn.microsoft.com/en-us/library/bb964711.aspx#differences

【讨论】:

    【解决方案2】:

    单位将与坐标系的单位相同,即如果您使用地理坐标,则为度,如果您使用 UTM,则为米,如果您使用某些美国投影,则为英尺。

    【讨论】:

    • 谢谢莫腾。我想将您的答案标记为正确,但是我怎么知道坐标系的单位是什么? SELECT unit_of_measure FROM sys.spatial_reference_systems where spatial_reference_id = 4326 查询返回米,但对我来说似乎使用度数而不是米。
    • 您需要检查投影的详细信息。对于给定的投影,始终定义单位。
    • spatialreference.org 上查找 - 然后查看 wkt-representation。好吧,我不得不承认它并不好找……
    • 只是为了进一步阐述:epgs 4326 的单位不能是米 - 想想沿赤道或沿子午线的一度大约是 110 公里,而在其中一个地方东西向一度电线杆是 0 米...
    猜你喜欢
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 2018-08-03
    • 1970-01-01
    • 2016-12-05
    • 2014-07-31
    相关资源
    最近更新 更多