Vorlage:Great circle distance/Doku
Vorlage:Dokumentation Unterseite Vorlage:Lua
Funktion
Die Vorlage berechnet die Großkreisentfernung zweier Geopositionen in Kilometern.
Verwendung
Anstelle des Vorlagennamens Great circle distance können auch die Bezeichner Großkreisdistanz oder Großkreisentfernung als Aliase benutzt werden.
- Erforderliche Parameter:
- Vorlage:Para Breite des ersten Punkts
- Vorlage:Para Länge des ersten Punkts
- Vorlage:Para Breite des zweiten Punkts
- Vorlage:Para Länge des zweiten Punkts
- Optionaler Parameter:
- Vorlage:Para gibt die Art der Rundung an. Dabei nennt die ganze Zahl die Anzahl der Nachkommastellen, auf die gerundet werden soll. Standard ist Null.
Beispiel
{{Great circle distance | 40.7127 | -70.0059 | 34.05 | -118.25 }} ergibt Vorlage:Great circle distance [km].
Berechnung
Die Entfernungsberechung auf der Oberfläche einer Kugel erfolgt mit der sog. Haversin-Formel (Haversine formula):
wobei sind:
- r: Radius der Kugel,
- φ1, φ2: Breite von Punkt 1 und Breite von Punkt 2 in Radiant,
- λ1, λ2: Länge von Punkt 1 und Länge von Punkt 2 in Radiant.
Die Erde ist aber keine Kugel, sondern näherungsweise ein Ellipsoid. Es wird daher mit einem breitengradabhängigen Radius gerechnet. Der Breitengrad ergibt sich aus dem Mittel der Breitengrade für beide Punkte.
wobei sind:
- φ: Breitengrad,
- r1: Radius am Äquator,
- r2: Radius zu den Polen.
Die verwendete Breite ist der Mittelwert der Breitenangaben beider Punkte.
TemplateData
<templatedata> { "params": { "radius": { "label": "Radius", "description": "Radius des Himmelskörpers in Kilometern", "type": "number", "default": "6373" }, "lat1": { "aliases": [ "1" ], "label": "Breite 1", "description": "Breite des ersten Punkts in Dezimalgrad", "type": "number", "default": "0", "required": true }, "long1": { "aliases": [ "2" ], "label": "Länge 1", "description": "Länge des ersten Punkts in Dezimalgrad", "type": "number", "default": "0", "required": true }, "lat2": { "aliases": [ "3" ], "label": "Breite 2", "description": "Breite des zweiten Punkts in Dezimalgrad", "type": "number", "default": "0", "required": true }, "long2": { "aliases": [ "4" ], "label": "Länge 2", "description": "Länge des zweiten Punkts in Dezimalgrad", "type": "number", "default": "0", "required": true }, "precision": { "label": "Genauigkeit", "description": "Anzahl der Nachkommastellen, auf die gerundet werden soll", "type": "number", "default": "0" } }, "description": "Berechnet die Großkreisentfernung zwischen zwei Punkten, die durch ihre Koordinaten (Länge und Breite) bestimmt sind.", "paramOrder": [ "lat1", "long1", "lat2", "long2", "radius", "precision" ] } </templatedata>