Con questo articolo vogliamo approfondire una funzionalità base di One Team Geomaster utilizzata pressochè, la Stampa via web.

Pur sembrando una funzionalità banale in realtà non va confusa con la semplice stampa di una pagina HTML, ma è un vero e proprio motore di Geoprocessing, che consente la generazione “server side” di documenti ad alta risoluzione, anche di grande formato. Gli strumenti esposti nascondono diversi accorgimenti e diverse personalizzazioni dei Geoprocessing Services introdotte da One Team negli anni per estenderne le funzionalità e soddisfare molte e differenti esigenze.

Geomaster, il prodotto di pubblicazione Web GIS di One Team, nato con le ESRI API Javascript 3, si è successivamente evoluto seguendo le più recenti API 4 per una visualizzazione in mappa 2D e 3D dei propri servizi di mappa.

Funzionamento e logica dei servizi di Geoprocessing:

In avvio del Widget, Geomaster esegue un primo Geoprocessing Service, che andando a leggere un percorso fisico (lato server) è in grado di elencare i Templates di stampa (in formato MXD) predisposti da un utente Amministratore.

Lo script Python richiamato dal servizio ha il compito di analizzare i template di stampa per calcolare le dimensioni del data frame principale e il sistema di coordinate impostato. Con queste informazioni Geomaster è in grado di presentare in mappa un “graphics” rettangolare che rappresenta in maniera esatta la reale porzione di mappa che verrà rappresentata nel Layout di stampa.

Una volta definita la scala di stampa, il riquadro rosso può essere spostato a piacimento

La procedura di lettura dei templates ammette MXD di vari formati e orientamenti che rispettano una nomenclatura Standard “SERVIZI_<formato>_<orientamento>” come ad esempio:

  • SERVIZI_A4_verticale.mxd
  • SERVIZI_A4_orizzontale.mxd
  • SERVIZI_A3_verticale.mxd
  • SERVIZI_A3_orizzontale.mxd
  • ecc…

Tuttavia le nomenclature sono personalizzabili secondo proprie esigenze e formati personalizzati come ad esempio plottaggi su rotolo: in questo articolo ad esempio abbiamo parlato di formati standard non consueti (60 x 210 cm), utili ad un utente gestore autostradale che deve produrre stampe ad altezza ridotta ma molto lunghe.

E’ possibile personalizzare come si vuole i propri template aggiungendo immagini, un cartiglio e testi dinamici, ma è opportuno contenere le dimensioni delle immagini incorporate per non causare eccessivi rallentamenti al processo di stampa.

La Stampa Geomaster supporta inoltre fino a due data frame, per cui, alla mappa principale può essere abbinato un Data Frame di inquadramento e un “extent rectangle” per indicare le posizione del data frame principale, utilizzando i normali Strumenti di ArcMap.

Formati e risoluzione

Lo script consente tramite le librerie Python di ArcPy di esportare in diversi formati, come PDF, PNG, JPG, ecc.. con differenti settaggi sulla compressione e sulla qualità dell’immagine.

In genere la stampa via Web deve essere un buon compromesso fra qualità e velocità, così, per ogni utente andiamo a personalizzare con un apposito file di configurazione CFG la risoluzione e la qualità del risultato della stampa, rispettando i settaggi consentiti da ArcPy.

Contenuto

E’ naturale che da un’applicazione Web si possa stampare esattamente quello che vedo in mappa, ma da un punto di vista tecnico non è sempre così scontato.

Ecco un esempio di elementi a valore aggiunto che negli anni abbiamo implementato per venire in contro alle nuove esigenze di contenuto poste dagli utenti:

  • Graphics: la Stampa Geomaster riporta nel prodotto finale gli elementi grafici disegnati con il Widget “Disegna Graphics”, con cui si possono mettere in mappa annotazioni testuali, linee punti o poligoni disegnate a mano libera. Di questi elementi si possono cambiare molte caratteristiche, come colori e spessori, e possono anche riportare una misura come area e perimetro.
  • Filtri sui Layer: l’output di Stampa tiene conto di eventuali filtri impostati a livello di “Query Definition” sui Layer.
  • Opacità: come in mappa è possibile applicare la trasparenza ai layer e alla basemap, così in stampa le stesse trasparenze vengono mantenute
  • Basemap composte: anche le basemap multiple possono essere riprodotte in stampa, per comporre ad esempio una copertura satellitare con delle etichette per ottenere una mappa ibrida.
  • Basemap Vector Tile: disponibili solo per ArcGIS Pro, le Basemap vettoriali stanno rapidamente crescendo per la rapidità di pubblicazione e aggiornamento, in contrapposizione alla più impegnativa strategia per mantenere un classica Basemap Tiled.

Stampa alla scala e nel Sistema di Coordinate che desideri, non in quelle della basemap!

Anche questo punto potrebbe sembrare scontato ma non lo è: lo “Spatial Reference” più utilizzato per le pubblicazioni è il Web Mercator (EPSG 3857 o 102100), ma in pochi sanno che non è affatto adatto per eseguire delle stampe in scala. Per questo motivo Geomaster legge il sistema di coordinate dal Template e riporta il contenuto della Webmap in un sistema proiettato che non introduce distorsioni.

La scala di mappa e la scala di stampa sono due cose completamente disgiunte, su un browser la scala è solitamente agganciata ai livelli di una basemap, per massimizzare le performance, ma la stampa deve essere liberamente prodotta ad una scala qualsiasi: per questo motivo la stampa Geomaster riproduce con un rettangolo rosso l’esatta porzione di territorio stampata alla specifica scala impostata dall’utente.

E se la Legenda è troppo grande?

Nessun problema, Geomaster ha specifici accorgimenti per prevenire il problema:

  • Rimozione Layer: è possibile escludere sistematicamente  alcuni layer che non è opportuno riportare in legenda, ma che comunque devono essere visibili in mappa.
  • Pagina separata: l’utente Amministratore ha inoltre facoltà di definire per ogni formato/orientamento un template specificatamente pensato per la sola Legenda, in modo da prevederla in una pagina separata (solo per i PDF).
Esempio di PDF con la Legenda in una pagina separata

Sfrutta gli elementi dinamici per Stampe sempre dettagliate.

Alcune informazioni fortemente variabili possono essere imputate direttamente dagli operatori finali al fine di produrre documenti di mappa contenenti tutte le informazioni necessarie. Questi elementi, che hanno un contenuto variabile sono stati classificati in 2 gruppi:

Esempio di Stampa Geomaster con due Data Frame, testi dinamici e immagini dinamiche. Immagine concessa da Reti Più tratta dai propri sistemi interni per la gestione degli interventi su suolo pubblico.
  • “Testi dinamici”: sono elementi di testo che in fase di produzione della stampa vengono popolati con i valori imputati dall’utente: il titolo, un autore, una data, un commento, possono essere imputati appena prima di avviare il processo di produzione della propria Stampa. Come prerequisito è richiesto che il template sia predisposto allo scopo, aggiungendo elementi di testi con una nomenclatura del tipo “GEOMASTER<n>_<etichetta>”, dove il valore di etichetta sia visibile all’utente al momento di imputarne il valore.
  • “Immagini dinamiche”: con la stessa logica alcuni widget custom sono in grado di passare al Template di stampa la URL di un’immagine e di sostituirla ad uno specifico elemento immagine con una nomenclatura del tipo “GEOMASTERIMG<n>_<etichetta>”.

Salva il tuo lavoro

Nella nuova versione sviluppata con le ESRI Javascript API 4, il Widget di Stampa Geomaster è in grado di consentire all’utente di “salvare” le caratteristiche di una stampa e di richiamarla successivamente per un eventuale riutilizzo rapido, oppure duplicarla e salvarla con un nome differente.

Interfaccia di Apertura di una Mappa Geomaster salvata precedentemente.

Tutte le mappe salvate, identificate da un titolo, da una data di salvataggio e di un Autore, mantengono di tutti i fattori caratterizzanti come Servizi / Layers accesi o spenti, Definition Query sui Layers, trasparenze su servizi e basemap, eventuali Graphics disegnati in mappa.
E’ possibile anche condividere le proprie stampe con altri utenti per avere un ambiente collaborativo.

E se tutto questo non basta…

One Team e i suoi sviluppatori lavorano costantemente ai processi di stampa per introdurre precise personalizzazioni su commessa, quello che segue è un elenco di casi specifici in cui è stato possibile sfruttare le funzioni di stampa per produrre documenti anche più complessi:

  • Frontespizio: aggiunta di una pagina di frontespizio nel pdf della mappa.
  • Schede alfanumeriche: attraverso un uso sistematico dei testi dinamici è possibile automatizzare la produzione di schede contenenti informazioni alfanumeriche estratte dagli attributi dell’oggetto GIS.
  • Sovrapposizione di GeoJson: è possibile aggiungere in mappa un layer costruito sulla decodifica di un GeoJson.
  • Accodamento di più stampe: ad esempio per inquadrare una porzione di territorio a diverse scale di visualizzazione.
  • Automazione Completa: procedure remote sono in grado di produrre stampe che inquadrano specifiche porzioni di territorio o specifici oggetti GIS.

Si ringrazia Reti Più per la collaborazione e la disponibilità delle immagini.

Per maggiori informazioni contatta lo staff GIS One Team via mail a gis@oneteam.it o chiamaci al numero 0247719331.

Iscriviti al blog per non perderti i prossimi appuntamenti e restare informato.

SketchUp - Iscriviti al blog!

Leave a Comment