PMapper e ka-Map
Da Wikipedia, l'enciclopedia libera.
Questa pagina offre un manuale (howto) su come configurare sia ka-Map che p.mapper su una stessa macchina.
Viene dato per scontato che UMN Mapserver e php_mapscript siano installati correttamente sulla macchina di prova.
--Ominiverdi 21:53, Apr 25, 2006 (CEST)
Contents |
Cartelle Dati
Iniziamo con i dati. Utilizzerei per le due applicazioni gli stessi dati della demo di p.mapper: http://sourceforge.net/project/showfiles.php?group_id=83770&package_id=146223&release_id=362491
Questi dati li metterei in un una cartella "data/pmapper" nella home dell'utente.
#mkdir ~/data #mkdir ~/data/pmapper #cp pmapper-demodata-2.zip ~/data/pmapper #cd ~/data/pmapper #unzip pmapper-demodata-2.zip
Cartelle Web
per ognuna delle due applicazioni sarà necessario di disporre di una cartella acccessibile al server web. Probabilmente avrete una cartella già predisposta a tale scopo nella vostra Home (es: public_html, www, ecc.).
#mkdir ~/public_html/pmapper #mkdir ~/public_html/ka-map
Cartelle Temporanee
Adesso è necessario creare la cartella dei file temporanei una per p.mapper ed una per ka-map:
#mkdir ~/public_html/tmp #mkdir ~/public_html/tmp/kamapcache #chmod 777 ~/public_html/tmp/kamapcache #mkdir ~/public_html/tmp/pmappercache #chmod 777 ~/public_html/tmp/pmappercache
La scelta di utilizzare 777 come parametro di accesso alla cartella è di scarsa sicurezza e adatto ad un uso locale, non di server pubblico. Viene presentata questa soluzione per semplificare la configurazione.
p.mapper
download
A questo link è possibile scaricare l'ultima versione del p.mapper. http://sourceforge.net/projects/pmapper
Il file scaricato (es: pmapper-1.2.0) va espanso nella cartella web apposita.
#cp pmapper-1.2.0.zip ~/public_html #cd ~/public_html #unzip pmapper-1.2.0.zip #mv pmapper-1.2.0 pmapper
configurazione
una volta copiata la cartella di pmapper è necessario settare le variabili del file di configurazione. Per tale scopo si usa un editor qualunque (in questo caso nano)
#cd ~/public_html/pmapper #nano config/config.ini
la prima cosa da controllare alla riga 59:
msVersion = 46
si tratta della versione del php_mapscript. Nel mio server è php_mapscript_48.so così che ho messo
msVersion = 48
Alla riga 66
mapFile = d:/webdoc/pmapper-1.2.0/config/pmapper_demo.map
va messo con il path assoluto del nostro pmapper
mapFile = /home/miahome/public_html/pmapper/config/pmapper_demo.map
niente altro. si salva il file e si esce.
mapfile
Il mapfile richiede adesso la sua parte di personalizzazione.
#nano /home/miahome/public_html/pmapper/config/pmapper_demo.map
alla riga 24
SHAPEPATH "../../demodata"
#SYMBOLSET "../demodata/symbols/symbols35.sym"
diventa
SHAPEPATH "/home/miahome/data/pmapper/" SYMBOLSET "/home/miahome/data/pmapper/symbols/symbols35.sym"
mentre alla riga 84
IMAGEPATH "d:\webdoc\tmp\" IMAGEURL "/tmp/"
diventa
IMAGEPATH "/home/miahome/public_html/tmp/pmappercache/" IMAGEURL "../tmp/pmappercache/"
ka-Map
download
Dal sito MapTool è possibile scaricare l'ultima versione di ka-Map. http://ka-map.maptools.org/index.phtml?page=downloads.html
#cp ka-map-0.2-20060207.zip ~/public_html #cd ~/public_html #unzip ka-map-0.2-20060207.zip #mv ka-map-0.2-20060207 ka-map
configurazione
In ka-map il file di configurazione non è attivo ma presente come copia. Nella cartella include è necessario copiare il file config.dist.php come config.php
#cd ~/public_html/ka-map #cp include/config.dist.php include/config.php #nano include/config.php
alle righe 49 e 50 è necessario indicare (come per pmapper) i nomi dei moduli di mapscript e anche quelli delle librerie GD.
$szPHPMapScriptModule = 'php_mapscript_46.'.PHP_SHLIB_SUFFIX; $szPHPGDModule = 'php_gd.'.PHP_SHLIB_SUFFIX;
nel nostro caso diventa:
$szPHPMapScriptModule = 'php_mapscript_48.'.PHP_SHLIB_SUFFIX; $szPHPGDModule = 'gd.'.PHP_SHLIB_SUFFIX;
Il nome del modulo delle librerie GD dipende dalla distribuzione.
Alla riga 106 vanno definiti i parametri di connessione al mapfile.
$aszMapFiles = array(
"gmap" => array( "GMap", "../../gmap-ms40/htdocs/gmap75.map",
array( 15000000, 7500000, 3000000, 1000000 ),
"PNG")
/* Add more elements to this array to offer multiple mapfiles */
);
diventa
$aszMapFiles = array(
"gmap" => array( "ka-Map", "/home/miahome/public_html/ka-map/include/ka-map_demo.map",
array( 50000000, 10000000, 5000000, 1000000 ),
"PNG")
/* Add more elements to this array to offer multiple mapfiles */
);
mapfile ka-map
quello che manca ancora al ka-map è il file di mappa a cui far riferimento.
#cp ~/public_html/pmapper/config/pmapper_demo.map ~/public_html/ka-map/include/ka-map_demo.map
adesso va editato il file di mappa per pmapper e adattato alle caratteristiche di ka-map.
#nano ~/public_html/ka-map/include/ka-map_demo.map
qui sotto l'esempio di una possibile configurazione (cambiare le path assulote dove richiesto):
# Adapt settings in map file pmapper_demo.map for the following tags to match settings # on your machine (see additionally MapServer documentation for detailed information): # MAP # SHAPEPATH # FONTSET # SYMBOLSET # WEB # IMAGEPATH # IMAGEURL # # Start of map file # MAP EXTENT 1988372 1400000 6411627 5400000 UNITS meters #EXTENT -15 30 40 70 #UNITS dd SIZE 900 900 SHAPEPATH "/home/miahome/data/pmapper/" SYMBOLSET "/home/miahome/data/pmapper/symbols/symbols35.sym" #FONTSET "../../../data/fonts/msfontset.txt" RESOLUTION 96 IMAGETYPE png TRANSPARENT ON #aggiunta per permettere le sovrapposizione in trasparenza INTERLACE ON PROJECTION # ETRS-LAEA # <3035> +proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +units=m +no_defs no_defs <> "proj=laea" "lat_0=52.000000" "lon_0=10.000000" "x_0=4321000" "y_0=3210000" "ellps=GRS80" "units=m" "no_defs" END OUTPUTFORMAT ##added for jpg background NAME jpeg DRIVER "GD/JPEG" IMAGEMODE RGB EXTENSION "jpeg" FORMATOPTION "QUALITY=75,PROGRESSIVE=TRUE" END OUTPUTFORMAT NAME png DRIVER "GD/PNG" MIMETYPE "image/png" IMAGEMODE RGB FORMATOPTION INTERLACE=OFF TRANSPARENT OFF END OUTPUTFORMAT NAME png8 DRIVER "GD/PNG" MIMETYPE "image/png" IMAGEMODE PC256 FORMATOPTION INTERLACE=OFF TRANSPARENT OFF END OUTPUTFORMAT NAME GTiff DRIVER "GDAL/GTiff" MIMETYPE "image/tiff" IMAGEMODE RGB #FORMATOPTION "TFW=YES" #FORMATOPTION "COMPRESS=PACKBITS" END OUTPUTFORMAT NAME imagemap MIMETYPE "text/html" FORMATOPTION SKIPENDTAG=ON DRIVER imagemap END # # Start of web interface definition # WEB TEMPLATE "map.html" IMAGEPATH "/home/miahome/public_html/tmp/kamapcache/"#cambiato IMAGEURL "../../tmp/kamapcache/" #cambiato METADATA END # Metadata END # Web # # Start of Reference map definition # REFERENCE EXTENT 1496247 1332616 7055632 5502154 #2200000 1400000 8000000 5400000 IMAGE "/home/miahome/data/pmapper/images/reference.jpg" SIZE 199 149 COLOR -1 -1 -1 OUTLINECOLOR 255 0 0 END # Reference LEGEND END # # Start of ScaleBar definition # SCALEBAR INTERVALS 4 SIZE 200 3 UNITS kilometers COLOR 250 250 250 OUTLINECOLOR 0 0 0 BACKGROUNDCOLOR 100 100 100 STYLE 0 POSTLABELCACHE true LABEL COLOR 255 255 255 OUTLINECOLOR 0 0 0 SIZE small END # Label END # Reference # SYMBOLS USED IN PMAPPER # - 'circle' always necessary (used e.g. for highlight) # - 'square' used in currecnt map file # Symbols can also be defined via tag SYMBOLSET (see above) Symbol Name 'circle' Type ELLIPSE Filled TRUE Points 1 1 END END Symbol Name 'square' Type VECTOR Filled TRUE Points 0 1 0 0 1 0 1 1 0 1 END END #================== START OF LAYER SECTION =====================# #LAYER # NAME "jpl_wms_global_mosaic" # TYPE RASTER # STATUS ON # GROUP '__base__' # CONNECTION "http://wms.jpl.nasa.gov/wms.cgi?" # CONNECTIONTYPE WMS # PROJECTION # "init=epsg:4326" # END # METADATA # "DESCRIPTION" "JPL Global Mosaic (WMS)" # "wms_name" "global_mosaic_base" # "wms_style" "visual" # "wms_server_version" "1.1.1" # "wms_format" "image/jpeg" # END #END # # LAYER DGM # LAYER NAME "dem" TYPE Raster STATUS ON DATA 'europa_dem.jpg' MINSCALE 3000000 PROJECTION "init=epsg:4326" END METADATA imageformat "jpeg" "DESCRIPTION" "NGDC Shaded relief" "LEGENDICON" "images/legend/dem.png" END END # # Start of Layer Countries.shp # LAYER STATUS ON #questi vanno messi per ka-map NAME "countries" GROUP "Country" TYPE polygon DATA "countries" #TRANSPARENCY 30# Ka-map,non necesario visto che elimino il Color PROJECTION "init=epsg:4326" END METADATA "DESCRIPTION" "Countries" "RESULT_FIELDS" "NAME,AREA" "RESULT_HEADERS" "Name,Area" END # Metadata CLASS Name 'Countries' # COLOR 200 254 199#Ka-map, non necessario OUTLINECOLOR 0 0 0 TEMPLATE void END # Class END # Layer # # Start of Layer Cities.shp # LAYER NAME "cities" GROUP 'Cities' #ka-map, nuovo livello TYPE point DATA "cities" TOLERANCE 10 TOLERANCEUNITS pixels LABELITEM "CITY_NAME" LABELMAXSCALE 15000000 PROJECTION "init=epsg:4326" END METADATA imageformat "PNG" #ka-Map "QUERYABLE" "true" #ka-Map: per attivare l'identify "DESCRIPTION" "Cities" "RESULT_FIELDS" "CITY_NAME,ADMIN_NAME,CNTRY_NAME,STATUS,POP_CLASS" "RESULT_HEADERS" "Name,Administrative Entity,Country,Status,Inhabitants" "RESULT_HYPERLINK" "CITY_NAME, CNTRY_NAME||Link on detail" "LAYER_ENCODING" "UTF-8" END # Metadata CLASS NAME "> 5'000'000" EXPRESSION ([POP_RANK] = 1) COLOR 255 0 0 SYMBOL 'square' SIZE 9 LABEL POSITION Auto COLOR 0 0 150 BACKGROUNDCOLOR 255 255 128 BACKGROUNDSHADOWCOLOR 150 150 150 BACKGROUNDSHADOWSIZE 2 2 BUFFER 2 #TYPE truetype #FONT verdana #SIZE 8 #MAXSIZE 9 SIZE small END #Label TEMPLATE void END # Class CLASS NAME "1'000'000 - 5'000'000" EXPRESSION ([POP_RANK] = 2) COLOR 255 0 0 SYMBOL 'square' SIZE 7 LABEL POSITION Auto COLOR 0 0 150 BACKGROUNDCOLOR 255 255 128 BACKGROUNDSHADOWCOLOR 150 150 150 BACKGROUNDSHADOWSIZE 2 2 BUFFER 2 #TYPE truetype #FONT verdana #SIZE 8 #MAXSIZE 9 SIZE small END #Label TEMPLATE void END # Class CLASS NAME "500'000 - 1'000'000" EXPRESSION ([POP_RANK] = 3) COLOR 255 0 0 SYMBOL 'circle' SIZE 6 TEMPLATE void END # Class CLASS NAME "< 500'000 Inhabitants" EXPRESSION ([POP_RANK] = 4) COLOR 0 0 0 SYMBOL 'circle' SIZE 5 TEMPLATE void END # Class END # Layer # # Start of Layer Rivers.shp # LAYER NAME "rivers" STATUS ON TYPE line DATA "rivers" TOLERANCE 3 TOLERANCEUNITS pixels PROJECTION "init=epsg:4326" END METADATA "DESCRIPTION" "Rivers" "RESULT_FIELDS" "NAME,LENGTH" "RESULT_HEADERS" "Name,Length" END # Metadata CLASS Name 'Rivers' COLOR 0 0 255 TEMPLATE void END # Class END # Layer END #Map

