{"id":7998,"date":"2020-08-09T08:45:27","date_gmt":"2020-08-09T06:45:27","guid":{"rendered":"https:\/\/gis.oneteam.it\/?p=7998"},"modified":"2020-07-31T18:19:23","modified_gmt":"2020-07-31T16:19:23","slug":"i-servizi-di-stampa-web-di-one-team-geomaster","status":"publish","type":"post","link":"https:\/\/gis.oneteam.it\/index.php\/2020\/08\/09\/i-servizi-di-stampa-web-di-one-team-geomaster\/","title":{"rendered":"I Servizi di Stampa Web di One Team Geomaster"},"content":{"rendered":"<p style=\"text-align: justify;\">Con questo articolo vogliamo approfondire una funzionalit\u00e0 base di One Team Geomaster utilizzata pressoch\u00e8, la Stampa via web.<\/p>\n<p style=\"text-align: justify;\">Pur sembrando una funzionalit\u00e0 banale in realt\u00e0 non va confusa con la semplice stampa di una pagina HTML, ma \u00e8 un vero e proprio motore di Geoprocessing, che consente la generazione &#8220;server side&#8221; di documenti ad alta risoluzione, anche di grande formato. Gli strumenti esposti nascondono\u00a0diversi accorgimenti e diverse personalizzazioni dei Geoprocessing Services introdotte da One Team negli anni per estenderne le funzionalit\u00e0 e soddisfare molte e differenti esigenze.<\/p>\n<p style=\"text-align: justify;\">Geomaster, il prodotto di pubblicazione Web GIS di One Team, nato con le ESRI API Javascript 3, si \u00e8 successivamente evoluto seguendo le pi\u00f9 recenti API 4 per una visualizzazione in mappa 2D e 3D dei propri servizi di mappa.<\/p>\n<h2 style=\"text-align: justify;\">Funzionamento e logica dei servizi di Geoprocessing:<\/h2>\n<p style=\"text-align: justify;\">In avvio del Widget, Geomaster esegue un primo Geoprocessing Service, che andando a leggere un percorso fisico (lato server) \u00e8 in grado di elencare i <strong>Templates di stampa<\/strong> (in formato MXD) predisposti da un utente Amministratore.<\/p>\n<p style=\"text-align: justify;\">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 \u00e8 in grado di presentare in mappa un &#8220;graphics&#8221; rettangolare che rappresenta in maniera esatta la reale porzione di mappa che verr\u00e0 rappresentata nel Layout di stampa.<\/p>\n<figure id=\"attachment_8141\" aria-describedby=\"caption-attachment-8141\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-8141 size-medium\" src=\"https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster2-300x209.png\" alt=\"\" width=\"300\" height=\"209\" srcset=\"https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster2-300x209.png 300w, https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster2-768x534.png 768w, https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster2-1024x712.png 1024w, https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster2.png 1120w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-8141\" class=\"wp-caption-text\">Una volta definita la scala di stampa, il riquadro rosso pu\u00f2 essere spostato a piacimento<\/figcaption><\/figure>\n<p style=\"text-align: justify;\">La procedura di lettura dei templates ammette MXD di vari formati e orientamenti che rispettano una nomenclatura Standard &#8220;SERVIZI_&lt;formato&gt;_&lt;orientamento&gt;&#8221; come ad esempio:<\/p>\n<ul style=\"text-align: justify;\">\n<li>SERVIZI_A4_verticale.mxd<\/li>\n<li>SERVIZI_A4_orizzontale.mxd<\/li>\n<li>SERVIZI_A3_verticale.mxd<\/li>\n<li>SERVIZI_A3_orizzontale.mxd<\/li>\n<li>ecc&#8230;<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Tuttavia le nomenclature sono personalizzabili secondo proprie esigenze e formati personalizzati come ad esempio plottaggi su rotolo: in <a href=\"https:\/\/gis.oneteam.it\/index.php\/2016\/11\/10\/nuove-funzionalita-per-geomaster-2016\/\">questo articolo<\/a> 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.<\/p>\n<p style=\"text-align: justify;\">E&#8217; possibile <strong>personalizzare come si vuole i propri template<\/strong> aggiungendo immagini, un cartiglio e testi dinamici, ma \u00e8 opportuno contenere le dimensioni delle immagini incorporate per non causare eccessivi rallentamenti al processo di stampa.<\/p>\n<p>La Stampa Geomaster supporta inoltre fino a due\u00a0data frame, per cui, alla mappa principale pu\u00f2 essere abbinato un Data Frame di inquadramento e un &#8220;extent rectangle&#8221; per indicare le posizione del data frame principale, utilizzando i normali Strumenti di ArcMap.<\/p>\n<h2 style=\"text-align: justify;\">Formati e risoluzione<\/h2>\n<p style=\"text-align: justify;\">Lo script consente tramite le librerie Python di ArcPy di <strong>esportare in diversi formati<\/strong>, come PDF, PNG, JPG, ecc.. con differenti settaggi sulla compressione e sulla qualit\u00e0 dell&#8217;immagine.<\/p>\n<p style=\"text-align: justify;\">In genere la stampa via Web deve essere un buon compromesso fra qualit\u00e0 e velocit\u00e0, cos\u00ec, per ogni utente andiamo a personalizzare con un apposito file di configurazione CFG la risoluzione e la qualit\u00e0 del risultato della stampa, rispettando i settaggi consentiti da ArcPy.<\/p>\n<h2 style=\"text-align: justify;\">Contenuto<\/h2>\n<p style=\"text-align: justify;\"><span style=\"text-align: justify;\">E&#8217; naturale che da un&#8217;applicazione Web si possa stampare esattamente quello che vedo in mappa, ma da un punto di vista tecnico non \u00e8 sempre cos\u00ec scontato. <\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"text-align: justify;\">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:<\/span><\/p>\n<ul>\n<li style=\"text-align: justify;\"><span style=\"text-align: justify;\"><strong>Graphics<\/strong>: la Stampa Geomaster riporta nel prodotto finale gli elementi grafici disegnati con il Widget &#8220;Disegna Graphics&#8221;, 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.<\/span><\/li>\n<li style=\"text-align: justify;\"><span style=\"text-align: justify;\"><strong>Filtri sui Layer<\/strong>: l&#8217;output di Stampa tiene conto di eventuali filtri impostati a livello di &#8220;Query Definition&#8221; sui Layer.<\/span><\/li>\n<li style=\"text-align: justify;\"><span style=\"text-align: justify;\"><strong>Opacit\u00e0<\/strong>: come in mappa \u00e8 possibile applicare la trasparenza ai layer e alla basemap, cos\u00ec in stampa le stesse trasparenze vengono mantenute<\/span><\/li>\n<li style=\"text-align: justify;\"><span style=\"text-align: justify;\"><strong>Basemap composte<\/strong>: anche le basemap multiple possono essere riprodotte in stampa, per comporre ad esempio una copertura satellitare con delle etichette per ottenere una mappa ibrida.<\/span><\/li>\n<li style=\"text-align: justify;\"><strong>Basemap Vector Tile<\/strong>: disponibili solo per ArcGIS Pro, le Basemap vettoriali stanno rapidamente crescendo per la rapidit\u00e0 di pubblicazione e aggiornamento, in contrapposizione alla pi\u00f9 impegnativa strategia per mantenere un classica Basemap Tiled.<\/li>\n<\/ul>\n<h2>Stampa alla scala e nel Sistema di Coordinate che desideri, non in quelle della basemap!<\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 16px;\">Anche questo punto potrebbe sembrare scontato ma non lo \u00e8: lo &#8220;Spatial Reference&#8221; pi\u00f9 utilizzato per le pubblicazioni \u00e8 il Web Mercator (EPSG 3857 o 102100), ma in pochi sanno che non \u00e8 affatto adatto per eseguire delle stampe in scala. Per questo motivo Geomaster legge il <strong>sistema di coordinate dal Template<\/strong> e riporta il contenuto della Webmap in un sistema proiettato che non introduce distorsioni.<\/span><\/p>\n<p style=\"text-align: justify;\">La scala di mappa e la scala di stampa sono due cose completamente disgiunte, su un browser la scala \u00e8 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&#8217;esatta porzione di territorio stampata alla specifica scala impostata dall&#8217;utente.<\/p>\n<h2 style=\"text-align: justify;\">E se la Legenda \u00e8 troppo grande?<\/h2>\n<p style=\"text-align: justify;\">Nessun problema, Geomaster ha specifici accorgimenti per prevenire il problema:<\/p>\n<ul>\n<li style=\"text-align: justify;\"><strong>Rimozione Layer<\/strong>: \u00e8 possibile escludere sistematicamente\u00a0 alcuni layer che non \u00e8 opportuno riportare in legenda, ma che comunque devono essere visibili in mappa.<\/li>\n<li style=\"text-align: justify;\"><strong>Pagina separata<\/strong>: l&#8217;utente Amministratore ha inoltre facolt\u00e0 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).<\/li>\n<\/ul>\n<figure id=\"attachment_8143\" aria-describedby=\"caption-attachment-8143\" style=\"width: 212px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-8143 size-medium\" src=\"https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster3-212x300.png\" alt=\"\" width=\"212\" height=\"300\" srcset=\"https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster3-212x300.png 212w, https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster3.png 641w\" sizes=\"auto, (max-width: 212px) 100vw, 212px\" \/><\/a><figcaption id=\"caption-attachment-8143\" class=\"wp-caption-text\">Esempio di PDF con la Legenda in una pagina separata<\/figcaption><\/figure>\n<h2 style=\"text-align: justify;\">Sfrutta gli elementi dinamici per Stampe sempre dettagliate.<\/h2>\n<p style=\"text-align: justify;\">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:<\/p>\n<figure id=\"attachment_8187\" aria-describedby=\"caption-attachment-8187\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster1a.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-8187 size-medium\" src=\"https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster1a-300x212.png\" alt=\"\" width=\"300\" height=\"212\" srcset=\"https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster1a-300x212.png 300w, https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster1a-768x543.png 768w, https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster1a-1024x725.png 1024w, https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster1a-340x240.png 340w, https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster1a.png 1043w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-8187\" class=\"wp-caption-text\">Esempio di Stampa Geomaster con due Data Frame, testi dinamici e immagini dinamiche. Immagine concessa da Reti Pi\u00f9 tratta dai propri sistemi interni per la gestione degli interventi su suolo pubblico.<\/figcaption><\/figure>\n<ul>\n<li style=\"text-align: justify;\"><strong>&#8220;Testi dinamici&#8221;<\/strong>: sono elementi di testo che in fase di produzione della stampa vengono popolati con i valori imputati dall&#8217;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 \u00e8 richiesto che il template sia predisposto allo scopo, aggiungendo elementi di testi con una nomenclatura del tipo &#8220;GEOMASTER&lt;n&gt;_&lt;etichetta&gt;&#8221;, dove il valore di etichetta sia visibile all&#8217;utente al momento di imputarne il valore.<\/li>\n<li style=\"text-align: justify;\"><strong>&#8220;Immagini dinamiche&#8221;<\/strong>: con la stessa logica alcuni widget custom sono in grado di passare al Template di stampa la URL di un&#8217;immagine e di sostituirla ad uno specifico elemento immagine con una nomenclatura del tipo &#8220;GEOMASTERIMG&lt;n&gt;_&lt;etichetta&gt;&#8221;.<\/li>\n<\/ul>\n<h2 style=\"text-align: justify;\">Salva il tuo lavoro<\/h2>\n<p style=\"text-align: justify;\">Nella nuova versione sviluppata con le ESRI Javascript API 4, il Widget di Stampa Geomaster \u00e8 in grado di consentire all&#8217;utente di &#8220;salvare&#8221; le caratteristiche di una stampa e di richiamarla successivamente per un eventuale riutilizzo rapido, oppure duplicarla e salvarla con un nome differente.<\/p>\n<figure id=\"attachment_8149\" aria-describedby=\"caption-attachment-8149\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-8149\" src=\"https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster4-300x187.png\" alt=\"\" width=\"300\" height=\"187\" srcset=\"https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster4-300x187.png 300w, https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster4-768x479.png 768w, https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster4-1024x639.png 1024w, https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/StampaGeomaster4.png 1164w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-8149\" class=\"wp-caption-text\">Interfaccia di Apertura di una Mappa Geomaster salvata precedentemente.<\/figcaption><\/figure>\n<p>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.<br \/>\nE&#8217; possibile anche condividere le proprie stampe con altri utenti per avere un ambiente collaborativo.<\/p>\n<h2 style=\"text-align: justify;\">E se tutto questo non basta&#8230;<\/h2>\n<p style=\"text-align: justify;\">One Team e i suoi sviluppatori lavorano costantemente ai processi di stampa per introdurre precise personalizzazioni su commessa, quello che segue \u00e8 un elenco di casi specifici in cui \u00e8 stato possibile sfruttare le funzioni di stampa per produrre documenti anche pi\u00f9 complessi:<\/p>\n<ul>\n<li><span style=\"text-align: justify;\"><strong>Frontespizio<\/strong>: aggiunta di una pagina di frontespizio nel pdf della mappa.<\/span><\/li>\n<li><span style=\"text-align: justify;\"><strong>Schede alfanumeriche<\/strong>: attraverso un uso sistematico dei testi dinamici \u00e8 possibile automatizzare la produzione di schede contenenti informazioni alfanumeriche estratte dagli attributi dell&#8217;oggetto GIS.<\/span><\/li>\n<li><strong>Sovrapposizione di GeoJson<\/strong>: \u00e8 possibile aggiungere in mappa un layer costruito sulla decodifica di un GeoJson.<\/li>\n<li><span style=\"text-align: justify;\"><strong>Accodamento di pi\u00f9 stampe<\/strong>: ad esempio per inquadrare una porzione di territorio a diverse scale di visualizzazione.<\/span><\/li>\n<li><strong>Automazione Completa<\/strong>: procedure remote sono in grado di produrre stampe che inquadrano specifiche porzioni di territorio o specifici oggetti GIS.<\/li>\n<\/ul>\n<p>Si ringrazia <a href=\"http:\/\/www.retipiu.it\/site\/content\/it\/home\">Reti Pi\u00f9<\/a> per la collaborazione e la disponibilit\u00e0 delle immagini.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-8189 aligncenter\" src=\"https:\/\/gis.oneteam.it\/wp-content\/uploads\/2020\/07\/RetiPiu_Logo.png\" alt=\"\" width=\"150\" height=\"84\" \/><\/p>\n<p>Per maggiori informazioni contatta lo staff GIS One Team via mail a\u00a0<a href=\"mailto:gis@oneteam.it\">gis@oneteam.it<\/a>\u00a0o chiamaci al numero 0247719331.<\/p>\n<p><a href=\"https:\/\/gis.oneteam.it\/index.php\/sliders\/iscriviti\/\">Iscriviti<\/a>\u00a0al blog per non perderti i prossimi appuntamenti e restare informato.<\/p>\n<p><a href=\"https:\/\/gis.oneteam.it\/wp-content\/uploads\/2017\/11\/button_iscriviti_blog_gis1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-6324 size-medium\" src=\"https:\/\/gis.oneteam.it\/wp-content\/uploads\/2017\/11\/button_iscriviti_blog_gis1-300x65.png\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" srcset=\"https:\/\/gis.oneteam.it\/wp-content\/uploads\/2017\/11\/button_iscriviti_blog_gis1-300x65.png 300w, https:\/\/gis.oneteam.it\/wp-content\/uploads\/2017\/11\/button_iscriviti_blog_gis1.png 322w\" alt=\"SketchUp - Iscriviti al blog!\" width=\"300\" height=\"65\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Con questo articolo vogliamo approfondire una funzionalit\u00e0 base di One Team Geomaster utilizzata pressoch\u00e8, la Stampa via web. Pur sembrando una funzionalit\u00e0 banale in realt\u00e0 non va confusa con la semplice stampa di una pagina HTML, ma \u00e8 un vero e proprio motore di Geoprocessing, che consente la generazione &#8220;server side&#8221; di documenti ad alta&hellip;<\/p>\n","protected":false},"author":1,"featured_media":8141,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,25],"tags":[292,557],"class_list":["post-7998","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articoli-tecnici","category-geomaster","tag-geoprocessing-service","tag-stampa"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/posts\/7998","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/comments?post=7998"}],"version-history":[{"count":25,"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/posts\/7998\/revisions"}],"predecessor-version":[{"id":8191,"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/posts\/7998\/revisions\/8191"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/media\/8141"}],"wp:attachment":[{"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/media?parent=7998"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/categories?post=7998"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gis.oneteam.it\/index.php\/wp-json\/wp\/v2\/tags?post=7998"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}