Mappatura dei dati dell'API

L'integrazione dei dati dei servizi web con MapForce è una strategia collaudata e ampiamente utilizzata per acquisire informazioni tempestive, utili per l'analisi o per la creazione di report facilmente comprensibili. In un articolo precedente, abbiamo dimostrato come mappare i dati delle API per fornire previsioni meteorologiche di 5 giorni per i porti commerciali più trafficati, leggendo Dati provenienti da servizi web in formato JSON, con conversione e mappatura in fogli di calcolo Excel con formattazione avanzata fogli di calcolo. L'API meteorologica che abbiamo utilizzato è ospitata da OpenWeather, un fornitore di dati storici, dati attuali e previsioni meteorologiche.

Tuttavia, integrare dati da qualsiasi API non è un compito che si esegue una volta e poi si dimentica. Quando si sviluppa una soluzione basata su dati esterni, è necessario reagire rapidamente quando la struttura dei dati cambia. Nel nostro progetto di integrazione originale, OpenWeather ha modificato i dati forniti dalla loro API. L'API ora include le previsioni delle raffiche di vento in una proprietà JSON separata dalla velocità del vento. Poiché si sospetta che le raffiche di vento siano state una delle cause dell'ultimo blocco del Canale di Suez, questi nuovi dati sono molto rilevanti per la nostra applicazione! Fortunatamente, sia la mappatura dei dati di MapForce che il foglio di calcolo Excel possono essere facilmente modificati per aggiungere i nuovi dati.

Dobbiamo comprendere le modifiche apportate al nuovo formato di output di Excel prima di poter modificare la mappatura dei dati dell'API. La nuova sezione principale della tabella relativa alle previsioni per i prossimi 5 giorni è mostrata qui:

Il creatore del foglio di calcolo ha aggiunto una nuova colonna, posizionata tra "Velocità del vento" e "Direzione del vento", per mostrare le raffiche di vento previste per ogni previsione.

Sono state apportate diverse modifiche anche nella sezione di intestazione del foglio di calcolo. È stata aggiunta una linea che indica la velocità massima del vento (rafica) al grafico del vento, sono state aggiunte le coordinate di geolocalizzazione del porto, e viene riportata la velocità massima della rafficata di vento prevista per i successivi 5 giorni.

Un nuovo pulsante interattivo, etichettato "Visualizza l'attività attuale della banchina", presente nel foglio di calcolo, apre una pagina web. Le navi commerciali sono tutte dotate di trasmettitori per il sistema di identificazione automatica (AIS) che trasmettono continuamente la posizione della nave per evitare collisioni e per la creazione di carte nautiche. MyShipTracking.com è uno dei molti siti web e altre aziende che utilizzano la tecnologia AIS per fornire dati AIS in tempo reale e per offrire una migliore comprensione di come le navi si muovono in tutto il mondo.

Cliccando sul pulsante nel foglio di calcolo, si apre una pagina su myshiptracking.com che mostra l'attività nelle vicinanze della posizione geografica indicata

Abbiamo bisogno di apportare solo alcune modifiche alla mappatura dei dati per supportare questi miglioramenti nell'output finale: dobbiamo inserire i dati relativi alla velocità del vento nella posizione corretta all'interno della tabella e dobbiamo associare le coordinate di geolocalizzazione.

Innanzitutto, abbiamo eseguito manualmente l'API meteorologica in una finestra del browser per ottenere un nuovo esempio di risposta, che includeva dati sulla velocità massima del vento, e abbiamo generato un nuovo schema JSON in XMLSpy per il risultato dell'API. Salvare il nuovo schema JSON con il nome del file originale aggiunge automaticamente il termine "velocità massima del vento" alla sezione "Risposta" nella mappatura dei dati dell'API.

Le etichette associate alle coordinate originali dei dati mappati facilitano l'individuazione del punto giusto in cui inserire la nuova colonna "Gust" nel foglio di calcolo Excel:

Selezionando "Aggiungi cella prima" dal menu contestuale, si apre una finestra di dialogo per inserire i dettagli:

MapForce gestisce in modo pratico le connessioni di mappatura per le colonne K e L, quindi dobbiamo collegare solo la colonna J.

Le nuove coordinate geografiche, relative a latitudine e longitudine, presenti nel foglio di calcolo si trovano nelle celle G5 e I5. Le coordinate di ciascun porto sono già presenti nell'elenco di riferimento dei porti, poiché le utilizziamo per richiedere dati sulle previsioni meteorologiche all'API. Abbiamo aggiunto gli indirizzi di queste celle in fondo all'elenco di destinazione.

Ecco una visualizzazione della mappatura rivista nella finestra di mappatura di MapForce, con la nuova connessione per le previsioni delle raffiche di vento evidenziata

Per un'ultima ottimizzazione, abbiamo aggiunto ulteriori porti alla lista delle richieste, includendo il Canale di Suez e diversi importanti porti marittimi in Europa. Abbiamo aggiunto i nuovi porti modificando il file JSON originale contenente la lista delle richieste, utilizzando il software XMLSpy. Ecco il nuovo file JSON con le richieste relative ai porti, da utilizzare come input per la mappatura dei dati dell'API, visualizzata in Visualizzazione a griglia in XMLSpy:

Cliccando sul pulsante "Output" nella parte inferiore del pannello di mappatura, viene eseguita la mappatura e si apre la vista "Output", che mostra il primo file di output. Se sul sistema è installata la versione 2007 o successiva di Excel, MapForce apre automaticamente Excel per visualizzare il risultato:

Sono stati generati risultati per ogni porta presente nella lista di origine. È possibile selezionare qualsiasi file Excel per la visualizzazione:

Cliccando sul pulsante "Visualizza attività della porta corrente" nella finestra di anteprima, si ottiene lo stesso risultato che si otterrebbe aprendo direttamente il file in Excel:

Il risultato si basa sulla latitudine e sulla longitudine del porto:

Ogni punto sulla mappa rappresenta una nave dotata di un trasmettitore AIS che invia dati in tempo reale. Per convalidare ulteriormente i nostri risultati, possiamo visualizzare qualsiasi altro file di output e controllare il collegamento per un altro porto. Ecco la mappa di Amburgo, in Germania:

I puntini rossi rappresentano le petroliere, mentre i puntini verdi indicano le navi cargo. Possiamo cliccare su qualsiasi punto per visualizzare i dettagli della nave

Scoprite il articolo originale sull'integrazione dei servizi web, guardate una dimostrazione video di MapForce, oppure scaricate una versione di prova gratuita che include tutorial, guide e numerosi esempi per iniziare il vostro progetto di mappatura dei dati API, o per altre attività di integrazione, conversione e trasformazione dei dati!