In Postgres 9.1+ Datenbank enthält Routenpunkte:Wie Entfernung zu berechnen, die von Breiten- und Längen
create table doksyndm (
id serial primary key,
readingtime timestamp with time zone not null,
latitude float,
longitude float
);
Punkte von Browser navigator.geolocation Anrufe von javascript gespeichert werden.
Wie berechne ich die Routenlänge aus diesen Daten? Die Route ist weniger als 300 km, so dass direkte Linienlängen zwischen den Punkten summiert werden können. Es sollte in Postgres 9.1 und neuer funktionieren.
Ergebnis sollte eine Zahl sein, Gesamtentfernung zwischen Punkten in Kilometern. Datenbank- und JavaScript-Code-Sendepunkte können neu berechnet werden, wenn dies zumutbar ist.
Antworten in Calculate distance between two points in google maps V3, wie dies in den Produktionssprachen implementiert werden kann.
Sie verwenden For-Schleife, die nicht in SQL verfügbar ist. Kann Maby SUM() mit Window-Funktion dazu verwendet werden?
http://stackoverflow.com/questions/1502590/berechnete-entfernung-zwischen-zweipunkte-in-google -maps-v3/1502821 # 1502821 – Teemu
Antworten dazu enthalten Code in C#, Javascript und Java. Sie verwenden für die Schleife, die nicht in SQL verfügbar ist. Wie implementiert man dies in SQL oder Postgres? Wahrscheinlich sollte eine Fensterfunktion verwendet werden. – Andrus
??? Es gibt viele Antworten ohne Schleifen. Die Idee war, die hairsine-Formel einzuführen, die Sie in jeder beliebigen Sprache anwenden können. Mit dieser Bemerkung wissen Sie bereits, dass Sie keine Kopie-Pasta-Antwort für eine Frage erwarten können, die keinen Versuch zeigt, das Problem zu lösen. – Teemu