Изчисляване на разстояния между градовете с техните координати - PHP портал

Изчисляване на разстояния между градовете на техните координати

Изчисляване на разстояния между градовете с техните координати - PHP портал

Дължината на дъгата на големия кръг - най-късото разстояние между две точки, разположени върху сферична повърхност, измерено по линия, свързваща тези две точки (тази линия се нарича големия кръг) и минава над повърхността на сферата или друга повърхност на въртене. Сферични геометрия се различава от уравнението обичайното евклидово разстояние и да предприеме и други форми. В Euclidean геометрия, най-късото разстояние между две точки - права линия. На полето, прави линии не съществуват. Тези линии в областта са част от големи кръгове - кръгове, центровете на които съвпадат с центъра на сферата.







Първоначално азимут - азимут, като се, че в началото на движение от точка А след големия кръг на най-късото разстояние до точка Б, крайната точка ще бъде точка Б. Когато движението от точка А в азимут на големия кръг на текущата позиция на точка Б по линия крайна точка B се променя непрекъснато. азимут Началната е различен от DC, след което, азимут от текущата точка до края не се променя, но трасето не е най-късото разстояние между две точки.

Чрез всеки две точки на повърхността на сферата, ако те не са точно срещу един до друг (т.е. те не са антиподи), можете да прекарате един уникален голям кръг. Две точки, имат голяма кръг на две дъги. къса дължина дъга - най-късото разстояние между две точки. Между две точки-антиподи може да побере един безкраен брой на големи кръгове, но разстоянието между тях ще бъде същото за всеки кръг и равен на половината от обиколката на кръг или π * R, където R - радиус на сферата.

В равнина (правоъгълна координатна система), големи кръгове и техни фрагменти, както е споменато по-горе, са дъги във всички издатини, с изключение гномонна където големи кръгове - прави линии. На практика това означава, че полети, и друг път винаги използва минималното разстояние между точките на икономия на гориво, т.е. полет се извършва на разстояние по права линия на самолета, тя изглежда като дъга.







Изчисляване на разстояния между градовете с техните координати - PHP портал

Форма на Земята може да бъде описан като сфера и следователно уравненията за изчисляване на разстоянието на големия кръг е важно да се изчисли най-късото разстояние между две точки на земната повърхност и често се използват в навигацията.

Разстояние изчисление по този метод, по-ефективно и в много случаи, по-точно, отколкото изчисляването за планираните координати (в Декартова координатна система), тъй като, от една страна, тя не трябва да се преведат на географските координати на правоъгълна координатна система (изпълнява проекция трансформация), и на второ място, много прогнози, ако правилно подбрани, могат да доведат до значително нарушаване на дължини поради естеството на проекция изкривяване.

Известно е, че по-точно описва формата на Земята не е сфера, но елипсоид, но тази статия се обсъжда изчисляване на разстоянието е на терена, се използва за изчисляване на радиуса сфера на 6372795 метра, което може да доведе до грешка изчисляване разстояния от порядъка на 0,5%.

Има три начина за изчисляване на сферичната голям кръг далечината.

1. сферична косинус теорема

В случай на малки разстояния и изчисляване малка дължина на думата (брой цифри след десетичната точка), използването на формулата може да доведе до значителни грешки, свързани с закръгляването.

φ1, λ1; φ2, λ2 - географска ширина и дължина на две точки в радиани

Δλ - разликата в ширина на координатите

Δδ - ъгловата разлика

За да се превърне ъгловото разстояние метриката, ъгловата разлика трябва да бъде умножена по радиуса на Земята (6372795 м), крайните единици за разстояние са равни единици, които се изразяват в радиус (в този случай - м).

2. Формула haversine

Използва се за да се избегнат проблеми с малки разстояния.

3. Промяна на антиподите

Предходната формула също е предмет на проблема на антиподи точките, за да го реши, използвайте следната неговата модификация.

Моето изпълнение на PHP

Пример за извикване на функция:

Благодарим Ви, че методът

Благодаря ви - много удобен!

Може би можете да ми помогне с друг проблем (което не мога да преценя за дълго време, obguglil има цялата дължина и ширина)

Задачата е следната: вие трябва да получите координатите на върховете координати на името (LAT, LNG) център и радиус (в километри или м - няма значение)

Natolknite идеята.

Може квадрат, след като радиусът е? Оказва се, че е необходимо да се намери горната част на площада, в която вписан в с известен радиус и център?