Merkmale über Entfernung der Koordinaten verbinden

Wie erweitere ich R um eigene Funktionen oder Pakete? Welches Paket ist passend für meine Fragestellung?

Moderatoren: EDi, jogo

jonny22119
Beiträge: 7
Registriert: Mo Nov 04, 2019 2:46 pm

Merkmale über Entfernung der Koordinaten verbinden

Beitrag von jonny22119 »

Moin Moin,
vorab möchte ich anmerken, dass dies hier mein erster Eintrag in einem Forum ist. Dementsprechend entschuldige ich mich jetzt schonmal, falls ich hier nicht die richtige Kategorie erwischt habe oder Informationen fehlen. Ich bemühe mich jedoch, mein Problem möglichst verständlich darzustellen :).

Zu meinem Problem:

Ich habe einen Datensatz zu Benzinpreisen verschiedener Tankstellen in Deutschland. Für diesen möchte ich langfristig den Zusammenhang zu verschieden Klimadaten herstellen, deren Werte ich über verschiedene Daten der Wetterstationen beziehe.
Mein Ziel ist es nun, jeder Tankstelle in meinem Datensatz eine Wetterstation zuzuordnen, die im Umkreis von 5km liegt. Sollte eine Tankstelle keine Wetterstation im Umkreis von 5km haben, so möchte ich diese aus meinem Datensatz entfernen.
Für die Positionen der Wetterstationen und der Tankstellen habe ich jeweils die Geokoordinaten (Längengrad und Breitengrad) in den Datensätzen angegeben.
Leider fehlt mir momentan noch jeglicher Ansatz wie ich ein solches Problem lösen könnte.
Kennt jemand vielleicht ein package oder hat eine Idee, in welche Richtung man dieses Problem lösen könnte?

Vorab schonmal Vielen Dank für eure Hilfe :)
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Merkmale über Entfernung der Koordinaten verbinden

Beitrag von Athomas »

Die Antwort hängt wesentlich von den verwendeten "Stückzahlen" ab - wenn Du z.B. 200 Wetterstationen und 5000 Tanken hast, solltest Du -rubbeldidub - die paarweise vergleichen können. Programme zur Berechnung des Abstandes zweier Punkte auf der Erdoberfläche gibt es ja reichlich...
jonny22119
Beiträge: 7
Registriert: Mo Nov 04, 2019 2:46 pm

Re: Merkmale über Entfernung der Koordinaten verbinden

Beitrag von jonny22119 »

Danke schonmal für die schnelle Antwort.

Also Wetterstationen habe ich um die 500, Tankstellen hingegen um die 15.000.
Natürlich könnte ich nun R sagen, dass er immer dann die Daten einer Wetterstation und die Daten einer Tankstelle in einer Zeile zusammenfügen, wenn die Längen- und Breitengrade von Wetterstation und Tankstelle übereinstimmen.

Dies wird aber natürlich nie der Fall sein, da die Wetterstationen und Tankstellen ja nie exakt die gleichen Koordinaten haben.
Dementsprechend beabsichtige ich, R irgendwie zu sagen, dass es Wetterstation X und Tankstelle Y nur dann in einer Zeile zusammenführen soll, wenn die Koordinaten in einem Umkreis von 5km liegen.

Ich weiß jedoch nicht, wie ich hier vorgehen müsste?
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Merkmale über Entfernung der Koordinaten verbinden

Beitrag von bigben »

Bei Google mal "R geographic distance" eingeben, dann tauchen Sachen auf wie die Pakete geodisc , geosphere und Blog-Einträge zum Thema wie dieser (tl;dr;) oder dieser (tl;dr;), Funktionen wie pointDistance in einem Paket namens raster, ...

Konkrete Hilfe im Forum: Wenn Du mal ein wenig im Forum herumliest wirst Du schnell sehen, dass es konkreten Code als Antwort eigentlich nur für die gibt, ein reproduzierbares Beispiel für ihr Problem posten. Was das ist und wie das geht, dazu hilft der älteste Post im FAQ-Unterforum.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
jonny22119
Beiträge: 7
Registriert: Mo Nov 04, 2019 2:46 pm

Re: Merkmale über Entfernung der Koordinaten verbinden

Beitrag von jonny22119 »

Super, nun habe ich schonmal einen Ansatz, wo ich recherchieren kann.
Vielen Dank
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Merkmale über Entfernung der Koordinaten verbinden

Beitrag von Athomas »

Natürlich könnte ich nun R sagen, dass er immer dann die Daten einer Wetterstation und die Daten einer Tankstelle in einer Zeile zusammenfügen, wenn die Längen- und Breitengrade von Wetterstation und Tankstelle übereinstimmen.
Hmm - ich hoffe, das hast Du nicht aus meiner Antwort herausgelesen :shock: !

Ich würde mal sagen, bei 500 x 15.000 = 75 Mio Koordinatenpaaren sollte es kein Problem sein, mit einem "brut force"-Ansatz alle Distanzen zu berechnen, dann die kleinste pro Tanke herauszusuchen und zu schauen, ob sie kleiner als 5 km ist...
jonny22119
Beiträge: 7
Registriert: Mo Nov 04, 2019 2:46 pm

Re: Merkmale über Entfernung der Koordinaten verbinden

Beitrag von jonny22119 »

Nein habe ich nicht :) Ich wollte damit nur mein Problem nur noch einmal deutlicher machen.

"brut force" Ansatz sagt mir bisher noch nichts, aber auch dies ist ja nun schonmal ein Ansatz über den ich mich jetzt schlau machen kann. Vielen Dank also auch hier für den Tipp
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Merkmale über Entfernung der Koordinaten verbinden

Beitrag von EDi »

Ich würde das mit sf machen (top Paket für geocomputation in R).

https://r-spatial.github.io/sf/referenc ... ature.html

Für alles weitere bitte ein reproduzierbares Beispiel posten.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Merkmale über Entfernung der Koordinaten verbinden

Beitrag von Athomas »

Zu meinem Problem:
Konntest Du das "Problem" lösen?
jonny22119
Beiträge: 7
Registriert: Mo Nov 04, 2019 2:46 pm

Re: Merkmale über Entfernung der Koordinaten verbinden

Beitrag von jonny22119 »

Ich hatte bewusst kein reproduzierbares Beispiel gepostet, da es um meine Masterarbeit geht und ich dachte, dass die wesentliche Leistung des Code Schreibens von mir selbst kommen sollte. Trotzdem vielen Dank für die netten Angebote für weitere Hilfe.

Eure Ansätze und Ideen welche Packages ich verwenden sollte haben mir schon sehr geholfen, sodass ich auf einem guten Wege bin meine Daten zusammenzustellen. Mal sehen wie weit ich komme, ich melde mich sonst bestimmt nochmal.
Toll, wie man hier unterstützt wird, ich danke euch :D :)
Antworten