---
title: "Usługi internetowe REST do mapowania danych"
date: "2016-02-24"
categories: 
  - "data-integration"
  - "json"
  - "tools"
tags: 
  - "data-mapping"
  - "gps-apps"
  - "mapforce"
  - "rest-web-services"
  - "xmlspy"
description: Odkryj, w jaki sposób MapForce 2016 udoskonala usługi internetowe REST, umożliwiając mapowanie danych i zapewniając płyną integrację odpowiedzi w formacie XML i JSON w Twoich projektach.
---
Status: #blog

Tags:  #data-mapping #gps-apps #mapforce #rest-web-services #xmlspy

Categories: [data-integration](/blog/pl/category/data-integration.md) | [json](/blog/pl/category/json.md) | [xml](/blog/pl/category/xml.md)
# Usługi internetowe REST do mapowania danych

Wersja 2016, wydanie 2, programu MapForce oferuje rozszerzone funkcjonalności dla [Mapowanie danych dla usług internetowych](https://www.altova.com/pl/mapforce.html#data_integration), zapewniając solidne wsparcie dla usług internetowych REST. MapForce akceptuje XML lub JSON jako odpowiedź usługi internetowej, umożliwia definiowanie parametrów i obsługuje niestandardowe nagłówki HTTP. Użytkownicy mogą definiować interfejs usługi internetowej ręcznie lub importując ustawienia z pliku WADL lub adresu URL. Ręczna konfiguracja ustawień usługi internetowej REST pozwala programistom tworzyć ustawienia na podstawie adresu URL szablonu. Jest to przydatne rozwiązanie, gdy programiści testują i dopracowują wywołania REST w oknie przeglądarki internetowej, ponieważ adres URL można skopiować z przeglądarki i wykorzystać jako szablon.

![Usługi internetowe REST mogą stanowić kanał przesyłania danych w projekcie mapowania danych](/blog/images/shutterstock_88166515.jpg)

<!--more-->

Wcześniej wspominaliśmy, że współrzędne rejestrowane przez systemy GPS są precyzyjne, ale [Dane dotyczące wysokości terenu są niestety często niedokładne](https://www.altova.com/blog/rest-services-as-data-sources-for-mobile-apps/). USGS udostępnia usługę internetową REST, która przyjmuje zapytania zawierające współrzędne geograficzne (długość i szerokość) i dostarcza dokładne dane wysokościowe, zarówno w formacie XML, jak i JSON. Możemy wykorzystać tę usługę internetową w procesie mapowania danych w MapForce, aby aktualizować dane GPS z urządzenia Garmin i jednocześnie konwertować format danych z XML na JSON.

Zaczniemy od przetestowania usługi internetowej w oknie przeglądarki. Adres URL podany poniżej otwiera formularz, który umożliwia wygenerowanie przykładowego zapytania:

![Formularz wprowadzania danych do zapytania o pojedynczy punkt wysokościowy](/blog/images/PointQueryInputCapture_clip.png)

Po kliknięciu przycisku "Pobierz wysokość", formularz generuje kompletne zapytanie REST GET, wysyła je i wyświetla wynik poniżej. Możemy wykorzystać ten wynik do modelowania odpowiedzi, która będzie używana do mapowania danych.

![Wynik zapytania w formacie JSON](/blog/images/PointQueryResultCapture.png)

Dodamy usługę internetową do naszej mapy, klikając przycisk "Wstaw funkcję usługi internetowej" na pasku narzędzi MapForce. Otworzy się okno dialogowe "Ustawienia wywołania usługi internetowej", w którym podamy adres URL usługi USGS.

![Fragment okna dialogowego "Usługi REST MapForce", służący do określenia adresu URL usługi](/blog/images/drop-in-service-def-from-dialog.png)

Następnie musimy zdefiniować parametry żądania oraz treść odpowiedzi, co pozwoli na utworzenie elementów do mapowania, jak widać poniżej w kolejnej części okna ustawień połączenia.

![Fragment okna dialogowego MapForce REST Web Services służący do definiowania struktur żądań i odpowiedzi](/blog/images/ws-response-structure.png)

W programie XMLSpy wygenerowaliśmy schemat JSON, który definiuje strukturę odpowiedzi, na podstawie pliku JSON zapisanego z okna przeglądarki. Poniżej przedstawiamy widok schematu XMLSpy dla przetworzonej odpowiedzi:

![Wyświetlanie schematu JSON w programie XMLSpy, dotyczącego odpowiedzi na zapytanie](/blog/images/json_query_result_Capture_alt.png)

Formularz wprowadzania danych dotyczących wysokości terenu, udostępniony przez USGS, dostarczył nam wszystkie informacje potrzebne do zdefiniowania parametrów wejściowych, dzięki czemu możemy dodać je do kolejnej sekcji okna ustawień połączenia:

![Fragment okna dialogowego usług webowych MapForce REST, służący do określania parametrów wejściowych zapytań](/blog/images/input-parameters.png)

Wartości jednostek i wyniki dla każdego żądania nie ulegną zmianie podczas wykonywania, a moglibyśmy zdefiniować stałe wartości. Zamiast tego, podamy je w konfiguracji jako stałe. Wszystkie niezbędne ustawienia zabezpieczeń również zostaną skonfigurowane w oknie dialogowym "Ustawienia wywołania". Po kliknięciu przycisku "OK" w celu zamknięcia okna dialogowego, funkcja usługi internetowej zostanie dodana do konfiguracji.

![Zapytanie o wysokość terenu, realizowane przez USGS, jako funkcja w procesie mapowania danych w programie MapForce](/blog/images/bare-WS-in-mapping-Capture.png)

Każdy punkt trasy w pliku GPX będzie dostarczał zestaw współrzędnych. Podczas procesu mapowania, każde zapytanie do serwisu USGS (za pomocą metody GET) będzie wysyłane za każdym razem, gdy przetwarzany jest punkt trasy, a odpowiedź będzie zawierała dane wysokościowe do zastąpienia istniejących.

Teraz musimy jedynie połączyć elementy żądania i odpowiedzi z komponentami wejściowymi i wyjściowymi, jak pokazano poniżej. Stałe dotyczące jednostek i typu wyjściowego znajdują się w lewym górnym rogu, a wartość wysokości jest zaokrąglana do dwóch miejsc po przecinku przed zapisaniem w danych wyjściowych.

![Zapytanie dotyczące wysokości terenu, realizowane za pomocą narzędzia USGS, w projekcie mapowania danych w MapForce, z podłączonymi wejściami i wyjściami](/blog/images/Mapped_ws_Capture.png)

Należy pamiętać, że wynik to plik JSON. Element wejściowy nie jest widoczny w tym fragmentowym widoku mapowania, ale jest to standardowy plik GPX w formacie XML. Połączenia danych, które wchodzą z lewej strony, przechodzą za funkcją usługi internetowej na ilustracji i łączą się z elementem wyjściowym, to wszystkie wartości, które zostaną skopiowane bez zmian z pliku XML do odpowiadających im elementów JSON.

Po kliknięciu przycisku "MapForce Output", proces mapowania jest wykonywany, a plik JSON jest generowany, jak można zobaczyć na poniższym fragmencie:

![Fragment widoku danych mapowanych przez MapForce, zapisanych w formacie JSON](/blog/images/json_output_Capture.png)

W środowisku produkcyjnym możemy zapisać mapowanie jako plik wykonywalny MapForce, który może być automatycznie przetwarzany przez serwer MapForce, zarówno z poziomu wiersza poleceń, jak i pod kontrolą serwera FlowForce.

[Altova MapForce](https://www.altova.com/pl/mapforce.html) to nagradzane narzędzie graficzne do mapowania, konwersji i integracji danych, umożliwiające przekształcanie danych między dowolnymi kombinacjami formatów, takich jak XML, bazy danych, EDI, XBRL, pliki tekstowe, Excel, JSON oraz usługi internetowe. [Pobierz w pełni funkcjonalną wersję próbną i przetestuj ją samodzielnie!](https://www.altova.com/pl/download-trial.html)
