Seite 1 von 1

Geokoordinaten

Verfasst: Dienstag 8. Dezember 2020, 14:09
von Moschi96
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

Re: Geokoordinaten

Verfasst: Dienstag 8. Dezember 2020, 17:21
von Bolitho
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.

Re: Geokoordinaten

Verfasst: Dienstag 8. Dezember 2020, 17:32
von noisefloor
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

Re: Geokoordinaten

Verfasst: Mittwoch 9. Dezember 2020, 22:02
von Moschi96
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

Re: Geokoordinaten

Verfasst: Donnerstag 10. Dezember 2020, 07:12
von noisefloor
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

Re: Geokoordinaten

Verfasst: Donnerstag 10. Dezember 2020, 07:55
von sparrow
Für PostgreSQL gibt es das PostGIS Modul.