User Tools

Site Tools


tecnica:gps_cartografia_gis:pmapper

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
tecnica:gps_cartografia_gis:pmapper [2009/05/06 19:43] niccolotecnica:gps_cartografia_gis:pmapper [2010/06/01 16:23] niccolo
Line 1: Line 1:
-====== p.mapper: appunti installazione ======+====== p.mapper ======
  
 Si possono installare i pacchetti Debian **[[http://www.pmapper.net/dl/debian/binary/pmapper-3.2.deb|pmapper-3.2.deb]]** e **[[http://www.pmapper.net/dl/debian/binary/pmapper-base.deb|pmapper-base.deb]]** dal repository Si possono installare i pacchetti Debian **[[http://www.pmapper.net/dl/debian/binary/pmapper-3.2.deb|pmapper-3.2.deb]]** e **[[http://www.pmapper.net/dl/debian/binary/pmapper-base.deb|pmapper-base.deb]]** dal repository
Line 7: Line 7:
 </file> </file>
  
-Supponiamo che la nostra mappa sia costituita dai layer confini, uso, punti, linee, poligoni e homerange. Una configurazione minima prevede di editare i file:+Supponiamo che la nostra mappa sia costituita dai layer ''confini''''uso''''punti''''linee''''poligoni'' ''homerange''. Una configurazione minima prevede di editare i file:
  
 **''config/config_default.ini''** **''config/config_default.ini''**
Line 79: Line 79:
 {{.pmapper:pmapper_legstyle_swap.png?128|legStyle = swap}} {{.pmapper:pmapper_legstyle_swap.png?128|legStyle = swap}}
 **legStyle = {attached|swap}** **legStyle = {attached|swap}**
 +
 +===== Configurazione layout =====
 +
 +Modificando i file **''default/php_config.php''** e **''default/js_config.php''** è possibile determinare il logo e varie altre impostazioni della pagina. La pagina viene composta nel file **''map.phtml''**. Alcuni esempi:
 +
 +<code php>
 +$pmLogoUrl   = "http://www.rigacci.org/";
 +$pmLogoTitle = "Rigacci.Org Webmapping";
 +$pmLogo      = "images/rigacci_org.png";
 +</code>
 +
 +<code javascript>
 +// Top and bottom
 +Layout.NorthHeight = 35;
 +Layout.SouthHeight = 35;
 +Layout.WestWidth   = 0;
 +Layout.EastWidth   = 240;
 +</code>
 +
  
  
Line 119: Line 138:
       -70 -60       -70 -60
     END     END
-    TEXT ""+    TEXT " "
   END   END
   CLASS   CLASS
     STYLE     STYLE
       SYMBOL "logo"       SYMBOL "logo"
 +      #SIZE 36
     END     END
     LABEL     LABEL
Line 134: Line 154:
 END END
 </file> </file>
 +
 +La dimensione del logo viene influenzata sia dal parametro **''LAYER.CLASS.STYLE.SIZE''** (che indica la dimensione verticale in pixel del bitmap), sia dal parametro **''MAP.RESOLUTION''**.
 +
 +Un pixmap si suppone essere a 72 dpi, la MAP.RESOLUTION per default è 72 dpi. Se viene impostata una ''MAP.RESOLUTION=96'' (valore più corretto per un normale monitor) allora MapServer scala il pixmap per visualizzarlo alla dimensione originale.
 +
 +Per ottenere la dimensione originale basta impostare ''SIZE = <size_originale> * (72 / MAP.RESOLUTION)''.
 +
 +Vedere anche [[http://mapserver.org/development/rfc/ms-rfc-55.html|Improve control of output resolution]].
  
 ===== Esportazione dati in XLS ===== ===== Esportazione dati in XLS =====
Line 141: Line 169:
 <code> <code>
 pear list pear list
 +pear install OLE
 pear install Spreadsheet_Excel_Writer pear install Spreadsheet_Excel_Writer
 </code> </code>
Line 156: Line 185:
 In questo file è possibile ad esempio definire il logo dell'intestazione, il valore predefinito dei checkbox di stampa (//With Overview Map// e //Create PDF Document//). In questo file è possibile ad esempio definire il logo dell'intestazione, il valore predefinito dei checkbox di stampa (//With Overview Map// e //Create PDF Document//).
  
-È possibile ad esempio anche scegliere una dimensione pagina diversa da A4, modificando (sempre in ''print.xml'') il dialogbox di stampa con un campo ''input'' eventualmente ''hidden'' di nome **''papersize''** impostato ad A3 o simili. In tal caso bisogna definire nell'XML anche il valore di ''print/settings/pdf/format/map'', indicando anche il map ''type''.+È possibile ad esempio anche scegliere una dimensione pagina diversa da A4, modificando (sempre in ''print.xml'') il dialogbox di stampa con un campo ''input'' eventualmente ''hidden'' di nome **''papersize''** impostato ad A3 o simili. In tal caso bisogna definire nell'XML anche il valore di ''print.settings.pdf.format.map'', rispettando anche il map ''type'' (//normal// o //full//). 
 + 
 +===== Icone legenda ===== 
 + 
 +Le icone usate nella legenda sono salvate nella directory **''images/legend/''** che pertanto deve essere scrivibile dall'utente web server. 
 + 
 +In teoria p.mapper dovrebbe accorgersi se il mapfile è stato modificato e in tal caso generare nuovamente tutte le icone per la legenda. Se questo non dovesse avvenire cancellare il file **''createimg.log''** (o più drasticamente tutte le icone) e ricaricare la pagina. 
 + 
 +===== Join uno a molti ===== 
 + 
 +Con lo strumento "seleziona" è possibile effettuare query che eseguono il join tra il dato geografico ed una tabella ad esempio di PostgreSQL. Se il join è di tipo **uno a molti** la tabella risultante mostra tutti i record correlati sulla medesima riga, il risultato è abbastanza illeggibile. 
 + 
 +Questa modifica alla funzione **''printFields()''** (circa alla riga 255 del file **''incphp/query/squery.php''** di p.mapper 3.2.1) fa sì che ogni record venga stampato su una riga a sé stante: 
 + 
 +<code php> 
 +    // if all recors from one2many retrieved (or only one2one) stop loop 
 +    if ($dbloop == $dbresCount) { 
 +        $loop = 0; 
 +    } else { 
 +        $this->qStr .= "], ["; 
 +        $this->qStr .= $this->printShapeField($qShape); 
 +    } 
 +</code> 
tecnica/gps_cartografia_gis/pmapper.txt · Last modified: 2010/06/01 17:38 by niccolo