Geokoordinaten

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Moschi96
User
Beiträge: 6
Registriert: Dienstag 8. Dezember 2020, 14:04

Hallo,
Ich bin totaler Anfänger und muss jetzt für eine Forschungsarbeit mit dem Programmieren anfangen.
Ich untersuche für mehrere Quadratkilometer in Deutschland unterschiede und Gemeinsamkeiten.
Hat einer eine Idee, wie ich anhand von Geokoordinaten auf die nächst umliegenden Koordinaten schließen kann? Leider konnte ich, keine Muster erkennen..
Hat einer von euch eine Idee?
Beste Grüße
Bolitho
User
Beiträge: 219
Registriert: Donnerstag 21. Juli 2011, 07:01
Wohnort: Stade / Hamburg
Kontaktdaten:

Leider kann ich dir das nicht beantworten. Kennst du GeoPandas oder GeoDjango? Dazu gibt es diverse Tutorials im Netz z.B. auf Youtube. Vielleicht findest du da was.
Benutzeravatar
noisefloor
User
Beiträge: 4194
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

die Formel zum Berechnen der Distanz zweier Punkte auf einer Kugel heißt "Haversine formula" (keine Ahnung, wie das auf deutsch heißt). Der einfachste (aber ziemlich sicher nicht effektivste) Weg ist, von den Ist-Koordinaten die Distanz zu allen anderen Koordinaten zu berechnen und dann die mit der kleinsten Distanz zu wählen.

Da die Erde keine Kugel ist, ist das nicht 100% genau, wobei der Fehler Richtung Polkappen größer wird. Wenn du es genauer brauchst kannst du z.B. das Python-Modul geopy nehmen, dass kennt auch Erdmodelle mit Abflachung an den Polen wie z.B. WGS-84.

Gruß, noisefloor
Moschi96
User
Beiträge: 6
Registriert: Dienstag 8. Dezember 2020, 14:04

Vielen Dank für eure Antwort. Den Abstand von den Koordinaten zu berechnen, und dann die kleinsten Entfernungen zu benutzen habe ich auch schon in Betracht gezogen. Ich glaube aber das das für die DatenMenge nicht möglich ist. In Geopy habe ich mich auch eingelesen, aber wie ich es verstanden habe, gibt es ein AnfrageLimit von 1. Sekunde, das wäre auch schon zu viel für die Berechnung.
Wenn ich eine Lösung finde, teile ich euch meinen Lösungsvorschlag mit.
Schönen Abend noch
Beste Grüße
Nils
Benutzeravatar
noisefloor
User
Beiträge: 4194
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
In Geopy habe ich mich auch eingelesen, aber wie ich es verstanden habe, gibt es ein AnfrageLimit von 1. Sekunde, das wäre auch schon zu viel für die Berechnung
Das ist für dich aber nicht relevant, wenn du das GeoPy Modul "nur" zum berechnen von Distanzen benutzt. Das Abfragelimit ist relevant, wenn du z.B. zu Koordinaten eine Adresse brauchst. Tust du aber nicht, soweit ich das verstanden habe.

Eine weitere Alternative wäre, eine Datenbank zu benutzen, alle Punkte in die Datenbank zu packen und dann die Anfrage da drüber du machen. Redis kann das über die GEORADIUS Abfrage. Ich denke, dass es auch Module für relationale Datenbanken gibt, um so was umzusetzen. Ob das dann wirklich schneller / effizienter ist, musst du letztendlich testen.

Wie viele Punkte hast du denn so pro Datensatz / zu analysierender Fläche?

Gruß, noisefloor
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Für PostgreSQL gibt es das PostGIS Modul.
Antworten