Usługi internetowe REST do mapowania danych
Wersja 2016, wydanie 2, programu MapForce oferuje rozszerzone funkcjonalności dla Mapowanie danych dla usług internetowych, 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.

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. 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:

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.

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.

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.

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:

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:

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.

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.

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:

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 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!