gwusermanual:interface:interface:mappe_e_planimetrie

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Prossima revisione
Revisione precedente
gwusermanual:interface:interface:mappe_e_planimetrie [2019/11/06 09:42]
127.0.0.1 modifica esterna
gwusermanual:interface:interface:mappe_e_planimetrie [2020/11/24 18:54] (versione attuale)
giorgio.scali [Sfondi Cartografici (BaseLayer e WMS)]
Linea 1: Linea 1:
 ====== Mappe e Planimetrie ====== ====== Mappe e Planimetrie ======
  
 +Versioni:
 +  * [[:​gwusermanual:​interface:​interface:​Mappe e Planimetrie#​Versione 4.5.X|Versione 4.5.X]]
 +    * [[:​gwusermanual:​interface:​interface:​Mappe e Planimetrie#​Campi Comuni|Campi Comuni]]
 +    * [[:​gwusermanual:​interface:​interface:​Mappe e Planimetrie#​Configurazione XML|Configurazione XML]]
 +    * [[:​gwusermanual:​interface:​interface:​Mappe e Planimetrie#​Associazione a MapGuide|Associazione a MapGuide]]
 +    * [[:​gwusermanual:​interface:​interface:​Mappe e Planimetrie#​Sfondi Cartografici (BaseLayer e WMS)|Sfondi Cartografici (BaseLayer e WMS)]]
 +    * [[:​gwusermanual:​interface:​interface:​Mappe e Planimetrie#​Layer Openlayers|Layer Openlayers]]
 +    * [[:​gwusermanual:​interface:​interface:​Mappe e Planimetrie#​Mappa Cartografica|Mappa Cartografica]]
 +    * [[:​gwusermanual:​interface:​interface:​Mappe e Planimetrie#​Mappa Planimetrica|Mappa Planimetrica]]
 +    * [[:​gwusermanual:​interface:​interface:​Mappe e Planimetrie#​Mappa Cartografica Parzializzata|Mappa Cartografica Parzializzata]]
 +  * [[:​gwusermanual:​interface:​interface:​Mappe e Planimetrie#​Versione 4.0.X|Versione 4.0.X]]
 +
 +
 +===== Versione 4.5.X =====
 +
 +Per poter visualizzare una scheda di tipo //​mapLayout2D//​ (Mappa 2D) occorre preventivamente configurare appositi metadati.
 +Tale configurazione viene gestita nella sezione “Gestione Mappe e Scene” di Geoweb Admin.
 +
 +{{ :​gwusermanual:​admin_maps_and_scene_management.jpg|}}
 +
 +Una //gwMap// è un particolare metadato di Geoweb che determina in che particolare modo verrà presentata all'​utente una scheda di tipo //​mapLayout2D//,​ che utilizza la definizione contenuta nella //gwMap// stessa. Essa può, a seconda della tipologia, legare a se altri metadati di Geoweb.
 +
 +==== Campi Comuni ====
 +  * **Nome**, obbligatorio,​ deve essere uguale ad una mappa configurata in MapGuide.
 +  * **Descrizione**,​ opzionale, non funzionale
 +  * **Sistema di Coordinate**,​ obbligatorio per la cartografia,​ va configurato in modo coerente con la configurazione MapGuide Maestro. Valori di esempio: '​EPSG:​3857',​ '​3857'​
 +  * **Tipologia Mappa**, obbligatorio,​ '​Cartografia',​ '​Planimetria',​ '​Cartografia Parzializzata'​
 +  * **Colore di Sfondo**, opzionale, default #FFFFFF. permette di configurare un colore di sfondo, visualizzato sotto ogni altra cosa
 +
 +==== Configurazione XML ====
 +C'è una parte di xml che determina cosa sarà presente nella UI visualizzata dall'​utente,​ comprese le varie funzionalità,​ anche erogate da plugin. Questa è una configurazione generale, esempi più calzanti per le varie tipologie di mappa sono disponibili sotto.
 +Sono gestiti commenti dentro '<​!--'​ e ' -->'​. I tag non riconosciuti e testo fuori dai tag non danno errori bloccanti.
 +
 +<code xml>
 +<?xml version="​1.0"​ encoding="​UTF-8"?>​
 +<​mode>​
 + <​mainToolbar>​
 + <​buttonGroup name='​selection'​ />
 + <​buttonGroup name='​navigation'​ />
 + <​buttonGroup name='​info'​ />
 + <​buttonGroup name='​refresh'​ />
 + <​buttonGroup name='​report'​ />
 + <​!--<​buttonGroup name='​googleStreetView'​ />-->
 + <​buttonGroup name='​commandsTab'​ />
 + </​mainToolbar>​
 + <​tabList>​
 + <tab type='​layers'​ name='​layers'​ label=''​ />
 + <tab type='​baseMaps'​ name='​baseMaps'​ label=''​ />
 + <tab type='​edit'​ name='​edit'​ label=''>​
 + <​!--<​tabAttribute name='​cutCopyPasteToolbar'​ />-->
 + <​tabAttribute name='​singleInsertToolbar'​ />
 + <​tabAttribute name='​singleMultipleEditToolbar'​ />
 + </​tab>​
 + <tab type='​pluginTab'​ name='​pluginTab'​ label='​Custom Plugin Tab' icon32=''/>​
 + </​tabList>​
 + <​properties>​
 + <entry key="​showScaleLineControl"​ value="​true"​ />
 + <entry key="​showScaleControl"​ value="​true"​ />
 + <entry key="​showMousePositionControl"​ value="​true"​ />
 + <entry key="​startWithMapSwitcherOpened"​ value="​true"​ />
 + </​properties>​
 +</​mode>​
 +</​code>​
 +
 +Il tag tag //<​mode></​mode>//​ ha degli attributi, //name//, //label//, //icon//, //​defaultSelected//​ attualmente non valutati.
 +Sotto il tag //<​mode></​mode>//,​ sono presenti tre sezioni:
 +  * tag **<​mainToolbar></​mainToolbar>​**,​ ospita tag **<​buttonGroup/>​**,​ ognuno dei quali determina la comparsa sulla toolbar principale di un gruppo di bottoni organizzati secondo gruppi predefiniti nel framework, o resi disponibili tramite plugin.
 +    * **<​buttonGroup/>​** predefiniti (determinati dal //name//):
 +      * //​selection//​
 +      * //​navigation//​
 +      * //info//
 +      * //refresh//
 +      * //report//
 +      * //​commandsTab//​ particolare gruppo che rende disponibili sulla toolbar principale scorciatoie per aprire i Tab (configurabili sotto) e collassare/​espandere il relativo menu a scomparsa
 +    * //​googleStreetView//​ definito su plugin (configurato,​ ma veramente disponibile e visualizzato solo in presenza del relativo plugin **googleStreetView**)
 +  * tag **<​tabList></​tabList>​**,​ ospita tag **<​tab/>​**,​ ognuno dei quali determina un tipo di tab disponibile,​ fra quelli predefiniti od erogati da plugin.
 +    * <​tab/>​ predefiniti (determinati dal //type//):
 +      * //layers//, se presente, viene visualizzata la scheda per la gestione dei //layer erogati da MapGuide//
 +      * //​baseMaps//,​ se presente, viene visualizzata la scheda per la visualizzazione dei //​baseLayer//​
 +      * //edit//, se presente, viene visualizzata la scheda per l'​editing in mappa delle entità sulle quali l'​utente è abilitato
 +    * pluginTab, esempio di eventuale tab definito in un qualche plugin. effettivamente visualizzato solo se è presente il relativo plugin
 +  * tag **<​properties></​properties>​**,​ ospita tag **<entry />**, ognuno dei quali permette di configurare proprietà e relativi valori, che possono essere riletti in vari punti del framework, anche ad uso e consumo dei plugin. Le proprietà, booleane, conosciute e valutate di default (che hanno prevalenza anche sulle corrispettive eventualmente definite nell' xml di progetto), sono:
 +    * //​showScaleLineControl//​
 +    * //​showScaleControl//​
 +    * //​showMousePositionControl//​
 +    * //​startWithMapSwitcherOpened//​
 +
 +
 +==== Associazione a MapGuide ====
 +E' prassi associare alla gwMap, una corrispettiva mappa definita in **MapGuide Maestro** (//​mgMap//​). Questo viene fatto soprattutto per sfruttare le funzionalità del motore cartografico MapGuide, che permette di renderizzare in maniera molto efficiente un numero molto elevato di entità per il //Bounding Box// corrente della mappa (definito, a parità di spazio disponibile in finestra del browser, dalla posizione corrente della finestra di mappa e dal livello corrente di zoom). Inoltre sono presenti logiche di selezioni delle entità renderizzare in mappa, basate su query spaziali, in cui il motore Cartografico di MapGuide è parte fondamentale.
 +
 +==== Sfondi Cartografici (BaseLayer e WMS) ====
 +A mappe di tipo cartografico,​ sono in genere associati dei metadati atti a visualizzare uno sfondo cartografico. Questi, i //​baseLayer//,​ sono definiti e configurati a parte (sempre nello stesso albero) e possono essere associati alla singola gwMap. Le tipologie disponibili sono fisse e sono erogate dai principali provider di servizi di cartografia:​ **Google**, **Bing**, **OpenStreetMap**.
 +Esistono inoltre dei particolari sfondi cartografici,​ definiti di tipo **WMS**, e configurati per lavorare con appositi servizi erogati da server esterni a geoweb. Una guida sui servizi WMS e loro configurazioen è disponibile [[https://​wiki.geowebframework.com/​doku.php?​id=custom:​external_wms_integration|qui]].
 +
 +==== Layer Openlayers ====
 +Esistono poi anche dei layer di tipo **Openlayers**,​ che possono essere configurati e visualizzati indipendentemente da MapGuide. Essi vanno creati nella sezione '​Layer',​ delle varie gwClass interessate (nell'​albero 'Temi e Classi'​),​ ed associati alla gwMap desiderata.
 +Essi vengono rendderizzati ad ogni apertura mappa, permettono customizzazioni spinte nelle renderizzazione delle varie entità rappresentate in mappa. ​
 +Se esistono si possono utilizzare anche per avere punti di snap aggiuntivi durante le fasi di editing in mappa.
 +Hanno lo svantaggio che, essendo sempre renderizzati tutti per un dato BoundingBox corrente della gwMap, in caso di un elevato numero di entità ci potrebbe essere un degrado nelle performance.
 +
 +
 +
 +==== Mappa Cartografica ====
 +E' la tipologia usata per rappresentare entità distribuite sul territorio, mediante il supporto di mappe cartografiche.
 +La si sceglie configurando '​Cartografia'​ nel select **Tipologia Mappa**.
 +Va obbligatoriamente configurato il **Sistema di Coordinate**.
 +
 +{{ :​gwusermanual:​admin_carthog_map_manag_1.jpg|}}
 +
 +Nell'​xml notiamo tra i //​buttonGroup//​ la presenza di //​googleStreetView//,​ che è erogato dall' apposito plugin **googleStreetView**,​ ed è una funzionalità usabile solo nelle mappe cartografiche (a cui tra l'​altro sono associati baseLayer Google opportunamente configurati per farsi erogare i vari servizi dal Provider Google).
 +Essendo una mappa cartografica è presente il tab con  type='​baseMaps'​.
 +
 +<code xml carthografic_map_template.xml>​
 +<?xml version="​1.0"​ encoding="​UTF-8"?>​
 +<​mode>​
 + <​mainToolbar>​
 + <​buttonGroup name='​selection'​ />
 + <​buttonGroup name='​navigation'​ />
 + <​buttonGroup name='​info'​ />
 + <​buttonGroup name='​refresh'​ />
 + <​buttonGroup name='​report'​ />
 + <​buttonGroup name='​googleStreetView'​ />
 + <​buttonGroup name='​commandsTab'​ />
 + </​mainToolbar>​
 + <​tabList>​
 + <tab type='​layers'​ name='​layers'​ label=''​ />
 + <tab type='​baseMaps'​ name='​baseMaps'​ label=''​ />
 + <tab type='​edit'​ name='​edit'​ label=''>​
 + <​!--<​tabAttribute name='​cutCopyPasteToolbar'​ />-->
 + <​tabAttribute name='​singleInsertToolbar'​ />
 + <​tabAttribute name='​singleMultipleEditToolbar'​ />
 + </​tab>​
 + </​tabList>​
 + <​properties>​
 + <entry key="​showScaleLineControl"​ value="​true"​ />
 + <entry key="​showScaleControl"​ value="​true"​ />
 + <entry key="​showMousePositionControl"​ value="​true"​ />
 + <entry key="​startWithMapSwitcherOpened"​ value="​true"​ />
 + </​properties>​
 +</​mode>​
 +</​code>​
 +
 +BaseLayer associati alla mappa (configurati a parte).
 +
 +{{ :​gwusermanual:​admin_carthog_map_manag_2.jpg|}}
 +
 +Associazione con la mappa MapGuide.
 +
 +{{ :​gwusermanual:​admin_carthog_map_manag_3.jpg|}}
 +
 +
 +==== Mappa Planimetrica ====
 +
 +E' la tipologia usata per rappresentare entità distribuite su planimetrie di edifici. La parte architettonica e delle entità presenti è erogata tramite MapGuide. Le entità possono opzionalmente avere anche un layer OpenLayers.
 +La si sceglie configurando '​Planimetria'​ nel select **Tipologia Mappa**.
 +Non va configurato il **Sistema di Coordinate**.
 +
 +{{ :​gwusermanual:​admin_plan_map_manag_1.jpg|}}
 +
 +Essendo una mappa planimetrica non è presente il tab con  type='​baseMaps'​.
 +
 +Lato xml, è stato aggiunto il tab con type //​furniture//,​ che è reso disponibile dal plugin **fornitureplugin**.
 +
 +<code xml planimetric_map_template.xml>​
 +<?xml version="​1.0"​ encoding="​UTF-8"?>​
 +<​mode>​
 +    <​mainToolbar>​
 + <​buttonGroup name='​selection'​ />
 + <​buttonGroup name='​navigation'​ />
 + <​buttonGroup name='​info'​ />
 + <​buttonGroup name='​refresh'​ />
 + <​buttonGroup name='​report'​ />
 + <​buttonGroup name='​commandsTab'​ />
 + </​mainToolbar>​
 + <​tabList>​
 + <tab type='​layers'​ name='​layers'​ label=''​ icon32=''/>​
 +     <tab type='​edit'​ name='​edit'​ label=''>​
 + <​!--<​tabAttribute name='​cutCopyPasteToolbar'​ />-->
 + <​tabAttribute name='​singleInsertToolbar'​ />
 + <​tabAttribute name='​singleMultipleEditToolbar'​ />
 + </​tab>​
 +
 + <​!--adding some specific planimetry plugins-->​
 + <tab type='​furniture'​ name='​furniture'​ label=''/>​
 + </​tabList>​
 + <​properties>​
 + <entry key="​showScaleLineControl"​ value="​true"​ />
 + <entry key="​showScaleControl"​ value="​true"​ />
 + <entry key="​showMousePositionControl"​ value="​true"​ />
 + <entry key="​startWithMapSwitcherOpened"​ value="​true"​ />
 + </​properties>​
 +</​mode>​
 +</​code>​
 +
 +Essendo una Planimetria,​ in questo caso non c'è alcun BaseLayer associato alla mappa.
 +
 +{{ :​gwusermanual:​admin_plan_map_manag_2.jpg|}}
 +
 +Associazione con la mappa MapGuide.
 +
 +{{ :​gwusermanual:​admin_plan_map_manag_3.jpg|}}
 +
 +In questo caso è associato anche qualche layer di tipo OpenLayers che anche se configurato (a parte) come invisibile, è utile per lo snap in fase di editing Arredi in Planimetria.
 +
 +{{ :​gwusermanual:​admin_plan_map_manag_4.jpg|}}
 +
 +
 +==== Mappa Cartografica Parzializzata ====
 +
 +Si utilizza per casi particolari,​ in cui i dati di una mappa fondamentalmente //​cartografica//,​ sono gestiti in maniera simile ai criteri di partializzazione usati per le planimetrie (basati sulla presenza del campo **DRAWING** sulle tabelle, e relative configurazioni).
 +Questa modalità d'uso è spesso associata alla presenza di specifici parametri in sessione.
 +
 +
 +
 +===== Versione 4.0.X =====
 +
 +Le configurazioni sono molto simili a quanto descritto sopra, ad eccezione del fatto che non esisteva del tutto la parte xml.
 +Quindi non c'è la possibilità di scegliere, mappa per mappa, quali gruppi di bottoni o schede laterali mostrare. Le logiche sono regolate da rigidi automatismi.
 +Inoltre la parte di configurazione presente nel tag //<​properties>//​ del'​xml è recuperata in toto dall'​xml di progetto, nella sezione //<​mapSettings></​mapSettings>//​.
 +In caso non fosse configurata si fa ancora riferimento a dei valori di default.
  • gwusermanual/interface/interface/mappe_e_planimetrie.1573029752.txt.gz
  • Ultima modifica: 2019/11/06 09:42
  • da 127.0.0.1