<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 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 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 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 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 href="tel:%2B39%200584%20962313" value="+390584962313" target="_blank">+39 0584
                      962313</a></div>
                  <div>fax: <a href="tel:%2B39%200584%201660272" value="+3905841660272" target="_blank">+39 0584
                      1660272</a></div>
                  <div>mob: <a href="tel:%2B39%20%C2%A0339%208844549" value="+393398844549" target="_blank">+39  339
                      8844549</a></div>
                  <div><br>
                  </div>
                  <div><a href="http://www.geo-solutions.it" target="_blank">http://www.geo-solutions.it</a></div>
                  <div><a 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 href="http://www.padido.eu" target="_blank">www.padido.eu</a><br>
        chat: <a href="mailto:padido@jabber.org" target="_blank">padido@jabber.org</a>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      </div></div><div class="im"><pre>_______________________________________________
<a href="mailto:Gfoss@lists.gfoss.it" target="_blank">Gfoss@lists.gfoss.it</a>
<a 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 href="mailto:Gfoss@lists.gfoss.it">Gfoss@lists.gfoss.it</a><br>
<a 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 href="http://www.padido.eu" target="_blank">www.padido.eu</a><br>chat: <a href="mailto:padido@jabber.org" target="_blank">padido@jabber.org</a>
</div>