Forum

Diese Foren dienen dem Austausch und der Unterstützung der Entwicklungspartner für GPSoverIP/DATAoverIP und HLD.

Nutzen Sie diese zur direkten Kommunikation mit dem Entwicklungsteam der GPSoverIP GmbH und anderen Entwicklern. Anfragen über die Foren werden mit erhöhter Priorität bearbeitet.

Achten Sie bitte bei der Kommunikation auf die Netiquette, um allen Beteiligten die Arbeit mit den Foren zu erleichtern.

GPS-Positionsdaten im Module fms mitabfragen / Format der GPS-Koordinaten

Gast

Sehr geehrte Damen und Herren,

ich bin gerade dabei mich mit der API zum Abruf von Archivdaten unseres kürzlich erworbenen GPSauge MI6 BLE zu befassen. Über das Module fms und die Action get war es mir dann auch schon möglich, direkt mit Python FMS/CAN-Daten für einen bestimmten Zeitabschnitt von ihren Servern abzurufen.

1. Nun schreiben Sie bei der Action getvalue in Ihrer API-Dokumentation:„Sie können sich zu jedem Zeitpunkt auch die GPS-Koordinaten (GPS_LAT/GPS_LON) liefern lassen.“https://www.gpsoverip.de/entwickler/api-referenz/actions/parameter/?tx_repomodule_pi1%5Bmoduleid%5D=88578975&tx_repomodule_pi1%5Bactionid%5D=99042731

Wie geht das? Ist es möglich dieGPS-Koordinaten direkt mit den FMS/CAN-Daten für jeden Zeitschreitgleich mitabzufragen? Welche Parameter muss ich dafür übergeben? Derzeit sieht meine Python-Funktion zur Datenabfrage so aus:

Was mir die Daten letztlich für jeden Zeitschritt in einem Dictionary zurückgibt:

Das passt für mich auch soweit sehr gut. Nach meiner Vorstellung sollten hier dann aber eben auch zusätzlich noch GPS-Longitude und GPS-Latitude als Werte mit aufgeführt werden. Ist dies so möglich?

2. Außerdem habe ich noch eine Frage zum von Ihnen verwendetenFormat der GPS-Koordinaten. Mit dem Module „devices“ habe ich mir über die Action "getonepos" mal die Koordinaten für einen einzelnen Zeitschritt (2021-05-13 00:00:00) abgerufen. Nun erhalte ich
für GPS-Latitude 5131.9788 und für GPS-Longitude 951.2851. In Ihrer Dokumentation schreiben Sie dazu, dass die Werte als Gradminuten (dezimal) ausgegeben würden. Wie rechne ich diese aber in Dezimalgrad um? Einfach durch 60 teilen funktioniert hier nicht. Ergebnis sollte irgendwie ähnlich sein zu 51.532982, 9.854752.

Vielen Dank für Ihre Unterstützung.

Mit freundlichen Grüßen
i. A. Markus Worbs
----------------------------------------------------------------------
FuE-Zentrum FH Kiel GmbH
Makus Worbs M. Sc.
- Projekt LaTech40 -
Schwentinestr. 24
24149 Kiel
Germany


GPSoverIP GmbH

Sehr geehrter Herr Worbs,

vielen Dank für Ihre Anfrage! Leider muss ich Ihnen mitteilen, dass die Möglichkeit, die Koordinaten der GPSaugen direkt mit den CAN/FMS-Daten zu ermitteln, seit einiger Zeit nicht mehr existiert. Hier wurde lediglich versäumt, die Dokumentation entsprechend anzupassen. Wir haben dies soeben nachgeholt.

Abruf GPS-Daten

Es gibt drei Möglichkeiten, die Position eines GPSauges zu einem bestimmten Zeitpunkt zu ermitteln. Vorweg: Möglichkeit 3 ist unsere Empfehlung.

1. Sie verwenden die API "devices -> getonepos"
2. Sie verwenden die APIs "devices -> get, mode=packagelist" und "devices -> get, mode=package"
3. Sie verwenden unsere brandneue API unter https://api.gpsoverip.de, um sich alle Positionen des Fahrzeugs in einem bestimmten Zeitraum zu laden

Zu 1.:
Diese API bietet sich nur an, falls die Anzahl der abzufragenden Zeitstempel gering ist. Massenabfragen sind hiermit nicht möglich, da Ihr Programm sonst in Query-Limits und damit Blockaden laufen könnte.

Zu 2.:
Hier muss mittels mode=packagelist die Paketliste des Tages geladen werden, in dem die gesuchten Zeitstempel liegen. Anschließend muss ermittelt werden, in welchem der zurückgegebenen Pakete die gesuchten Zeitstempel liegen. Mit der entsprechenden Paket-ID müssen dann die GPS-Positionen dieses Pakets geladen werden. Abschließend muss programmatisch die, zum gesuchten Zeitstempel passende, Position ermittelt werden.

Zu 3.:
Diese API befindet sich aktuell im Aufbau, wobei GET /positions bereits den finalen Stand erreicht hat. Mit dieser API können Sie sehr performant alle Positionen eines oder mehrerer Fahrzeuge im gewünschten Zeitraum laden, um dann die, zum gesuchten Zeitpunkt passenden, Koordinaten programmatisch zu ermitteln.

Die Beispiel-URL hierzu lautet: https://api.gpsoverip.de/v1/positions/?user=50006&password=demo&devices=705282,217026&from=2021-05-18T05:00:00Z&to=2021-05-18T05:59:59Z

Als Tipp:
Verwenden Sie für die Suche der Koordinaten in der Ergebnismenge das Konzept der Binären Suche. Damit sind schnelle Ergebnisse gewährleistet. Neben der guten Performance der API ist ein weiterer Vorteil, dass diese API die GPS-Koordinaten direkt im gewünschten Dezimalformat liefert.

Wenn Sie unserer Empfehlung nachkommen möchten, dann verwenden Sie bitte diese Variante 3. Die Vorteile liegen auf der Hand: Performance, Stabilität und geringster Komplexitätsgrad.

Abruf FMS-/CAN-Daten

Wichtig:
In der neuen API gibt es ebenfalls die Möglichkeit, FMS/CAN-Daten abzurufen! Diese Schnittstelle ist ebenfalls bereits stable. Beispiel-URL:

https://api.gpsoverip.de/v1/fms/list?user=50006&password=demo&fields=engine_speed,total_engine_h_calculated&from=2021-05-18T05:00:00Z&to=2021-05-18T05:59:59Z&devices=705282,217026

Auch hier empfehlen wir die Nutzung dieser.

Hinweise zur neuen API unter https://api.gpsoverip.de:

- Im Response finden Sie einen Bereich "meta", in welchem die einzelnen Antwortfelder näher erläutert sind.
- Aufgrund der - je nach Parameter-Settings - großen Datenmengen empfehlen wir, die abzufragenden Zeiträume und/oder die Anzahl der Geräte-IDs so klein wie möglich bzw. nur so groß wie tatsächlich nötig zu halten.
- Die Angabe von v1 gewährleistet, dass Sie von allen Features und Patches in der aktuellen Major-Version 1 profitieren, jedoch vor eventuellen Breaking Changes einer kommenden Major-Version 2 geschützt sind. In den Response-Parametern finden Sie unter "API-Version" die tatsächlich verwendete Version (bei der Angabe von v1 ist das derzeit v1.3.3).

Sollten Sie noch Fragen haben, zögern Sie nicht, diese zu stellen. Auch in unseren Foren findet sich vielleicht die ein oder andere Antwort auf Ihre Fragen.

Beste Grüße,

Ihr GPSoverIP Support Team


Gast

Guten Tag,

vielen Dank für Ihre Rückmeldung.

Der Weg 3 über die neue API als HTTPS-Abfrage finde ich gut und komfortabel.

Dazu noch ein paar Fragen:
- In den Links, die Sie angehängt haben, wird das Passwort ja als Klartext mit übertragen. Ich bin kein Sicherheitsexperte, aber ist das so die finale Lösung?
- Ist es bei der FMS-Abfrage möglich auch alle verfügbaren Felder auf einmal abzufragen und nicht alle Felder in der Abfrage einzeln benennen zu müssen?
- Gibt es bereits eine öffentlich einsehbare Dokumentation zur neuen API?

Mit freundlichen Grüßen
i. A. Markus Worbs
----------------------------------------------------------------------
FuE-Zentrum FH Kiel GmbH
Makus Worbs M. Sc.
- Projekt LaTech40 -
Schwentinestr. 24
24149 Kiel
Germany


GPSoverIP GmbH

Guten Tag Herr Worbs,
zu Ihren Fragen:

- Nachdem Sie die API über eine gesicherte Verbindung (https) benutzen, ist die Übertragung des Passworts im Klartext kein Sicherheitsrisiko. Es handelt sich hierbei um die allgemein übliche Vorgehensweise.
- Die Abfrage GET /fms/list benötigt zwingend die Angabe des Parameters "fields". Hier können Sie einen oder mehrere Identifier (kommasepariert) übergeben. Eine Eingrenzung auf bestimmte Identifier macht nicht zuletzt auch wegen der Datenmenge und damit verbundener Performance sowohl auf GPSoverIP-, als auch auf Client-/API-Consumer-Seite Sinn. Die Erfahrung hat gezeigt, dass für unsere Kunden im Regelfall nie alle Identifier interessant sind, sondern dass sich das Interesse meist auf einige wenige Identifier konzentriert.
- Sie finden die Dokumentation der API unter https://docs.gpsoverip.de

Beste Grüße,

Ihr GPSoverIP Support Team


Sie haben noch Fragen? Jetzt unverbindlich beraten lassen!

Home/Produkte/Teststellung/Kontodaten

Main
Kundenbetreuung direkt kontaktieren: +49 (0) 9721 796973-0
Die Sicherheit Ihrer persönlichen Daten hat für uns höchste Priorität. Weitere Einzelheiten finden Sie in unserer Datenschutzerklärung.

Nehmen Sie Kontakt mit uns auf

+49 9721 796 973 30
+49 9721 796 973 59

Geben Sie Ihre Telefonnummer an, wenn Sie einen Rückruf wünschen.

Suche
Hardware-Komponenten
Software-Komponenten
Mediathek
E-Mail
Telefon
Support
Zum Online-Shop
Zum GPS-Explorer
Sprache wählen
EN
GR
IT
ES
FR
TR
Seite drucken