[Gfoss] identify su mapserver: mapfile

ho bisogno nuovamente del vostro aiuto!
sto creando il mapfile da utilizzare con mapserver, e dovrei configurare un layer (shapefile), di tipo vettoriale, per poi effettuare un identify. ho provato a impostare i metadati per effettuare l'identify. In formato gml sono riuscito a far funzionare tutto, ma non capisco come fare a impostare gli altri formati di output ( xml, html, text ). In questo esempio, anche se imposto come output xml, utilizzando la libreria geotools, vedo che mapserver ritorna i dati o sotto forma di text/plain o gml, come faccio a specificare gli altri formati e c'è un modo per dire solamente quale campi voglio che mi restituiscano un valore?

Il risultato ottenuto da questo esempio in formato text è del tipo: "Layer 'provincie' Feature 6:" dove il 6 è il primo campo dello shp (FID). come faccio a impostare quale campi voglio far visualizzare?

Per effettuare un'identify è necassario specificare un template? Perchè mi sono accorto che se non aggiungo il template al mapfile non posso effettuare l'identify.
il mio template è questo:
<html>
  <head><title>Sample Template</title></head>
  <body>
    <li> item 1 is [NOME]
    <li> and item 2 is [COD]
  </body>
</html>

i miei metadati nel mapfile relativo al layer
METADATA
      'wms_title' 'provincie'
      'wms_srs' 'EPSG:3003'
      'legendicon' 'images/legend/test.png'
      'wms feature info mime type' 'xml/plain'

      #tutti i campi dello shp
      #'gml_include_items' 'all'
       #specificare solo i campi che si vuol far vedere
       'gml_include_items' 'NOME,COD'
    END

Visto che ci sono vi chiedo un ultima cosa: per effettuare l'identify uso la libreria geotools e in particolare la classe GetFeatureInfoResponse, ma questa mi ritorna un file. Esiste qualche altra classe/metodo, che mi ritorna qualcosa del tipo nomeCampo/valore ?

grazie in anticipo.
ciao
Peppe

Se non sbaglio txt e gml sono abilitati: ovviamente le tue richieste
wms devono avere i corretti tag INFO_FORMAT, che sono text/plain e
application/vnd.ogc.gml.

Per html devi usare INFO_FORMAT: "text/html e preparare i template
della richiesta:
questo va nei metaati di servizio
# we support GetFeatureInfo text/html queries
# you NEED query headers, footers, and body templates
"wms_feature_info_mime_type" "text/html"

e per ogni layer specifichi il template
HEADER ../templates/ST01TE01CL04PLG_query_header.html
TEMPLATE ../templates/ST01TE01CL04PLG_query_body.html

All'interno di un singolo layer poi gestisci quali attributi escludere
per gml e wms
"gml_include_items" "all"
"gml_exclude_items" "OBJECTID,ENABLED,Shape"
"wms_include_items" "all"
"wms_exclude_items" "OBJECTID,ENABLED,Shape"

qui cmq è tutto spiegato nel dettaglio:
http://ms-ogc-workshop.maptools.org/

Diego Guidi

On Tue, Jul 22, 2008 at 11:43, Giuseppe Campagna
<giuseppecampagna@hotmail.com> wrote:

ho bisogno nuovamente del vostro aiuto!
sto creando il mapfile da utilizzare con mapserver, e dovrei configurare un
layer (shapefile), di tipo vettoriale, per poi effettuare un identify. ho
provato a impostare i metadati per effettuare l'identify. In formato gml
sono riuscito a far funzionare tutto, ma non capisco come fare a impostare
gli altri formati di output ( xml, html, text ). In questo esempio, anche se
imposto come output xml, utilizzando la libreria geotools, vedo che
mapserver ritorna i dati o sotto forma di text/plain o gml, come faccio a
specificare gli altri formati e c'è un modo per dire solamente quale campi
voglio che mi restituiscano un valore?

Il risultato ottenuto da questo esempio in formato text è del tipo: "Layer
'provincie' Feature 6:" dove il 6 è il primo campo dello shp (FID). come
faccio a impostare quale campi voglio far visualizzare?

Per effettuare un'identify è necassario specificare un template? Perchè mi
sono accorto che se non aggiungo il template al mapfile non posso effettuare
l'identify.
il mio template è questo:
<html>
<head><title>Sample Template</title></head>
<body>
  <li> item 1 is [NOME]
  <li> and item 2 is [COD]
</body>
</html>

i miei metadati nel mapfile relativo al layer
METADATA
    'wms_title' 'provincie'
    'wms_srs' 'EPSG:3003'
    'legendicon' 'images/legend/test.png'
    'wms feature info mime type' 'xml/plain'

    #tutti i campi dello shp
    #'gml_include_items' 'all'
     #specificare solo i campi che si vuol far vedere
     'gml_include_items' 'NOME,COD'
  END

Visto che ci sono vi chiedo un ultima cosa: per effettuare l'identify uso la
libreria geotools e in particolare la classe GetFeatureInfoResponse, ma
questa mi ritorna un file. Esiste qualche altra classe/metodo, che mi
ritorna qualcosa del tipo nomeCampo/valore ?

grazie in anticipo.
ciao
Peppe

_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@faunalia.com
http://www.faunalia.com/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.