本文介绍了如何通过PostGIS获得地球上两点之间的距离?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我从PostGIS距离查询中获得了意外的值,但我不确定为什么.我正在尝试找出地球上两点之间的距离.

I'm getting an unexpected value from a PostGIS distance query, and I'm not sure why. I'm trying to find the distance between two points on Earth.

SELECT ST_Distance(
  ST_Point(50.7678,6.091499)::geography,
  ST_Point(52.525592,13.369545)::geography
) as distance;

...返回827757.672533206或大约827.7公里.

... returns 827757.672533206, or about 827.7km.

但是,如果我使用正在使用的开放源代码库或使用几个在线计算器中的任何一个来计算此距离,则可以得到538.6km.显然不对劲.

However, if I calculate this distance with an open source library I'm using, or using any one of several online calculators, I get 538.6km. Something is obviously amiss.

我在做什么错了?

推荐答案

结果正确,输入错误. ST_Point 在确认输入为(lat,lon)时接受输入为(lon,lat).

The result is correct, the input is not. ST_Point accepts input as (lon,lat) while you're verifying it as (lat,lon).

这篇关于如何通过PostGIS获得地球上两点之间的距离?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-11 16:33