<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">In mapserver ci sono due o tre modi
differenti di generare un GML.<br>
Uno di essi ti consente di personalizzarlo quansi in ogni
dettaglio.<br>
Ma quello che uso io e che è quello su cui abbiamo fatto fare la
perosnalizzazione di qgis è il seguente:<br>
<br>
Definisci un output format con un elemento come questo qui:<br>
<br>
 OUTPUTFORMAT<br>
   NAME "OGRGML"<br>
   MIMETYPE "text/gml"  <<<---- attenzione a
questo valore qui<br>
   DRIVER "OGR/GML"<br>
   FORMATOPTION "STORAGE=filesystem"<br>
   FORMATOPTION "FORM=multipart"<br>
 END<br>
<br>
(notare il settaggio FORM=multipart)<br>
<br>
La sezione sovrastante dice a mapserver che a fronte di un formato
richiesto di tipo "text/gml" lui deve fornire una risposta GML
facendola generare a gdal/ogr.<br>
<br>
E' il tipo di GML migliore. E' il medesimo generato da Geoserver e
usa i costrutti del GML 3.1.1. per cui è molto buono.<br>
E comunque qgis lo riconosce . :)<br>
Inoltre pensa gdal/ogr a generare l'xsd e a inserirlo nella
risposta multipart.<br>
<br>
Poi aggiungi un tag di mimetype.<br>
<br>
     "wms_feature_info_mime_type"
"text/gml,text/html,text/plain"<br>
<br>
fai caso che ci scrivo "text/gml"Â ed e' il medesimo valore che
ho inserito in mimetype.<br>
<br>
se definivo <br>
<br>
   MIMETYPE "text/pippo"  <<<---- attenzione a
questo valore qui<br>
<br>
allora avrei dovuto scrivere<br>
<br>
     "wms_feature_info_mime_type"
"text/pippo,text/html,text/plain"<br>
<br>
per chiedere al server wms di ritornare il GML devi mettere nella
request , nel campo output_format il valore "text/pippo".<br>
<br>
QGIS è settato per riconoscere sicuramente il codice "text/gml",
e forse anche il codice "ogr/gml"<br>
<br>
Il settaggio <br>
     "wms_feature_info_mime_type"
"text/pippo,text/html,text/plain"<br>
Lo puoi inserire in due posti:<br>
<br>
Se vuoi che tutti i layer forniscano il GML lo metti nella parte
globale.<br>
<br>
Altrimenti lo inserisci nella sezione dello specifico layer che
deve fornire il GML.<br>
<br>
Ovviamente ricordati di attivare la risposta GetFeatureInfo.<br>
con <br>
"wms_enable_request" "GetFeatureInfo"<br>
o con l'equivalente<br>
ows_enable_request<br>
<br>
sono legati a costruire n template<br>
Saluti,<br>
<br>
Andrea.<br>
<br>
On 28/05/2013 11:40, Pasquale Di Donato wrote:<br>
</div>
<blockquote
cite="mid:CAJA5qQJ-7HXwKzteAKX8=wfWUzuoa6Cvou-JfjJv1JiihBrrag@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>
<div>@AndreaPeri grazie mille per il tuo contributo.<br>
Ascolta ho visto tuoi post in vari forum a proposito di una
questione che mi sto ponendo attualmente anche io.<br>
</div>
Come faccio a tirare fuori da MapServer con una richiesta
GetFeatureInfo un GML valido rispetto ad uno specifico
Application Schema?<br>
<br>
</div>
Grazie ancora,<br>
Pasquale<br>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">Il giorno 24 maggio 2013 20:22,
aperi2007 <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:aperi2007@gmail.com" target="_blank">aperi2007@gmail.com</a>></span>
ha scritto:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div class="im">
<div>On 24/05/2013 17:16, Pasquale Di Donato wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>
<div>Non credo alle mie orecchie.<br>
<br>
</div>
Non avevo mai intuito questa possibilità leggendo
la specifica WMS, </div>
</div>
</blockquote>
<br>
<br>
</div>
La specifica 1.3.0 prevede che la risposta a una richesta
(facoltativa) GetFeatureInfo possa avere piu' formati.<br>
Non elenca quali formati devono essere supportait.<br>
 A memoria mi pare di ricordare che indichi come
obbligatoria una risposta text/plain e la text/html. Pero'
ho controllato le specifiche e non ho trovato traccia di
questo dettagio.<br>
Per cui direi che è obbligatorio che il server abbia
almeno un formato (il che ' tautologico) di risposta se
conosc la richiesta GetFeatureInfo, ma non una specifica.<br>
<br>
Il client wms deve interrogare il server wms tramite il
getcapabilities e nella sezione dedicata a GetFeatureInfo
torva la risposta a quali formati quel server support.<br>
Questo è la risposta presente a m' di esempio nelle
specifiche wms 1.3.0<br>
<br>
<GetFeatureInfo><br>
<Format>text/xml</Format><br>
<Format>text/plain</Format><br>
<Format>text/html</Format><br>
<br>
Tieni presente che non è neanche scontatoche ci sia ,
perche' la specifica wms 1.3.0 indica la capacita' di
rispondere a GetFeatureInfo come facoltativa.<br>
Per cui il server potrebbe non rispondere proprio a
niente.<br>
<br>
Comunque in questo caso teorico tratto dalle specifiche
wms 1.3.0 il server supprota la richiesta GetFeatureInfo e
risponde con 3 possibili formati:<br>
 text/plain, text/html e text/xml.
<div class="im"><br>
<br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div>dove è scritto che il server restituisce le
info sulla feature incontrata nel punto XY
specificato nella richiesta, che ho sempre inteso
come attributi e non come geometria.<br>
</div>
<div>Comuqnue, la geometria di cosa viene
restituita? Della feature incontrata nel punto XY?<br>
</div>
</div>
</blockquote>
<br>
</div>
Trae in inganno il fatto che il sevrer wms nella richiesta
getfeatureinfo chiede il bbox.<br>
In realt'a ritorna tutto cio' che sta' nel punto che hai
clicckto.<br>
Infatti devi passargli anche le coordinate immagine (in
pixel) del punto clicckato coordinate immagine riferite al
bbox geografico che indichi e alla risoluzione con cuiÂ
lavori (qui gioca il default e un eventuale parametro che
aumenta o abbassa la risoluzione).<br>
<br>
Nel punto clicckat il server puo' trovare una geometria o
ce ne puo' trovare N sovrapposte.<br>
In questo caso ti ritornera' tutte quante o una sola o una
parte di esse, in base al valore che gli hai dato nel
parametro "featurecount". Il default è una , la top.
<div class="im"><br>
<br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div>Qualcuno mi ha detto che con una GetFeatureInfo
possono ottenere tutte le feature (geometria +
attributi) in un BBOX.<br>
<br>
</div>
</div>
</blockquote>
<br>
</div>
come dicevo hanno equivocato il significato del bbox.
<div class="im"><br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div>Altra domanda: la possibilitä di ottenere la
geometria è resa possibile dalla specifica OGC o
è da considerarsi una funzionalitÃ
veondor-specific?<br>
<br>
</div>
</div>
</blockquote>
<br>
</div>
come dicevo la specifica dice che se supporti la
getFeatureInfo devi avere ovviamente un formato.<br>
<br>
Qui entra in ballo un disguido (come tanti ce ne sono )
nelle specifiche ogc.<br>
La getfeatureinfo deve ritornare le feature nei loro
attributi.<br>
Se si considera la geometria un attributo allora la
ritorna , se invece il server wms in questione considera
che la geometria non è un attributo, ma un qualcosa di
altro, potrebbe non ritornarla.<br>
A che vedo io salvo qualche vecchia verisone di server wms
commerciale, credo che tutti ritornino la geometria.<br>
Se la risposta è text/plain la geometria sara una lista
di vertici in un testo piatto (un wkt ad esempio).<br>
se è unn GML allora la geometria ha il suo spazio nella
definizione del GML.<br>
<br>
Tieni presente che quando si parl di formati ci puo' stare
di tutto.<br>
In mapserver ad esempio.<br>
tr ai formati possibili è presente anche lo zip con
dentro uno shapefile.<br>
E in tal caso (ho fatto delle prove proprio qualche
settimana fa') se lo configuri e lo invochi
opportunamente,<br>
ti ritorna uno zip con dentro uno shapefile con dentro
tutte le geometrie incontrate in quel punto.<br>
<br>
Nei modi in cui questa risposta si sviluppa poi ci possono
essere differenze sostanziali.<br>
Tra le piu' problematiche vi è sicuramente la risposta in
GML.<br>
perche' nel gml è presente l'header con la parte di
validazione.<br>
<br>
Li' purtroppo le strade si dividono in tanti sentierini.<br>
Io ne conosco due distinte:<br>
quella di Geoserver e quella di Mapserver.<br>
<br>
Geoserver ha al suo interno un server wfs e quindi dispone
delle chiamate DescribeFeatureType.<br>
Per questo se fai una chiamata GetFeatureInfo al
componente wms di geoserver lui ti risponde un GML , in
cui come url per raggingere lo schema xsd di validazione
del gml stesso ti ci mette una invocazione
DescribeFeatureType al suo componente WFS.<br>
<br>
Mapserver , in cui il compoenente WFS è assente o puo'
essere assente, non puo' fare una chiamata a un
describefeaturetype.<br>
D'altronde la specifica GML non prevede altra soluzione
che la messa a disposizione di un xsd da reperire a parte.<br>
Per questo nel Mapserver il GML viene ritornato con una
risposta http multipart. Si tratta di una risposta http in
cui ci sono piu' pacchetti che arrivano sequenzialmente
nella medesima risposta.<br>
Nella risposta multipart di mapserver, prima ti manda lo
schema xsd relativo e poi ti invia il GML su cui tale
schema xsd si applica.<br>
Un approccio tencicamente pregevole.<br>
<br>
La risposta multipart di mapserver non puo' non piacermi.
:) 18 anni fa' usai proprio la risposta http multipart per
realizzare una CGI che permetteva animazioni in jpeg su un
browser netscape 1.0.<br>
<br>
come RT puntiamo molto su questa capacita' di un server
wms di veicolare le geometrie .<br>
Per questo abbiamo finanziato la capacita' su qgis di
intendere le geometrie ritornate da mapserver in
multipart, nonche' nel nuovo sistema Tolomeo che ci sta
realizzando il Comune di Prato e che grazie a questa
capacita' di accedere alle geometrie sul wms senza
stuzzicare il WFS ci ha permesso di realizzare dei webgis
distributii.<br>
<br>
<br>
<br>
<blockquote type="cite">
<div>
<div class="h5">
<div class="gmail_extra"> <br>
<br>
<div class="gmail_quote">Il giorno 24 maggio 2013
17:09, Andrea Aime <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:andrea.aime@geo-solutions.it"
target="_blank">andrea.aime@geo-solutions.it</a>></span>
ha scritto:<br>
<blockquote class="gmail_quote" style="margin:0
0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div dir="ltr">
<div>2013/5/24 Pasquale Di Donato <span
dir="ltr"><<a moz-do-not-send="true"
href="mailto:pasquale.didonato@gmail.com" target="_blank">pasquale.didonato@gmail.com</a>></span><br>
</div>
<div class="gmail_extra">
<div class="gmail_quote">
<div>
<blockquote class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div dir="ltr">
<div>E' possibile ottenere con un
richiesta WMS GetFeatureInfo la
geometria di una feature oltre
agli attributi?<br>
</div>
</div>
</blockquote>
<div><br>
</div>
</div>
<div>Se chiedi in GML GeoServer
restituisce la geometria di default
(anche se si può filtrare quali campi
si ottengono</div>
<div>aggiungendo
&propertyName=p1,p1,p3 alla
richiesta).</div>
<div><br>
</div>
<div>In generale, dipende dallo
specifico server WMS, la specifica non
dice che cosa ritornare</div>
<div><br>
</div>
<div> Ciao</div>
<div>Andrea</div>
<div>Â </div>
</div>
<div><br>
</div>
-- <br>
<div dir="ltr">
<div>==</div>
<div>GeoServer training in Milan, 6th
& 7th June 2013!  Visit <a
moz-do-not-send="true"
href="http://geoserver.geo-solutions.it/"
style="color:rgb(17,85,204)"
target="_blank">http://geoserver.geo-solutions.it</a>Â for
more information.<br>
==<br>
</div>
<div><br>
</div>
<div>Ing. Andrea Aime </div>
<div>@geowolf</div>
<div>Technical Lead</div>
<div><br>
</div>
<div>GeoSolutions S.A.S.</div>
<div>Via Poggio alle Viti 1187</div>
<div>55054 Â Massarosa (LU)</div>
<div>Italy</div>
<div>phone: <a moz-do-not-send="true"
href="tel:%2B39%200584%20962313"
value="+390584962313"
target="_blank">+39 0584 962313</a></div>
<div>fax: <a moz-do-not-send="true"
href="tel:%2B39%200584%201660272"
value="+3905841660272"
target="_blank">+39 0584 1660272</a></div>
<div>mob: <a moz-do-not-send="true"
href="tel:%2B39%20%C2%A0339%208844549"
value="+393398844549"
target="_blank">+39 Â 339 8844549</a></div>
<div><br>
</div>
<div><a moz-do-not-send="true"
href="http://www.geo-solutions.it"
target="_blank">http://www.geo-solutions.it</a></div>
<div><a moz-do-not-send="true"
href="http://twitter.com/geosolutions_it"
target="_blank">http://twitter.com/geosolutions_it</a></div>
<div><br>
</div>
<div>-------------------------------------------------------</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
Pasquale Di Donato<br>
web: Â <a moz-do-not-send="true"
href="http://www.padido.eu" target="_blank">www.padido.eu</a><br>
chat: <a moz-do-not-send="true"
href="mailto:padido@jabber.org" target="_blank">padido@jabber.org</a>
</div>
<br>
<fieldset></fieldset>
<br>
</div>
</div>
<div class="im">
<pre>_______________________________________________
<a moz-do-not-send="true" href="mailto:Gfoss@lists.gfoss.it" target="_blank">Gfoss@lists.gfoss.it</a>
<a moz-do-not-send="true" href="http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss" target="_blank">http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss</a>
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
638 iscritti al 28.2.2013</pre>
</div>
</blockquote>
<br>
</div>
<br>
_______________________________________________<br>
<a moz-do-not-send="true" href="mailto:Gfoss@lists.gfoss.it">Gfoss@lists.gfoss.it</a><br>
<a moz-do-not-send="true"
href="http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss"
target="_blank">http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss</a><br>
Questa e' una lista di discussione pubblica aperta a tutti.<br>
I messaggi di questa lista non hanno relazione diretta con
le posizioni dell'Associazione GFOSS.it.<br>
638 iscritti al 28.2.2013<br>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
Pasquale Di Donato<br>
web: Â <a moz-do-not-send="true" href="http://www.padido.eu"
target="_blank">www.padido.eu</a><br>
chat: <a moz-do-not-send="true" href="mailto:padido@jabber.org"
target="_blank">padido@jabber.org</a> </div>
</blockquote>
<br>
</body>
</html>