根据经纬度计算地球上两点之间的距离js实现代码_javascript技巧
利用JS实现的根据经纬度计算地球上两点之间的距离
最近用到了根据经纬度计算地球表面两点间距离的公式,然后就用JS实现了一下。
计算地球表面两点间的距离大概有两种办法。
第一种是默认地球是一个光滑的球面,然后计算任意两点间的距离,这个距离叫做大圆距离(The Great Circle Distance)。
公式如下:
使用JS来实现为:
var EARTH_RADIUS = 6378137.0; //单位M
var PI = Math.PI;
function getRad(d){
return d*PI/180.0;
}
/**
* caculate the great circle distance
* @param {Object} lat1
* @param {Object} lng1
* @param {Object} lat2
* @param {Object} lng2
*/
function getGreatCircleDistance(lat1,lng1,lat2,lng2){
var radLat1 = getRad(lat1);
var radLat2 = getRad(lat2);
var a = radLat1 - radLat2;
var b = getRad(lng1) - getRad(lng2);
var s = 2*Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2) + Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2)));
s = s*EARTH_RADIUS;
s = Math.round(s*10000)/10000.0;
return s;
}
这个公式在大多数情况下比较正确,只有在处理球面上的相对点的时候,会出现问题,有一个修正的公式,因为没有需要,就没有找出来,可以在wiki上查到。
当然,我们都知道,地球其实并不是一个真正的圆球体,而是椭球,所以有了下面的公式:
/**
* approx distance between two points on earth ellipsoid
* @param {Object} lat1
* @param {Object} lng1
* @param {Object} lat2
* @param {Object} lng2
*/
function getFlatternDistance(lat1,lng1,lat2,lng2){
var f = getRad((lat1 + lat2)/2);
var g = getRad((lat1 - lat2)/2);
var l = getRad((lng1 - lng2)/2);
var sg = Math.sin(g);
var sl = Math.sin(l);
var sf = Math.sin(f);
var s,c,w,r,d,h1,h2;
var a = EARTH_RADIUS;
var fl = 1/298.257;
sg = sg*sg;
sl = sl*sl;
sf = sf*sf;
s = sg*(1-sl) + (1-sf)*sl;
c = (1-sg)*(1-sl) + sf*sl;
w = Math.atan(Math.sqrt(s/c));
r = Math.sqrt(s*c)/w;
d = 2*w*a;
h1 = (3*r -1)/2/c;
h2 = (3*r +1)/2/s;
return d*(1 + fl*(h1*sf*(1-sg) - h2*(1-sf)*sg));
}
这个公式计算出的结果要比第一个好一些,当然,最后结果的经度实际上还取决于传入的坐标的精度。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Bei einer dreidimensionalen Ebene und damit drei Koordinaten besteht die Aufgabe darin, den Abstand zwischen den angegebenen Punkten zu ermitteln und das Ergebnis anzuzeigen. Auf der dreidimensionalen Ebene gibt es drei Koordinatenachsen, die Koordinaten der x-Achse sind (x1, y1, z1), die Koordinaten der y-Achse sind (x2, y2, z2) und die Koordinaten der Die Z-Achse ist (x3, y3, z). Es gibt eine direkte Formel zur Berechnung des Abstands zwischen ihnen wie folgt: $$\sqrt{\lgroupx2-x1\rgroup^{2}+\lgroupy2-y1\rgroup^{2}+\lgroupz2-z1\rgroup^{2 } }$$Das Folgende ist eine Abbildung, die drei verschiedene Koordinatenachsen und ihre Koordinaten zeigt. Die unten verwendete Methode ist wie folgt: − Eingabekoordinaten (x1,

Dieser Artikel ist ein Nachdruck aus dem öffentlichen WeChat-Konto „Leben im Informationszeitalter“. Der Autor lebt im Informationszeitalter. Um diesen Artikel erneut zu drucken, wenden Sie sich bitte an das öffentliche Konto Living in the Information Age. Beim maschinellen Lernen besteht ein Grundkonzept darin, den Unterschied zwischen zwei Stichproben zu beurteilen, sodass die Ähnlichkeit und Kategorieinformationen zwischen den beiden Stichproben ausgewertet werden können. Das Maß zur Beurteilung dieser Ähnlichkeit ist der Abstand zwischen zwei Stichproben im Merkmalsraum. Es gibt viele Messmethoden, die auf unterschiedlichen Dateneigenschaften basieren. Im Allgemeinen definieren Sie für zwei Datenproben x, y eine Funktion d (x, y). Wenn sie als Abstand zwischen den beiden Proben definiert ist, muss d (x, y) die folgenden Grundeigenschaften erfüllen: Nicht- Negativität: d(x, y)>=0 Identität: d(x, y)=0 ⇔ x=y Paar

Auf seiner jährlichen Entwicklerkonferenz stellte Apple die nächste Generation von Betriebssystemen für seine Gerätepalette vor. Wie üblich steht iOS 17 im Mittelpunkt aller wichtigen Änderungen, mit Funktionen wie Live-Voicemail, Nachrichtentranskription, Live-Stickern, Standby-Modus, Live-Aktivitäten im Vollbildmodus, interaktiven Widgets und mehr. Eines der herausragenden Features dieser neuen Ergänzungen ist Screen Distance. Dies ist eine gesundheitsorientierte Funktion, die darauf abzielt, Augenbelastung und Kurzsichtigkeit auf Ihrem iPhone-Bildschirm zu verhindern. In diesem Artikel erklären wir, was der Bildschirmabstand ist und wie man ihn in iOS17 aktiviert. Wie groß ist der Bildschirmabstand unter iOS17? Als Teil der neuen Gesundheitsfunktionen, die in iOS 17 eingeführt wurden, bietet Apple eine Bildschirmabstandsfunktion an, um Benutzern die Vorhersage zu erleichtern

Was ist die Bildschirmabstandsfunktion im iOS17-Update? Apple bietet auf dem iPhone eine Bildschirmabstandsfunktion an, um Benutzern dabei zu helfen, Ermüdungserscheinungen der Augen und dem Risiko einer Kurzsichtigkeit vorzubeugen. Die Funktion (verfügbar ab iOS 17) nutzt die TrueDepth-Kamera des iPhones (die gleiche Kamera, die auch FaceID unterstützt), um den Abstand zwischen dem Gesicht und dem Telefon zu messen. Wenn Screen Distance erkennt, dass Sie Ihr iPhone über einen längeren Zeitraum näher als 12 Zoll oder 30 Zentimeter halten, werden Sie aufgefordert, Abstand zum iPhone-Bildschirm zu halten. Wenn Ihr Gerät erkennt, dass es weniger als 12 Zoll von Ihrem Gesicht entfernt ist, wird auf dem Bildschirm die Meldung „iPhone zu nah“ angezeigt und Sie werden aufgefordert, Abstand zu halten, um Ihre Sicht zu schützen. Nur wenn Sie das Gerät weiter platzieren

Wenn wir diese Plattform verwenden, wissen wir alle, dass jeder Ort Koordinaten hat. Ich glaube, dass Studenten, die Geographie studiert haben, die Längen- und Breitengradkoordinaten kennen Es kann Ihnen aber auch die aktuellen Längen- und Breitengrade anzeigen. Das heißt, wir können alle die Längen- und Breitengradkoordinaten jedes beliebigen Ortes auf der Karte überprüfen Die entsprechenden spezifischen Standorte sind genauer, aber die Mehrheit der Benutzer, die es nicht wissen, sehen es sich immer noch an. Um Ihnen ein besseres Verständnis zu vermitteln, treten wir jetzt dem Herausgeber bei. Schauen Sie mal rein, ich glaube, Sie werden es nicht verpassen Kommen Sie vorbei und schauen Sie sich das an.

Sie können den Breiten- und Längengrad auf Google Maps überprüfen, aber wie überprüfen Sie den Breiten- und Längengrad? Benutzer klicken auf die Informationen zu einem Standort und dann auf „Mehr anzeigen“, um die spezifischen Längen- und Breitengradinformationen anzuzeigen. Diese Einführung in die Methode zur Überprüfung von Längen- und Breitengraden kann Ihnen den spezifischen Inhalt erklären. Im Folgenden finden Sie die detaillierte Methode. Schauen Sie sich also um. So überprüfen Sie den Breiten- und Längengrad auf Google Maps A: Klicken Sie auf den Standort und wählen Sie aus, um detaillierte Informationen anzuzeigen. Ausführliche Einführung: Mobile Version: 1. Gehen Sie zunächst zur Fortschrittskarte und wählen Sie einen Ort aus, den Sie anzeigen möchten. 2. Klicken Sie im Inneren auf die Schaltfläche „Alle anzeigen“. 3. Sie können den detaillierten Breiten- und Längengrad sehen. PC-Version: 1. Rufen Sie zunächst die Google Maps-Website auf. https://www.google.cn2. Klicken Sie mit der rechten Maustaste, um den gewünschten Standort anzuzeigen, und klicken Sie auf Was ist hier?

Für die UWB-Technologie hat sich auf dem Industrieanwendungsmarkt ein interessanter Trend herauskristallisiert: Die Übertragungsentfernung von Basisstationen nimmt allmählich zu. Eine typische Szene ist ein Tunnel oder eine Mine. Das Merkmal dieser Szene ist, dass der Raum linear ist und es nicht viele gibt Hindernisse in der Mitte sind ebenfalls in geraden Linien angeordnet. Je größer der Arbeitsabstand der Basisstation, desto geringer ist die Anzahl der für das Projekt erforderlichen Basisstationen und desto geringer sind die Projektkosten. Im Marktwettbewerb wird der Arbeitsabstand der UWB-Basisstationen auf dem Markt immer größer Der Arbeitsabstand der Basisstation hat sich von Zehntausenden in der Anfangszeit auf 100 m, 200 m, 500 m, 1000 m, 2000 m oder sogar noch weiter erhöht. In diesem Artikel wird nicht zu viel auf die Geschäftslogik dahinter eingegangen. Warum funktionieren UWB-Basisstationen immer weiter entfernt? Es gibt zwei Schlüsselkomponenten: die Antenne und die andere

Wie verwende ich Java-Code, um den Breiten- und Längengrad des aktuellen Standorts auf der Baidu-Karte anzuzeigen? Baidu Maps ist eine sehr beliebte Kartenanwendung, die häufig bei der Entwicklung von Geolokalisierungsanwendungen verwendet wird. In diesem Artikel wird erläutert, wie Sie mithilfe von Java-Code den Längen- und Breitengrad des aktuellen Standorts auf der Baidu-Karte anzeigen. Zuerst müssen wir ein Baidu-Entwicklerkonto vorbereiten und eine Anwendung erstellen, um den API-Schlüssel zu erhalten. Nachdem wir ein Konto registriert und uns auf der Baidu-Entwickler-Website angemeldet haben, können wir eine Anwendung in der Konsole erstellen und einen API-Schlüssel für den Zugriff erhalten
