---
title: "Web-Dienst als Nachschlagetabelle zur Verbesserung von GPS-Daten"
date: "2012-06-20"
categories: 
  - "data-integration"
tags: 
  - "altova-xmlspy"
  - "charts"
  - "data-mapping"
  - "diffdog"
  - "file-comparison"
  - "mapforce"
  - "missionkit"
  - "stylevision"
  - "web-services"
  - "wsdl"
description: Dieser Artikel beschreibt, wie man GPS-Höhendaten mithilfe des USGS-Webdienstes als Nachschlagetabelle verfeinern kann, um die Genauigkeit durch Datenauswertungstechniken zu verbessern.
---
Status: #blog

Tags:  #altova-xmlspy #charts #data-mapping #diffdog #file-comparison #mapforce #missionkit #stylevision #web-services #wsdl

Categories: [data-integration](/blog/de/category/data-integration.md)
# Web-Dienst als Nachschlagetabelle zur Verbesserung von GPS-Daten

Höhendaten, die von GPS-Geräten erfasst werden, sind bekanntermaßen ungenau, insbesondere in hügeligem Gelände wie im Beispiel des Russian River Valley, das wir in [unserem vorherigen Beitrag](https://www.altova.com/blog/2012/04/creating-elegant-reports-for-gps-xml.html) vorgestellt haben.

Die Höhenprofil-Datei, die aus der GPX-Datei des Russian River Valley erstellt wurde, ist aus mehreren Gründen verdächtig. Erstens zeigt der Graph, dass wir fast 15 Meter unter den Meeresspiegel abgetaucht sind. Das ist schwer zu glauben, da wir entlang des Flussufers unterwegs waren, nur etwa 16 Kilometer vom Pazifischen Ozean entfernt.

![Altova StyleVision Diagramm](https://lh5.ggpht.com/-RyKmstA4f98/T-HOw4cQf4I/AAAAAAAAA1I/__oEl7-5bUk/clip_image001%25255B3%25255D.png?imgmax=800 "Altova StyleVision Chart") Zweitens bewegten wir uns hauptsächlich in westlicher Richtung, folgten dem Fluss flussabwärts, aber die Aufzeichnung zeigt überwiegend einen Anstieg.

Wir können die aufgezeichneten GPS-Höhendaten bewerten, indem wir sie mit Informationen vergleichen, die vom United States Geological Survey (USGS) verfügbar sind. Das USGS betreibt einen Webdienst, der Längen- und Breitengradangaben entgegennimmt und Höhendaten zurückliefert, die von der NASA gemessen wurden und deren Genauigkeit anhand von über 13.000 Referenzpunkten im kontinentalen Teil der Vereinigten Staaten überprüft wurde.

Durch die Verwendung des Höhendaten-Webdienstes in einer [Altova MapForce](https://www.altova.com/de/mapforce.html)-Zuordnung können wir jeden Punkt aus der GPX-Datei extrahieren, die Koordinaten an den USGS-Webdienst senden und eine neue GPX-Datei mit korrigierten Höhendaten erstellen.

<!--more-->

Diese Lösung entspricht dem Muster einer Nachschlagetabelle, wie es im Blogbeitrag „[Datenmapping-Muster](https://www.altova.com/blog/2012/06/data-mapping-patterns.html)“ beschrieben wird. Jeder Satz von Koordinaten, der durch Längengrad und Breitengrad identifiziert wird, hat genau einen entsprechenden Höhenwert. Ähnlich wie eine lokale Nachschlagetabelle sind die Quelldatenpunkte eindeutig, aber die Ausgabewerte können Duplikate enthalten.

Wir können uns mit dem USGS-Webdienst vertraut machen, indem wir die WSDL-Datei in XMLSpy öffnen. Dies ist besonders nützlich, um die eingebettete Dokumentation einzusehen.

![Die Überprüfung einer WSDL-Datei im Textmodus von XMLSpy](https://lh6.ggpht.com/-x9YnOlGaefU/T-HOxNqsHkI/AAAAAAAAA1Q/_qQdDkJrzX4/clip_image002%25255B3%25255D.png?imgmax=800 "Reviewing a WSDL in XMLSpy text view")

XMLSpy kann auch eine SOAP-Anfrage für den Webdienst generieren, wodurch die benötigten Parameter einfach identifiziert und getestet werden können.

![SOAP-Anfrage, generiert von XMLSpy](https://lh6.ggpht.com/--sibDXwVNF8/T-HOxmci9hI/AAAAAAAAA1Y/KUv5-B89JJ8/clip_image003%25255B3%25255D.png?imgmax=800 "SOAP request generated by XMLSpy")

Für den ersten Test verwendeten wir Koordinaten, bei denen die angegebene Höhe unterhalb des Meeresspiegels lag. Das Element "Source_Layer" gibt an, welches Kartenset für die Abfrage der Ergebnisse verwendet werden soll. Wir wählten eine Karte, die die westliche Hälfte der Vereinigten Staaten abdeckt, aus der Liste unter [http://gisdata.usgs.gov/XMLWebServices2/Elevation\_Service\_Methods.php](http://gisdata.usgs.gov/XMLWebServices2/Elevation_Service_Methods.php)

![SOAP-Anfrage mit Parametern in XMLSpy](https://lh6.ggpht.com/-3oYTJSX8V0w/T-HOx2xpomI/AAAAAAAAA1g/mFUacQiAX0o/clip_image004%25255B3%25255D.png?imgmax=800 "SOAP request with parameters in XMLSpy")

XMLSpy kann die Anfrage an den Anbieter des Web-Dienstes senden und das Ergebnis automatisch öffnen.

 

![SOAP-Antwort in XMLSpy angezeigt](https://lh6.ggpht.com/-SQvGvjeqwnU/T-HOyeyDPCI/AAAAAAAAA1o/EJnfZXMsXCU/clip_image005%25255B3%25255D.png?imgmax=800 "SOAP response viewed in XMLSpy")

Während das GPS eine Tiefe von 12 Metern unterhalb des Meeresspiegels anzeigte, gab das USGS an, dass die tatsächliche Höhe mehr als 33 Meter über dem Meeresspiegel betrug.

Wir hätten die Höhe in Fuß angeben können, haben dies aber nicht getan, da das GPX-Format den Höhenwert in Metern definiert. Wir planen ohnehin, die Stilvorlage [StyleVision](https://www.altova.com/de/stylevision.html) für die [Lokalisierung](https://www.altova.com/blog/2012/04/xpath-enhances-xml-reports.html) der endgültigen Daten zu verwenden.

**Datenzuordnung mit einem Webdienst**

Manchmal ist es hilfreich, eine kleine, vereinfachte MapForce-Zuordnung zu erstellen, um den Webdienst zu testen, bevor man ihm einen großen Datensatz sendet. Der Screenshot unten zeigt eine einfache Zuordnung für den Webdienst "getElevation", bei der String-Konstanten als Parameter dienen und eine Textdatei für die Ausgabe verwendet wird.

![Web-Service-Testdefinitionen in MapForce](https://lh5.ggpht.com/-VZuHV13mkDQ/T-HOyduSq5I/AAAAAAAAA1w/Ljkg-tSkQwk/clip_image006%25255B3%25255D.png?imgmax=800 "Web service test mapping in MapForce")

Durch Klicken auf die Schaltfläche "MapForce-Ausgabe" wird die Transformation mit den angegebenen Parametern ausgeführt. Hier ist das Ergebnis:

![Ausgabe der Testtransformation des MapForce-Tools](https://lh5.ggpht.com/-ENG6c5uitZ8/T-HOy3C4nPI/AAAAAAAAA14/0zCeHpE6ZO0/clip_image007%25255B3%25255D.png?imgmax=800 "Output of the MapForce test mapping")

Wir beginnen mit der Produktionsversion der MapForce-Zuordnung, indem wir zwei Kopien des GPX-Schemas verwenden und alle Elemente von der Quelle zum Ziel verbinden, mit Ausnahme der Höheninformationen.

![Teilweise GPX-Datenintegration in MapForce](https://lh6.ggpht.com/-SbmDoTbcEwo/T-HOzMe4htI/AAAAAAAAA2A/KBqYrPAT4aA/clip_image008%25255B3%25255D.png?imgmax=800 "Partial GPX mapping in MapForce")

Als Nächstes kopieren wir einfach die Web-Service-Definition mit ihren Parametern von der Testumgebung in die Produktionsversion und verbinden die Werte X_Value und Y_Value im Web-Service mit der Längengrad- und Breitengradinformation in der Quelldatei im GPX-Format.

![Der MapForce-Webservice verfeinert die Höheninformationen im GPX-Format](https://lh6.ggpht.com/-mjks13bElcc/T-HOzfuX3MI/AAAAAAAAA2I/KXSffKCwi-g/clip_image009%25255B3%25255D.png?imgmax=800 "MapForce Web service call refines GPX elevation data")

Auf der Ausgabeseite des Web-Dienstes verbinden wir das Ergebnis einfach mit dem Höhenelement des Ausgabekomponenten. (Wir haben die Höhe in Metern auf zwei Dezimalstellen gerundet, da eine höhere Genauigkeit hier überflüssig erscheint – wir messen hier schließlich nicht die Hebungen und Senkungen von Erdplatten!)

Wenn wir die neue Version der Zuordnung ausführen, werden die Koordinaten von jedem <trkpt>-Element an den Webdienst übermittelt, und der gemeldete Höhenwert wird auf der Ausgabeseite in das <ele>-Element eingefügt.

![Ausgabe der Kartenerstellung mit MapForce im GPX-Format, mit aktualisierten Höhenangaben](https://lh5.ggpht.com/-vn8sNaJY74Q/T-HOzgpx6lI/AAAAAAAAA2Q/2FuKiNwGmd4/clip_image010%25255B3%25255D.png?imgmax=800 "Output of the MapForce GPX mapping with updated elevation")

Wir können die konvertierte GPX-Datei mit neuen Höheninformationen mit der ursprünglichen Datei mithilfe von [Altova DiffDog](https://www.altova.com/de/diffdog/diff-merge-tool.html) vergleichen. Die Unterschiede werden in der Rasteransicht deutlich hervorgehoben. Während der Konvertierung wurden auch einige irrelevante, abschließende Nullen aus den Längen- und Breitengradwerten entfernt.

![DiffDog: Vergleich der ursprünglichen und aktualisierten GPX-Dateien](https://lh5.ggpht.com/-2KgbPgsJsa8/T-HO0TwCP4I/AAAAAAAAA2Y/CrTQV9WDUXc/clip_image011%25255B3%25255D.png?imgmax=800 "DiffDog comparison of the original and updated GPX files")

Wir können die konvertierte Datei auch mithilfe der StyleVision SPS-Formatvorlage mit Lokalisierungsfunktionen grafisch darstellen.

![Diagramm von StyleVision, das die aktualisierten GPX-Daten darstellt](https://lh3.ggpht.com/-vSWj8_nctng/T-HO0yFa0HI/AAAAAAAAA2g/sHHvELJqhiU/clip_image012%25255B3%25255D.png?imgmax=800 "StyleVision chart of the updated GPX data")Wie man es von einer Flussfahrt flussabwärts erwarten würde, verläuft die Route nicht unterhalb des Meeresspiegels, und der allgemeine Verlauf geht bergab!

Höhendaten, die von GPS-Geräten erfasst werden, sind von Natur aus weniger genau als X-Y-Koordinaten. Darüber hinaus können, während Sie sich bewegen, Hügel und andere Hindernisse die Sichtverbindung zu einem oder mehreren GPS-Satelliten blockieren, wodurch deren Funksignale verloren gehen.

Die untenstehende Karte zeigt einen Abschnitt der Reise durch das Russian River Valley. Der rote Punkt markiert einen Ort, an dem das GPS eine Höhe von -12,8 Metern anzeigte, während das USGS eine Höhe von +33,28 Metern meldete. Der Hügel "Wild Hog Hill" direkt westlich davon ragt über 335 Meter auf und verdeckt große Teile des Himmels und blockiert wahrscheinlich die GPS-Satellitensignale.

![Geländekarte von Wild Hog Hill](https://lh5.ggpht.com/-3qCQGD1C36s/T-HO1Ua6bhI/AAAAAAAAA2o/Mp4-wETUD2Y/clip_image013%25255B3%25255D.png?imgmax=800 "Terrain map of Wild Hog Hill")
Als letzten interessanten Punkt haben wir die Höheninformationen aus der [GPX-Datei für die Wanderung in New Hampshire](https://www.altova.com/blog/2012/04/xpath-enhances-xml-reports.html) verwendet und mit XMLSpy ein Diagramm erstellt. Dabei wurde die von der USGS erfasste Höhe in Grün als Überlagerung auf die ursprüngliche GPS-Höhenlinie dargestellt.

![XMLSpy-Diagramm mit den ursprünglichen und den aktualisierten Höhenwerten](https://lh6.ggpht.com/-rmK0R4VS9ko/T-HO1r7-KfI/AAAAAAAAA2w/BhJxiujYmpE/clip_image014%25255B3%25255D.png?imgmax=800 "XMLSpy chart of original and updated elevation data")

Es ist nicht schwer zu erkennen, welche Form die steile, von Erosion gezeichnete Landschaft eines alten Berges in Neuengland besser darstellt.

**Wenn Sie die Werkzeuge in... verwenden möchten,** [**Altova MissionKit**](https://www.altova.com/de/missionkit/software-development-tools.html) **um Ihre eigene Datenzuordnung zu erstellen, wobei ein Webdienst als Nachschlagetabelle verwendet wird** [Klicken Sie hier, um eine kostenlose Testversion herunterzuladen](https://www.altova.com/de/download-trial/)**.**
