FlowHeater Demo Video
 
Der Daten Import / Export Spezialist
 
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Schauen Sie sich auch die verfügbaren allgemeinen Beispiele an evtl. kann Ihre Frage hiermit schon beantwortet werden: Hello World 1 / 2 / 3 , Zahlen in Zeichenketten formatieren , Einfache Wenn-Dann-Sonst Bedingung , Komplexe If-Then-ElseIf ... Bedingung , Daten filtern und gruppieren , Daten gruppieren und Werte über die Gruppierung summieren
  • Seite:
  • 1

THEMA:

Google Maps Distance Matrix API 1 Monat 3 Tage her #3948

  • Rainer N. aus E.
  • Rainer N. aus E.s Avatar Autor
  • Offline
  • Beiträge: 23
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
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von FlowHeater-Team. Begründung: JSON/XML Bilder korrigiert

Google Maps Distance Matrix API 1 Monat 1 Tag her #3949

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1499
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.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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: von FlowHeater-Team.

Google Maps Distance Matrix API 1 Monat 12 Stunden her #3950

  • Rainer N. aus E.
  • Rainer N. aus E.s Avatar Autor
  • Offline
  • Beiträge: 23
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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von Rainer N. aus E..

Google Maps Distance Matrix API 4 Wochen 1 Tag her #3951

  • Rainer N. aus E.
  • Rainer N. aus E.s Avatar Autor
  • Offline
  • Beiträge: 23

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?
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von FlowHeater-Team. Begründung: Server Manager Bild korrigiert

Google Maps Distance Matrix API 4 Wochen 1 Tag her #3952

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1499
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.

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.
  • Seite:
  • 1

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

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

Follow us on

twitter  facebook

YouTube

 de en