[Gfoss] style layer

Innanzi tutto

Nella prima chiamata usi
SLD=
che non e' un parametro WMS (almeno non mi risulta esserlo).
Il fatto che ti funzioni quindi non fa' testo (anche se gira nel browser).

nella seconda chiamata che effettui :

ma la mappa ritornata è praticamente quella iniziale, senza aver lo stile applicato ....
questo è url per la chiamata wms:
http://localhost:81/cgi-bin/mapserv.exe?SERVICE=WMS&LAYERS=comuni&FORMAT=image/png&TRANSPARENT=TRUE&HEIGHT=540&BGCOLOR=0xFFFFFF&MAP=/ms4w/Apache/htdocs
/wms/test.map&REQUEST=GetMap&WIDTH=600&BBOX=1463370.0,4959815.0,1683168.0,5155066.0&STYLES=&SRS=EPSG:3003&VERSION=1.1.1

usi STYLE=
ma lo passi vuoto.
Questo vuol dire che dovrebbe usare i valori di default.
E proporti quindi il rendering di default.

Credo che l'equivoco sta nell'indicazione del parametro STYLE nella url.

Secondo me nella url dovresti proprio togliere il parametro "STYLE="
perche' ce lo metterebbe geotools.

cosi facendo invece.

te di fatto stai passando una querystring siffatta:

....&STYLE=&....&STYLE=filtrMilano.xml

Ovviamente il server usa il primo parametro che incontra e quindi il default.

Come verifica potresti controllare nel log del tuo server http che
querytring sta ricevendo.

Saluti,

--
~~~~~~~~~~~~~~~~~
§ Andrea §
§ Peri §
~~~~~~~~~~~~~~~~~

Andrea Peri ha scritto:

Innanzi tutto

Nella prima chiamata usi
SLD=
che non e' un parametro WMS (almeno non mi risulta esserlo).

E' parte delle estensioni a WMS definite in SLD 1.0.
Serve per chiedere al server di creare una mappa con uno stile definito
dall'utente (e contenuto nell'SLD puntato da sld=..., che dovrebbe
essere un URL accessibile anche dal server, ma a seconda del
server può essere anche un altro file locale).
Con GeoServer funziona, con MapServer non ho idea francamente.

Ciao
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.

Grazie per la informazione.

Nelle specifiche 1.3.0,
invece, il parametro style,
serve per indicare il rendering da usarsi da una lista di rendering
predefiniti (stylenames).

Nel suo caso pero' optando per le specifiche 1.1.1 su cui i ricordi
sono piu' vaghi, potrebbe corrispondere al parametro SLD ?

Comunque tornando al problema segnalato ,
sono convinto che il problema sia legato a una doppia presentazione del
medesimo parametro sulla querystring, il primo vuoto e il secondo valorizzato.
Se rimuove il primo parametro, che essendo nullo indica il rendering
di default, dovrebbe funzionare.

Saluti

2008/11/21 Andrea Aime <aaime@opengeo.org>:

Andrea Peri ha scritto:

Innanzi tutto

Nella prima chiamata usi
SLD=
che non e' un parametro WMS (almeno non mi risulta esserlo).

E' parte delle estensioni a WMS definite in SLD 1.0.
Serve per chiedere al server di creare una mappa con uno stile definito
dall'utente (e contenuto nell'SLD puntato da sld=..., che dovrebbe
essere un URL accessibile anche dal server, ma a seconda del
server può essere anche un altro file locale).
Con GeoServer funziona, con MapServer non ho idea francamente.

Ciao
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.

--
~~~~~~~~~~~~~~~~~
§ Andrea §
§ Peri §
~~~~~~~~~~~~~~~~~

Andrea Peri ha scritto:

Grazie per la informazione.

Nelle specifiche 1.3.0,
invece, il parametro style,
serve per indicare il rendering da usarsi da una lista di rendering
predefiniti (stylenames).

Anche nella 1.1.1

Nel suo caso pero' optando per le specifiche 1.1.1 su cui i ricordi
sono piu' vaghi, potrebbe corrispondere al parametro SLD ?

No, sono due parametri separati, che possono essere usati anche in
congiunzione (styles può pescare dall'sld riferito per nome, questo
modo viene chiamato "library mode"). E ripeto, &sld=... non è parte delle specifiche WMS, ma delle estensioni SLD 1.0 a WMS (e anche
nelle SLD 1.1):
http://www.opengeospatial.org/standards/sld

Ciao
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.

Andrea Aime ha scritto:

Andrea Peri ha scritto:

Innanzi tutto

Nella prima chiamata usi
SLD=
che non e' un parametro WMS (almeno non mi risulta esserlo).

E' parte delle estensioni a WMS definite in SLD 1.0.
Serve per chiedere al server di creare una mappa con uno stile definito
dall'utente (e contenuto nell'SLD puntato da sld=..., che dovrebbe
essere un URL accessibile anche dal server, ma a seconda del
server può essere anche un altro file locale).
Con GeoServer funziona, con MapServer non ho idea francamente.

Tempo fa io l'ho usato anche con Mapserver e funzionava (versione 4.8\4.10)!
In pratica avevo un cascade WFS->WMS e poi richiamavo l'SLD in append alla richiesta GetMap.
MapServer funzionava in modo tale da scaricare prima tutte le features e poi le tematizzava per cui se hai dei filtri nell'SLD questi vengono applicati solo dopo aver ricevuto il dato.

Ciao

--
Fabio D'Ovidio
Geospatial solutions

INOVA s.r.l.
Web : http://www.inovaos.it
Tel.: 081 197 57 600
mail: fabiodovidio@gmail.com

Fabio D'Ovidio ha scritto:
...

Tempo fa io l'ho usato anche con Mapserver e funzionava (versione 4.8\4.10)!
In pratica avevo un cascade WFS->WMS e poi richiamavo l'SLD in append alla richiesta GetMap.
MapServer funzionava in modo tale da scaricare prima tutte le features e poi le tematizzava per cui se hai dei filtri nell'SLD questi vengono applicati solo dopo aver ricevuto il dato.

Si, è il modo normale in cui opera MapServer, prima carica tutti i
dati su cui deve lavorare in memoria, poi esegue il rendering o l'encoding.

Ciao
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.

Andrea Aime ha scritto:

Fabio D'Ovidio ha scritto:
...

Tempo fa io l'ho usato anche con Mapserver e funzionava (versione 4.8\4.10)!
In pratica avevo un cascade WFS->WMS e poi richiamavo l'SLD in append alla richiesta GetMap.
MapServer funzionava in modo tale da scaricare prima tutte le features e poi le tematizzava per cui se hai dei filtri nell'SLD questi vengono applicati solo dopo aver ricevuto il dato.

Si, è il modo normale in cui opera MapServer, prima carica tutti i
dati su cui deve lavorare in memoria, poi esegue il rendering o l'encoding.

Ciao Andrea,
quindi GeoServer usa l'SLD in modo diverso gisuto? Se ho dei filtri per la tematizzazione (ad esempio, non mostrare le features che hanno ID < 1000) GeoServer scarica solo quelle che deve tematizzare....
Non ho avuto ancora modo di testarlo sulle nuove versioni...cosa che però farò a breve :slight_smile:

--
Fabio D'Ovidio
Geospatial solutions

INOVA s.r.l.
Web : http://www.inovaos.it
Tel.: 081 197 57 600
mail: fabiodovidio@gmail.com

rieccomi,
forse non mi sono spiegato bene o non ho capito i vostri suggerimenti, ma
sono all'inizio sia con mapserver che con geotools.

Andrea Peri wrote:

nella seconda chiamata che effettui :

ma la mappa ritornata è praticamente quella iniziale, senza aver lo stile

applicato ....

questo è url per la chiamata wms:
http://localhost:81/cgi-bin/mapserv.exe?SERVICE=WMS&LAYERS=comuni&FORMAT=image/png&TRANSPARENT=TRUE&HEIGHT=540&BGCOLOR=0xFFFFFF&MAP=/ms4w/Apache/htdocs
/wms/test.map&REQUEST=GetMap&WIDTH=600&BBOX=1463370.0,4959815.0,1683168.0,5155066.0&STYLES=&SRS=EPSG:3003&VERSION=1.1.1

usi STYLE=
ma lo passi vuoto.
Secondo me nella url dovresti proprio togliere il parametro "STYLE="
perche' ce lo metterebbe geotools.

questa è la url che mi ritorna geotools quando gli chiedo la mappa, non la
scrivo io... e quindi il parametro STYLE è uno solo (quello vuoto) al
momento della richiesta della mappa.
ho provato a settare io lo style (con il codice che ho postato nel primo
messaggio) leggendelo dall'xml, ma nella url ritorna sempre quello di
default.

come posso fare a "modificare/settare" lo sld attraverso geotools? o mi devo
creare direttamente io la url dal mio codice?
Volevo chiedervi anche un'altra cosa che non mi è chiara (scusate la mia
confusione): che differenza c'è tra STYLE e SLD. In pratica fanno entrambi
il rendering dei layer o no? per effettuare la tematizzazione, quale dei due
mi conviene usare? grazie a tutti voi per le risposte precedenti e buon
inizio di settimana.
ciao
peppe
--
View this message in context: http://www.nabble.com/style-layer-tp20625295p20657402.html
Sent from the Gfoss mailing list archive at Nabble.com.

Fabio D'Ovidio ha scritto:

Andrea Aime ha scritto:

Fabio D'Ovidio ha scritto:
...

Tempo fa io l'ho usato anche con Mapserver e funzionava (versione 4.8\4.10)!
In pratica avevo un cascade WFS->WMS e poi richiamavo l'SLD in append alla richiesta GetMap.
MapServer funzionava in modo tale da scaricare prima tutte le features e poi le tematizzava per cui se hai dei filtri nell'SLD questi vengono applicati solo dopo aver ricevuto il dato.

Si, è il modo normale in cui opera MapServer, prima carica tutti i
dati su cui deve lavorare in memoria, poi esegue il rendering o l'encoding.

Ciao Andrea,
quindi GeoServer usa l'SLD in modo diverso gisuto? Se ho dei filtri per la tematizzazione (ad esempio, non mostrare le features che hanno ID < 1000) GeoServer scarica solo quelle che deve tematizzare....

Esatto, prende tutti i filtri definiti per la tematizzazione e li fonde
in una query unica (se non sono troppi, in caso contrario rinuncia
a usare i filtri per evitare di creare query troppo grandi che farebbero
andare in crash alcuni database commerciali) per fare un solo
accesso a db.

La differenza però non sta solo li, MapServer carica in memoria
preventivamente quello su cui deve lavorare, per cui se i dati sono
tanti (tantissimi) ci vuole un sacco di memoria. GeoServer ha
di certo una baseline più grande (occupa più memoria a riposo) ma
effettua il rendering mentre carica, quindi alla fine richiede
meno RAM per effettuare rendering con tantissime features.

Ciao
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.