ST_Distance()中使用的单位是什么?


24

我想知道从中返回浮点数的单位是什么ST_Distance

在文档中说:

...以投影单位表示的两个几何之间的笛卡尔最小距离(基于空间参考)。

这些预计单位是什么?

几何存储在一个字段中:geometry(Point,4326)

Answers:


36

我认为这是PostGIS列表中最常见的问题:-)

如果您的数据在SRID 4326中,并且您使用geometrytype,则结果将没有任何意义。以度为单位。

要获得以米为单位的结果,只需geography键入即可输入,ST_Distance并将计算沿大圆的距离,然后以米为单位返回。

geometry(Point,4326)::geography

另一个选择是根据合适的单位将数据投影到某些局部投影。然后答案将在该单位中。


2
下面是一个示例,用于查找表中两行之间的距离。 '2';
Brian McCall

4

来自http://postgis.net/docs/ST_Distance.html

-几何示例-平面度4326的单位是WGS 84长lat单位=度

如果ST_Distance给定两个几何,则假定这些几何确实处于笛卡尔(或平面)坐标中。因此,单位与坐标中的单位相同-通常为米或英尺。

您的问题似乎是您的空间参考系统4326实际上使用了(角度)地理坐标-纬度-度,因此结果以(有些意义)度数表示。


1
结果完全没有意义,甚至没有意义。
Paul Ramsey

@PaulRamsey。它们是否与我在PlateCaree投影上获得“测量”距离的距离相同?
2013年

在PC上,您将获得线性单位,并且至少可以说“好吧,我知道这些单位会严重变形”。找回“度”,人们可能会想:“啊哈,我在这里有一个角度距离,只需要乘以2R就可以得到一个线性距离”。这些单位的测量结果不佳,甚至有可能造成更大的误导。PC非常糟糕,我不知道为什么它会得到一个投影名称...不保留距离,不保留方向,不保留区域...
Paul Ramsey

PC会保留沿赤道且垂直于赤道的距离。除了所需的弧度和半径转换(不便之处,这是非常不便的)以外,在4326个几何图形上使用ST_Distance的结果将具有与将ST_Distance与投影几何图形一起使用时必须考虑的相同的缺点和益处。也许更好的辩论应该是(不是“有点”与“完全”毫无意义,而是)“是否应该允许ST_Distance和ST_Area返回给定4326几何形状的结果?”
Martin F
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.