x

Anfänger: Entfernung berechnen und in DB speichern


  1. Anfänger: Entfernung berechnen und in DB speichern · MD-Technik (Gast) · 19.09.2019 11:18 · [flux]

    Hallo Leute,

    ich befasse mich erst seit Kurzem mit Openstreetmap und sammle einige Informationen für mein Projekt. Allerdings bin ich mir in einigen Punkten noch nicht sicher:

    Mein Projekt
    Ich möchte ein Portal bauen, auf dem Unterkünfte mit der Entfernung zu den Orten angezeigt werden.
    Zum Beispiel: man wählt den Ort "Kölner Dom" aus und erhält eine Auflistung von 50 Hotels mit der jeweiligen Entfernung zum Kölner Dom "wie es bei vielen anderen Anbietern wie booking auch möglich ist".

    Meine Vorgehensweise
    Um die Entfernungen von jeder Unterkunft zum Ort zu berechnen, würde ich ein PHP-Script schreiben, welcher mit Hilfe der Distance Matrix API die Entfernungen berechnet und in meine Datenbank speichert.

    Offene Fragen
    1) Welche Distance Matrix API würdet ihr empfehlen? Ich habe bis jetzt etwas von "Openrouteservice" und "Graphhopper" gelesen. Hat da jemand Erfahrung damit?
    2) Mein Vorhaben könnte ich zwar mit Google Distance Matrix API durchführen, allerdings schreibt Google vor, dass die ausgerechneten Daten nicht in die Datenbank gespeichert werden dürfen. Ist das bei Openstreetmap anders? Soweit ich das jetzt gelesen habe, gibt es dazu keine Enschränkungen, aber da möchte ich auf Nummer sicher gehen.

    Wie gesagt, ich bin in dem Gebiet absoluter Anfänger und bitte um Verständnis 😉

    Würde mich über eure Unterstützung sehr freuen!


    • Re: Anfänger: Entfernung berechnen und in DB speichern · chris66 (Gast) · 19.09.2019 11:57 · [flux]

      Hi,
      so wie ich die ODBL verstehe, müsstest Du deine DB auf Anfrage zur Verfügung stellen.

      https://wiki.openstreetmap.org/wiki/Ope … se_License


    • Re: Anfänger: Entfernung berechnen und in DB speichern · wambacher (Gast) · 19.09.2019 13:42 · [flux]

      MD-Technik wrote:

      Mein Projekt
      Ich möchte ein Portal bauen, auf dem Unterkünfte mit der Entfernung zu den Orten angezeigt werden.
      Zum Beispiel: man wählt den Ort "Kölner Dom" aus und erhält eine Auflistung von 50 Hotels mit der jeweiligen Entfernung zum Kölner Dom "wie es bei vielen anderen Anbietern wie booking auch möglich ist".

      Wo stehen diese Informationen und woher kommen diese?

      Meine Vorgehensweise
      Um die Entfernungen von jeder Unterkunft zum Ort zu berechnen, würde ich ein PHP-Script schreiben, welcher mit Hilfe der Distance Matrix API die Entfernungen berechnet und in meine Datenbank speichert.

      welche Datenbank? Software, Datenschema, Datenquelle - in anderen Worten: "was steht da drin"?

      Offene Fragen
      1) Welche Distance Matrix API würdet ihr empfehlen? Ich habe bis jetzt etwas von "Openrouteservice" und "Graphhopper" gelesen. Hat da jemand Erfahrung damit?

      Sowas macht man - eigentlich - mit PostGIS. Kann aber erst was dazu sagen. wenn die ersten beiden Fragen beantwortet wurden.

      2) Mein Vorhaben könnte ich zwar mit Google Distance Matrix API durchführen, allerdings schreibt Google vor, dass die ausgerechneten Daten nicht in die Datenbank gespeichert werden dürfen. Ist das bei Openstreetmap anders? Soweit ich das jetzt gelesen habe, gibt es dazu keine Enschränkungen, aber da möchte ich auf Nummer sicher gehen.

      welche Datenbank meinst du jetzt genau? Deine lokale DB oder etwa die zentrale OSM-DB?

      Wie gesagt, ich bin in dem Gebiet absoluter Anfänger und bitte um Verständnis 😉

      Mer haben alle mal klein angefangen 😉

      Gruss
      walter

      ps: Ich muss hier so pingelig nachfragen, damit wir genau wissen, wovon du in Wirklichkeit redest.


    • Re: Anfänger: Entfernung berechnen und in DB speichern · MD-Technik (Gast) · 19.09.2019 15:07 · [flux]

      @chris66: werde mich mit der ODBL Licence mal auseinandersetzt. Danke für den Hinweis.

      @wambacher:

      Also vorerst soll dieser Portal natürlich online sein und öffentlich über eine Domain erreichbar werden.

      Die Einzelne Informationen zu den Unterkünften würde man nach und nach aus unterschiedlichen Quellen sammeln.

      Die Datenbank ist eine MySQL 5.6 und ist mit einem CMS verbunden, mit dem die einzelne Einträge (Orte und Unterkünfte) verwaltet werden.


    • Re: Anfänger: Entfernung berechnen und in DB speichern · gormo (Gast) · 19.09.2019 15:12 · [flux]

      wambacher wrote:

      MD-Technik wrote:

      Mein Projekt
      Ich möchte ein Portal bauen, auf dem Unterkünfte mit der Entfernung zu den Orten angezeigt werden.
      Zum Beispiel: man wählt den Ort "Kölner Dom" aus und erhält eine Auflistung von 50 Hotels mit der jeweiligen Entfernung zum Kölner Dom "wie es bei vielen anderen Anbietern wie booking auch möglich ist".

      Wo stehen diese Informationen und woher kommen diese?

      Ich formulier das mal etwas ausführlicher:

      Die Frage ist, was du genau von OSM willst. Sind die "Orte" schon bei dir vorhanden, ist das eine Whitelist in die du von dir speziell ausgesuchte und geokodierte Orte einträgst, oder willst du auch die Orte aus OSM beziehen?
      Gleiches für die Unterkünfte: deine eigenen Daten oder OSM-Daten?

      Wenn Du OSM nur fürs Routing/für die Entfernungsberechnung nutzen willst, kannst Du das mit einer beliebigen Routing-Anwendung auf OSM-Basis machen, Liste z.B. hier: https://wiki.openstreetmap.org/wiki/Lis … es#Routing .

      Wenn Du auch die Orte und die Unterkünfte aus OSM brauchst, kannst Du das entweder mit online services (z.B. der Overpass API) machen, die aber alle keine garantierten Servicelevel o.ä. haben und meist von Freiwilligen betrieben werden, die damit auch mal aufhören (dh wenn dein Geschöftsmodell darauf basiert und der Dienst wegfällt biste gekniffen), oder die Daten in deine eigene DB ziehen und die ganzen Auswertungen (geht sogar bis hin zum Routing) auf deiner DB fahren.

      Ich nehm einfach an, das du mit "Entfernung" nicht Luftlinie sondern Laufstrecke meintest. Falls du Luftlinie meinst fällt natürlich das Routing weg ;-)


    • Re: Anfänger: Entfernung berechnen und in DB speichern · MD-Technik (Gast) · 19.09.2019 15:20 · [flux]

      gormo wrote:

      wambacher wrote:

      MD-Technik wrote:

      Mein Projekt
      Ich möchte ein Portal bauen, auf dem Unterkünfte mit der Entfernung zu den Orten angezeigt werden.
      Zum Beispiel: man wählt den Ort "Kölner Dom" aus und erhält eine Auflistung von 50 Hotels mit der jeweiligen Entfernung zum Kölner Dom "wie es bei vielen anderen Anbietern wie booking auch möglich ist".

      Wo stehen diese Informationen und woher kommen diese?

      Ich formulier das mal etwas ausführlicher:

      Die Frage ist, was du genau von OSM willst. Sind die "Orte" schon bei dir vorhanden, ist das eine Whitelist in die du von dir speziell ausgesuchte und geokodierte Orte einträgst, oder willst du auch die Orte aus OSM beziehen?
      Gleiches für die Unterkünfte: deine eigenen Daten oder OSM-Daten?

      Wenn Du OSM nur fürs Routing/für die Entfernungsberechnung nutzen willst, kannst Du das mit einer beliebigen Routing-Anwendung auf OSM-Basis machen, Liste z.B. hier: https://wiki.openstreetmap.org/wiki/Lis … es#Routing .

      Wenn Du auch die Orte und die Unterkünfte aus OSM brauchst, kannst Du das entweder mit online services (z.B. der Overpass API) machen, die aber alle keine garantierten Servicelevel o.ä. haben und meist von Freiwilligen betrieben werden, die damit auch mal aufhören (dh wenn dein Geschöftsmodell darauf basiert und der Dienst wegfällt biste gekniffen), oder die Daten in deine eigene DB ziehen und die ganzen Auswertungen (geht sogar bis hin zum Routing) auf deiner DB fahren.

      Ich nehm einfach an, das du mit "Entfernung" nicht Luftlinie sondern Laufstrecke meintest. Falls du Luftlinie meinst fällt natürlich das Routing weg ;-)

      Also die GEO-Koordinaten der Unterkünfte und Orte liegen mir bereits vor. Wie du bereits erkannt hast, geht es mir nur um die Entfernung (mit dem Auto) zwischen zwei GEO-Koordinaten.


    • Re: Anfänger: Entfernung berechnen und in DB speichern · kreuzschnabel (Gast) · 19.09.2019 15:24 · [flux]

      MD-Technik wrote:

      Mein Vorhaben könnte ich zwar mit Google Distance Matrix API durchführen, allerdings schreibt Google vor, dass die ausgerechneten Daten nicht in die Datenbank gespeichert werden dürfen. Ist das bei Openstreetmap anders?

      Speichern darfst du auf jeden Fall, die OSM-Daten sind frei. Ob deine so erstellte Entfernungs-Datenbank ein abgeleitetes Werk ist (das du unter einer kompatiblen Lizenz zur Verfügung stellen musst, share-alike) oder doch eher eine Auswertung und nicht eine Bearbeitung der OSM-Daten (wo das für mein Empfinden nicht gilt), müssen Rechtskundigere als ich beurteilen. Immerhin dürfen aus OSM erzeugte Kartenbilder unter einer CC-BY-Lizenz angeboten werden, die restriktiver ist als die ODbL (letztere verlangt keine Urhebernennung).

      --ks


    • Re: Anfänger: Entfernung berechnen und in DB speichern · MD-Technik (Gast) · 20.09.2019 07:32 · [flux]

      @kreuzschnabel: danke für deinen Beitrag. Dann muss man jetzt nur noch herausfinden ab wann eine Datenbank, ein abgeleitetes Werk ist.. 😉

      Und bei der CC-By Lizenz muss der Urheber des Originals genannt werden. Dies kann nach meinem Verständnis auch im Impressum erwähnt werden und nicht auf den jeweiligen Seiten, wo die Entfernungen verwendet werden oder?