---
title: "Mapowanie danych API"
date: "2021-04-30"
categories: 
  - "data-integration"
  - "tools"
tags: 
  - "api-data-mapping"
  - "data-integration"
  - "excel-data-mapping"
  - "mapforce"
  - "web-services"
description: Dowiedz się, jak dostosować mapowanie danych API w programie MapForce, aby uwzględniać zmiany w odpowiedziach JSON, zapewniając tym samym efektywną integrację danych i dokładne raportowanie.
---
Status: #blog

Tags:  #api-data-mapping #data-integration #excel-data-mapping #mapforce #web-services

Categories: [data-integration](/blog/pl/category/data-integration.md) 
# Mapowanie danych API

Integracja danych z usług sieciowych za pomocą MapForce to popularna i sprawdzona strategia pozyskiwania aktualnych informacji do analizy lub generowania czytelnych raportów. W poprzednim wpisie pokazaliśmy, jak mapować dane z API w prognozach pogody na 5 dni dla ruchliwych portów handlowych, odczytując [dane z usług sieciowych w formacie JSON i przekształcając je do arkuszy kalkulacyjnych Excel w bogatym formacie](https://www.altova.com/blog/web-service-data-integration/). API pogodowe, którego używaliśmy, jest udostępniane przez [OpenWeather](file:///C:/Users/dgm/Documents/Shipping%20post%20update/openweathermap.org), dostawcę danych historycznych, aktualnych i prognoz pogody.

Integracja danych z dowolnego API to nie zadanie, które można wykonać raz i zapomnieć. Kiedy tworzymy rozwiązanie oparte na danych zewnętrznych, musimy szybko reagować, gdy struktura tych danych ulega zmianie. W naszym pierwotnym projekcie integracyjnym, firma OpenWeather zmodyfikowała dane dostarczane przez ich API. Obecnie API zawiera prognozy porywów wiatru w oddzielnej właściwości JSON, niezależnie od prędkości wiatru. Ponieważ porywy wiatru są podejrzewane jako przyczyna niedawnego zablokowania Kanału Sueskiego, te nowe dane są bardzo istotne dla naszej aplikacji! Na szczęście, zarówno mapowanie danych w MapForce, jak i arkusz kalkulacyjny Excel, można łatwo zmodyfikować, aby dodać nowe dane.

![](/blog/images/container_ship2.jpg)

<!--more-->

Zanim będziemy mogli zmodyfikować mapowanie danych w API, musimy zrozumieć zmiany, które zaszły w nowym formacie danych eksportowanych do Excela. Nowy fragment głównej tabeli prognozy na 5 dni jest przedstawiony poniżej:

[![Dodatkowe informacje wymagane w mapowaniu danych API](/blog/images/wind-gust-column.png)](wind-gust-column.png)

Twórca arkusza kalkulacyjnego dodał nową kolumnę pomiędzy kolumnami "Prędkość wiatru" i "Kierunek wiatru", aby wyświetlać prognozowane porywy wiatru dla każdej prognozy.

W sekcji nagłówkowej arkusza kalkulacyjnego wprowadzono również kilka zmian. Do wykresu wiatru dodano linię wskazującą maksymalną prędkość podmuchów, dodano współrzędne geograficzne portu, a także podano maksymalną prędkość podmuchów w prognozie pogody na 5 dni.

[![Nowe informacje wymagane w mapowaniu danych API](/blog/images/new-chart-geolocation.png)](new-chart-geolocation.png)

Nowy, interaktywny przycisk w arkuszu kalkulacyjnym, oznaczony jako "Wyświetl aktualną aktywność portu", otwiera stronę internetową. Wszystkie statki handlowe są wyposażone w transpondery systemu automatycznej identyfikacji ([AIS](https://en.wikipedia.org/wiki/Automatic_identification_system)), które nieustannie transmitują pozycję statku w celu uniknięcia kolizji i tworzenia map nawigacyjnych. MyShipTracking.com jest jedną z wielu stron internetowych i przedsiębiorstw, które wykorzystują technologię AIS do raportowania danych AIS w czasie rzeczywistym oraz do lepszego zrozumienia, jak statki poruszają się po całym świecie.

Kliknięcie przycisku w arkuszu kalkulacyjnym otwiera stronę na stronie myshiptracking.com, która wyświetla aktywność w pobliżu określonej lokalizacji geograficznej:

[![Przykład wyniku po kliknięciu opcji "Wyświetl aktywność portu" w arkuszu kalkulacyjnym](/blog/images/port-map-1.png)](port-map-1.png)

Potrzebujemy jedynie kilku poprawek w mapowaniu danych, aby zaimplementować te ulepszenia w wynikowym raporcie. Konieczne jest wstawienie danych dotyczących nagłych podmuchów w odpowiednim miejscu w tabeli oraz przypisanie współrzędnych geograficznych.

Najpierw ręcznie uruchomiliśmy interfejs API pogodowego w oknie przeglądarki, aby uzyskać nowy przykład odpowiedzi, zawierający dane dotyczące porywów wiatru. Następnie wygenerowaliśmy nowy schemat JSON w programie XMLSpy dla wyników API. Zapisanie nowego schematu JSON pod oryginalną nazwą pliku automatycznie dodaje pozycję "Gust" (poryw wiatru) do mapowania danych w API.

[![Schemat JSON definiuje strukturę odpowiedzi API, która jest wykorzystywana do mapowania danych](/blog/images/web-service-settings.png)](web-service-settings.png)

Etykiety przypisane do oryginalnych współrzędnych danych ułatwiają znalezienie odpowiedniego miejsca, w którym można wstawić nową kolumnę "Gust" w arkuszu kalkulacyjnym Excel:

![Dodawanie nowej kolumny do mapowania danych API dla docelowej arkusza kalkulacyjnego](/blog/images/add-cell.png)

Wybór opcji "Dodaj komórkę przed" z menu kontekstowego otwiera okno dialogowe, w którym można wprowadzić szczegóły dotyczące nowej komórki

[![Okno dialogowe służące do określenia szczegółów nowego zakresu komórek](/blog/images/add-cell-dialog.png)](add-cell-dialog.png)

Program MapForce automatycznie utrzymuje połączenia mapowań dla kolumn K i L, dzięki czemu musimy połączyć tylko kolumnę J.

Nowe współrzędne geograficzne, dotyczące szerokości i długości geograficznej, znajdują się w arkuszu kalkulacyjnym w komórkach G5 i I5. Współrzędne dla każdego portu znajdują się już na liście portów, ponieważ wykorzystujemy je do pobierania danych pogodowych z interfejsu API. Dodaliśmy te adresy komórek na końcu docelowej listy.

Oto widok zaktualizowanego mapowania w panelu mapowania MapForce, z nowym połączeniem do prognozowania porywów wiatru, które zostało wyróżnione:

[![Pełna, zaktualizowana mapa danych API, z dodanymi informacjami o porywach wiatru oraz współrzędnymi geograficznymi w wynikach](/blog/images/new-map-1.png)](new-map-1.png)

Na koniec, aby jeszcze bardziej udoskonalić listę, dodaliśmy więcej portów, w tym Kanał Sueski oraz kilka dużych portów morskich w Europie. Dodaliśmy nowe porty, edytując oryginalny plik JSON zawierający listę żądań, korzystając z programu XMLSpy. Poniżej znajduje się nowy plik JSON z żądaniami dotyczącymi portów, który można wykorzystać jako dane wejściowe do mapowania danych w API, wyświetlane w formie tabeli w programie [XMLSpy](https://www.altova.com/pl/xmlspy-xml-editor#JSON):

![Nowe porty wymienione w pliku wejściowym spowodują generowanie nowych zapytań do interfejsu API oraz nowych wyników mapowania danych](/blog/images/XMLSpy-grid-view.png)

Kliknięcie przycisku "Wyjście" znajdującego się na dole panelu mapowania uruchamia proces mapowania i otwiera widok "Wyjście", wyświetlając pierwszy plik wynikowy. Jeśli na systemie zainstalowano Excel 2007 lub nowszą wersję, MapForce automatycznie otwiera Excel, aby wyświetlić wynik:

[![Podgląd pierwszej tabeli arkusza kalkulacyjnego, wygenerowanej na podstawie mapowania danych przez interfejs API](/blog/images/output-preview-1.png)](output-preview-1.png)

Wyniki zostały wygenerowane dla każdego portu znajdującego się na liście źródłowej. Możemy wybrać dowolny plik Excel, aby wyświetlić jego zawartość:

[![Wszystkie 15 wyników zostało wygenerowanych i są dostępne do przeglądania](/blog/images/output-preview-2.png)](output-preview-2.png)

Kliknięcie przycisku "Wyświetl aktualną aktywność portu" w oknie podglądu działa dokładnie tak samo, jak w przypadku otwarcia pliku bezpośrednio w programie Excel:

[![Link, na który można kliknąć, wyświetlany w oknie podglądu](/blog/images/output-link.png)](output-link.png)

Wynik jest obliczany na podstawie współrzędnych geograficznych portu (szerokość i długość geograficzna)

[![Widok statków w pobliżu wejścia do Kanału Sueskiego](/blog/images/suez-activity.png)](suez-activity.png)

Każdy punkt na mapie reprezentuje statek wyposażony w transponder AIS, który przesyła dane w czasie rzeczywistym. Aby dodatkowo potwierdzić nasze wyniki, możemy wyświetlić dowolny inny plik wynikowy i sprawdzić odnośnik do innego portu. Poniżej znajduje się mapa portu w Hamburgu, w Niemczech:

[![Przycisk "Aktywność portu" generuje różne wyniki w każdym pliku wyjściowym](/blog/images/hamburg-activity.png)](hamburg-activity.png)

Czerwone kropki oznaczają tankowce, a zielone kropki – statki transportowe. Możemy kliknąć dowolny punkt, aby wyświetlić szczegółowe informacje o danym statku:

[![Szczegóły dotyczące statku transportowego znajdującego się w porcie](/blog/images/hamburg-vessel.png)](hamburg-vessel.png)

Dogonijcie [kogoś/coś] [oryginalny wpis na temat integracji usług internetowych](https://www.altova.com/blog/web-service-data-integration/), obejrzyj szybko [demonstracja wideo](https://www.altova.com/pl/mapforce/demos) programu MapForce, lub [Pobierz bezpłatną wersję próbną](https://www.altova.com/pl/mapforce/download) w tym samouczki, pomoc i wiele przykładów, które pomogą rozpocząć pracę nad własnym projektem związanym z mapowaniem danych API, a także nad innymi zadaniami integracji, konwersji i transformacji danych!
