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
tecnica:gps_cartografia_gis:pmapper [2009/05/06 19:44] niccolotecnica:gps_cartografia_gis:pmapper [2010/06/01 17:38] (current) 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 151: Line 180:
  
 ===== Personalizzazione stampe ===== ===== Personalizzazione stampe =====
 +
 +Verificare di aver installato il pacchetto **php5-gd**, altrimenti la stampa PDF produce un'immagine vuota.
  
 La stampa PDF e HTML viene controllata dal file di configurazione **''config/common/print.xml''**. La stampa PDF e HTML viene controllata dal file di configurazione **''config/common/print.xml''**.
Line 156: Line 187:
 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'', rispettando anche il map ''type'' (//normal// o //full//).+È 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.1241631862.txt.gz · Last modified: 2009/05/06 19:44 by niccolo