[Gfoss] WMS e mapserver, piccolo problema..

Andrea Peri aperi2007 a gmail.com
Sab 26 Set 2009 23:14:52 CEST


La tua chiamata e' buona per visualizzare mappe su un browser, ma non
e' una chiamata valida per un server wms.

Il fatto che il browser ti visualizza una mappa, fa' penare che il
server che stai chimanado non sia impostato per funzionare come un
server wms, ma come un server di altro tipo.

Tanto per chiarirci subito, non basta che un server rimandi mappe
geografiche per dire che e' un server wms.
Per essere un server wms deve rispondere a una chiamata che abbia dei
dei parametri ben precisi.
E non sono quelli che metti te.


>http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/esercitazioni/mapfiles/Esempio_WMS.map&layer=wms_aanp_f33&mode=map <http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/esercitazioni/mapfiles/Esempio_WMS.map&layer=wms_aanp_f33&mode=map>

Questa non e' una chiamata WMS , il fatto che in certi strumenti essa
funziona, come nel browser, e' solo perche'
essa comunque e' una chiamata che ritorna una mappa, che poi in
effetti e' solo una immagine prodotta al volo.

Ma la similitudine finisce qui.

Ammesso che quello che stai invocando (la url) sia effettivamente un
server wms (questo lo sai te.)

Il problema e' nei parametri, ovverosia tutto quello che vi e' dopo il
carattere '?'

dopo ci devono essere solo parametri, i parametri di una chiamata wms,
e sottolineo : di una chiamata wms, sono svariati tra essi
ci sono i seguenti:

BBOX, esempio BBOX=1554750.736259,4678325.520000,1771722.760000,4924791.900000

indica l'estensione geografica da restituire

WIDTH, esempio WIDTH=400
HEIGHT, esempio HEIGHT=300

indicano le dimensioni della mappa che si richiede al server wms.
Ovviamente questo parametro lo immetti se lo chiami dal browser, se lo
chiami tramite un client GIS, ci pensera' il software a metterci
questi due parametri.


SRS=EPSG:3003

indica il sistema di riferimento in cui deve essere prodotta la mappa.

Layers, ad esempio: Layers=_idreg,idprov,idcomuni

Questo lo usi anche te, ma ti prego di notare che nella tua chiamata
manca la 's' finale e non e' una differenza da poco.
Il server wms vuole sapere quali layers usare e se gli invii un
parametro che si chiama "Layer" semplicemente per lui non vuol dire
niente.

Poi ci devi mettere un parametro che indica il tipo di chiamata che
invii come versione

version=1.1.0

anche questo in certi casi viene messo in automatico dal client GIS.

Poi ci metti questo

service=WMS

obbligatorio per il server wms, tante' che molti clcient gis lo
mettono in automatico.
e quindi lo devi mettere quando chiami dal browser, perche' non e' un
client GIS, mentre puoi ignorarlo nei client gis perche' lo metteranno
loro in automatico (almeno nei client gis fatti bene)

Poi altri parametri sono:

FORMAT=JPEG

che indica che vuoi una mappa in formato jpeg (potevi dargli anche PNG)

e il parametro

TRANSPARENT=TRUE

E infine

ci metti il fatidico

request=getmap

che dice al server wms che stai effettuando una richiesta di
produzione di una mappa.
(altro caso di parametro obbligario che il client gis mette
automaticamente, mentre nel browser lo devi mettere te)

venendo alla querystring che hai mandato te,

Te ci metti il parametro seguente:

map=/ms4w/apps/esercitazioni/mapfiles/Esempio_WMS.map

Non ho mai visto prima questo parametro nelle chiamate wms e quindi
per me non lo e'.
Probabilmente si tratta di un parametro specifico di un certo tipo di
server ma che probabilmente e' fuori standard.
Non trattandosi di un parametro standard non verra' interpretato e
forse provoca l'errore.

Altro parametro "strano":

mode=map

anche questo per me non e' un parametro del WMS.

Invece dovresti metterci

request=getmap

infine l'ultimo parametro che metti:

layer=wms_aanp_f33

a parte l'essere sicuro che l'identificativo del layer sia
effettivamente "wms_aanp_f33", questo devi esserlo te.

Senz'altro non devi mettere "layer" ma bensi' "layers"


Ciao,

-- 
-----------------
Andrea Peri
. . . . . . . . .
qwerty אטלעש
-----------------
-------------- parte successiva --------------
Un allegato HTML ט stato rimosso...
URL: <http://lists.faunalia.it/pipermail/gfoss/attachments/20090926/ef736d21/attachment.htm>


Maggiori informazioni sulla lista Gfoss