2016-08-19 2 views
1

У меня проблемы с функцией st_distance в postgis. У меня есть три способа рассчитать расстояние, но я не знаю, какой из них наиболее точным.В PostGIS, который является наиболее точным способом расчета расстояния между двумя точками?

SELECT ST_Distance('POINT(115.25 39.26)'::geography, 'POINT(117.30 41.04)'::geography) as distance; 
--result is 263753.911823565 
SELECT ST_Distance_Sphere(ST_GeomFromText('POINT(115.25 39.26)',4326), ST_GeomFromText('POINT(117.30 41.04)',4326)) as distance; 
--result is 263674.468686404 
SELECT ST_Distance(ST_Transform(ST_GeomFromText('POINT(115.25 39.26)',4326),32650),ST_Transform(ST_GeomFromText('POINT(117.30 41.04)', 4326),32650)) as distance; 
--result is 263669.651755417 

ответ

3

Разница между 3 расчетами измерений состоит в следующем:

  1. Расстояния вычисляется по сфероиду, математическое приближение земной поверхности с уплощением в полюсах во внимание. Это также называется «большой дугой». В этом случае сфероидом по умолчанию является WGS84, который также используется системой GPS и спутниковыми снимками.
  2. Расстояние рассчитывается по шару, который не учитывает сплющивание (форма эффективно напоминает шар). Обычно сфера имеет тот же объем, что и некоторый сфероид, поэтому он немного меньше на экваторе и слегка выпучивается на полюсах. Это математически намного проще, чем сфероид, и поэтому лотов быстрее вычислять.
  3. Расстояние рассчитывается на декартовой системе координат (плоскости), установленной путем преобразования из географических координат, в данном случае UTM50N из сфероида WGS84.

Первый метод обычно дает лучший результат (из этих 3), но для координат, близких друг к другу или близких к экватору, разница будет незначительной по сравнению с более быстрым вторым методом.

Третий способ не особенно точен с системой координат координат UTM50N (WGS84), но декартова система координат имеет важные другие преимущества, такие как расчет углов между тройками точек или областями полигонов. Также обратите внимание, что некоторые исходные данные, используемые с локальными CRS, дают гораздо лучшее локальное представление нерегулярной поверхности земли, чем WGS84, и в этом случае локальный CRS становится намного точнее, чем вычисление большой дуги. Чтобы оценить это, вам придется искать все геодезические детали вашего района.

+0

Большое спасибо, это очень подробные ответы. –

Смежные вопросы