Zum Hauptinhalt springen
Weil einfach - produktiver ist

Der Daten Spezialist

Konvertieren Sie die Daten mühelos zwischen verschiedenen Formaten ohne Programmierkenntnisse dank Visual Designer. Effizient und super einfach.
Flowheater Chart

Google Maps Distance Matrix API

  • Rainer N. aus E.
  • avatar Autor
  • Offline
  • Benutzer
  • Benutzer
Mehr
4 Jahre 5 Monate her - 4 Jahre 5 Monate her #3948 von Rainer N. aus E.
Google Maps Distance Matrix API wurde erstellt von Rainer N. aus E.
Hallo liebe Flowheater-Community!

Ich habe eine Aufgabe und hoffe, dass jemand von Euch schon mal sowas in der Art gemacht hat. Google stellt verschidenste APIs kostenlos zur Verfügung. Eine davon ist die "Google Maps Distance Matrix API" . Auf diese kann man auf einfachem Wege über eine URL mit dem HTTP-GET-Request Entfernungsdaten (Fahrtstrecke) abrufen und als XML oder JSON ausgeben lassen. Nun würde ich gerne meine Adressdatenbank mit Flowheater Zeile für Zeile abarbeiten lassen und je Zeile diesen Request ausführen lassen und den Wert "Distance" in die Adressdatenbank zurück schreiben lassen (Freifeld1). Hat jemand eine Idee oder ggf. sogar einen Code-Snippet für mich? Wird das nur was über .Net Script-Code?

Hier ein Link zur einfachen Erklärung der Google Maps Distance Matrix API:
https://mizine.de/html/mit-google-maps-api-entfernungen-berechnen/#Entfernung_berechnen_mit_einem_URL_Abruf

Das ist der HTTP-GET-Request mit Ausgabe im JSON Format ->
https://maps.googleapis.com/maps/api/distancematrix/json?origins=%2299310%20XYZstadt,%20XYZ%20Str.%2043+DE%22&destinations=:{destination_addresses}+DE&mode=%22driving%22&language=%22de-DE%22&sensor=%22false%22&key=Dein-Google-API-Key




Das ist der Request mit Ausgabe im XML Format ->
https://maps.googleapis.com/maps/api/distancematrix/xml?origins=%2299310%20XYZstadt,%20XYZ%20Str.%2043+DE%22&destinations=:{destination_addresses}+DE&mode=%22driving%22&language=%22de-DE%22&sensor=%22false%22&key=Dein-Google-API-Key




Ich hoffe mir kann jemand helfen!? Ich wünsche ein schönes Wochenende!
VG Rainer
Letzte Änderung: 4 Jahre 5 Monate her von FlowHeater-Team. Begründung: JSON/XML Bilder korrigiert

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
4 Jahre 5 Monate her - 4 Jahre 5 Monate her #3949 von FlowHeater-Team
FlowHeater-Team antwortete auf Google Maps Distance Matrix API
Hallo Rainer,

dafür ist keine Programmierung notwendig. Sie können die „Google Maps Distance Matrix API“ direkt über den File Heater , der unterstützt auch HTTP/HTTPS Anfragen, abwickeln. Im Anhang habe ich Ihnen ein kleines Beispiel dazu erstellt.

Sie benötigen allerdings zwei File Heater dazu. Der erste File Heater holt den XML Output über die URL in die Definition. Der zweite File Heater schreibt die XML Daten dann in eine Datei auf die Festplatte. Damit Sie einen Bezug zu der Datei aufbauen können, müssen Sie im Dateinamen irgendwie einen eindeutigen Wert verwenden. Im Beispiel habe ich eine ID verwendet. Der Dateiname kann natürlich auch aus mehrere Werten einen zusammengesetzten eindeutigen Wert darstellen.

Nachdem so alle Werte über die „Google Maps Distance Matrix API“ abgerufen sind können Sie anschließend einen weitere Definition über alle geschriebenen XML Dateien laufen lassen. Hierzu einfach die Batch Option „/ReadFilename *.xml“ mit Wildcards verwenden. Hier lesen Sie dann mittels des XML Adapters die Werte aus. Über den Dateinamen können Sie dann z.B. Bezug zu einem Datensatz in einer Datenbank nehmen und die Werte hier aktualisieren.

Wichtig: Da der FlowHeater noch kein JSON unterstützt müssen Sie darauf achten, dass Sie die XML Ausgabe der „Google Maps Distance API“ verwenden.

Dateianhang:

Dateiname: google-dis...-api.zip
Dateigröße:6 KB

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Letzte Änderung: 4 Jahre 5 Monate her von FlowHeater-Team.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Rainer N. aus E.
  • avatar Autor
  • Offline
  • Benutzer
  • Benutzer
Mehr
4 Jahre 5 Monate her - 4 Jahre 5 Monate her #3950 von Rainer N. aus E.
Rainer N. aus E. antwortete auf Google Maps Distance Matrix API
Hallo Robert,

viele Dank, dass Sie sich mit dem Thema beschäftigt haben. Ich hatte heute zu viel anderes zu tun und komme erst jetzt zum Testen. Auf die Idee mit dem TextFileAdapter wäre ich nie gekommen. Sehr gute Idee!

Nun habe ich das versucht umzusetzen. Dabei habe ich folgenden Denkansatz:
Der erster Gedanke war, alles in einer Definition mit mehreren Schriten durchführen zu lassen. Die Idee scheitert an der Meldung, dass auf der Read Seite für Verarbeitungsschritte >1 einige Heater (MySQL, XML) noch nicht zur Verfügung stehen. Die Alternative ist, dass in 3 einzelnen Definitionen zu erledigen und die 3 Definitionen als 3 Schritte mit dem Flowheater-Server abarbeiten zu lassen.
1.Schritt) Lesen der Adressendatenbank und Export der Adressen in die input.txt. Dabei wird in der 1. Spalte die Kundennummer und in der zweiten Spalte dynamisch die Google Maps Distance Matrix API-URL erzeugt (mit der Adresse und dem API Key usw.)
2.Schritt) Ihre Definition mit dem TextFileAdapter. Lesen der URLs aus der input.txt und schreiben der XML-Dateien ins Verzeichnis
3.Schritt) Lesen der XML-Daten mit der Option „/ReadFilename *.xml“ (geht das mit dem Flowheater-Server?) und schreiben der Entfernungen in die MySQL Datenbank.
Ich werde das mal zusammenbauen und testen! Wenn's klappt oder Fragen entstehen, melde ich mich wieder.

Viele Grüße.
Rainer
Letzte Änderung: 4 Jahre 5 Monate her von Rainer N. aus E..

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Rainer N. aus E.
  • avatar Autor
  • Offline
  • Benutzer
  • Benutzer
Mehr
4 Jahre 5 Monate her - 4 Jahre 5 Monate her #3951 von Rainer N. aus E.
Rainer N. aus E. antwortete auf Google Maps Distance Matrix API

Rainer N. aus E. schrieb: ...Ich werde das mal zusammenbauen und testen! Wenn's klappt oder Fragen entstehen, melde ich mich wieder.


Zwischenstand: Schritt1 funktioniert. Schritt 2 funktioniert. Schritt3 funktioniert nur als Batch, nicht als Aufgabe im Flowheater Server. Den Grund verstehe ich nicht. Führe ich die CMD aus, läuft alles durch. Führe ich die FHD mit den gleichen Argumenten im Server Manager aus, funktioniert es nicht.

Das ist der Aufruf per FHBatch: "C:\Program Files\FlowHeater V4\BIN\FHBatch.exe" /ReadFilename \\flowheater\Definitionen\google-distance-matrix-api\*.xml /ShowDebug \\flowheater\Definitionen\google-distance-matrix-api\xml2adressen.fhd (funktioniert)

Das ist das Gleiche, nur als Server Manager Aufgabe -> (funktioniert nicht)


Hat jemand eine Idee warum?
Letzte Änderung: 4 Jahre 5 Monate her von FlowHeater-Team. Begründung: Server Manager Bild korrigiert

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
4 Jahre 5 Monate her #3952 von FlowHeater-Team
FlowHeater-Team antwortete auf Google Maps Distance Matrix API
Ich sehe erstmal nicht warum das nicht über den FlowHeater Server ausgeführt werden kann.

BItte stellen Sie mal im Server Manager über den Reiter Konfiguration das Log Level auf DEBUG und posten hier den kompletten Aufruf für den Task inkl. des generierten Aufrufes sowie die Fehlermeldung.

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.297 Sekunden
FlowHeater Logo

FlowHeater - Der Daten Spezialist

Effiziente Datenintegration und Transformation mit FlowHeater - Ihre Lösung für nahtlosen Datentransfer.

Rechtliches

Support & Kontakt

Kontaktinformation

Telefon:
0951 / 99339792

E-Mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.


Copyright © 2009-2024 by FlowHeater GmbH. Alle Rechte vorbehalten.