[Gfoss] ancora wms

Salve a tutti.
Sono tornato ad occuparmi (e a scontrarmi) con il mio progettino Openlayer. Ho un layer postgis che voglio pubblicare via wms su una mappa openlayer. Credo di aver configurato correttamente il .map di mapserver, infatti la richiesta fatta "a mano" dal browser e fatta da un client gis (qgis) funziona perfettamente e vengono estratti tutti gli attributi. Tuttavia quando la getfeatureinfo la faccio via javascript, l'evento click viene praticamente ignorato, firebug non da nessun errore e in pratica non succede niente (ma il layer viene correttamente caricato). Ho seguito l'esempio http://openlayers.org/dev/examples/getfeatureinfo-popup.html.

Il pezzo di codice "incrimanto" è il seguente:

OpenLayers.ProxyHost = "/usr/lib/cgi-bin/proxy.cgi?url=";

     info = new OpenLayers.Control.WMSGetFeatureInfo({
         url: 'http://localhost/cgi-bin/mapserv?map=/var/www/pmapper-4.0/config/florawms/pmapper_florawms.map’,
         title: 'Identify features by clicking',
                 layers: 'bioitaly',
         queryVisible: 'true',
         infoFormat:'text/plain',
         eventListeners: {
                 getfeatureinfo: function(event) {
                     map.addPopup(new OpenLayers.Popup.FramedCloud(
                         "chicken",
                         map.getLonLatFromPixel(event.xy),
                         null,
                         event.text,
                         null,
                         true
                     ));
                 }
             }
     })

     map.addControl(info);
     info.activate();

Il resto funziona tutto. Siccoma il lato server "dovrebbe" essere a posto immgino che l'errore sia o nella richesta o nel proxy. Il proxy l'ho modificato e ho aggiunto 'localhost:80', localhost:8080'.

Mi rimetto (ancora una volta) nelle mani della comunty.

ciao francesco
hai messo localhost nella lista degli "allowed host" sul file di proxy?

ciao

Il giorno gio, 25/11/2010 alle 10.37 +0100, Francesco Geri ha scritto:

Salve a tutti.
Sono tornato ad occuparmi (e a scontrarmi) con il mio progettino
Openlayer. Ho un layer postgis che voglio pubblicare via wms su una
mappa openlayer. Credo di aver configurato correttamente il .map di
mapserver, infatti la richiesta fatta "a mano" dal browser e fatta da un
client gis (qgis) funziona perfettamente e vengono estratti tutti gli
attributi. Tuttavia quando la getfeatureinfo la faccio via javascript,
l'evento click viene praticamente ignorato, firebug non da nessun errore
e in pratica non succede niente (ma il layer viene correttamente
caricato). Ho seguito l'esempio
http://openlayers.org/dev/examples/getfeatureinfo-popup.html.

Il pezzo di codice "incrimanto" è il seguente:

OpenLayers.ProxyHost = "/usr/lib/cgi-bin/proxy.cgi?url=";

     info = new OpenLayers.Control.WMSGetFeatureInfo({
         url:
'http://localhost/cgi-bin/mapserv?map=/var/www/pmapper-4.0/config/florawms/pmapper_florawms.map’,
         title: 'Identify features by clicking',
                 layers: 'bioitaly',
         queryVisible: 'true',
         infoFormat:'text/plain',
         eventListeners: {
                 getfeatureinfo: function(event) {
                     map.addPopup(new OpenLayers.Popup.FramedCloud(
                         "chicken",
                         map.getLonLatFromPixel(event.xy),
                         null,
                         event.text,
                         null,
                         true
                     ));
                 }
             }
     })

     map.addControl(info);
     info.activate();

Il resto funziona tutto. Siccoma il lato server "dovrebbe" essere a
posto immgino che l'errore sia o nella richesta o nel proxy. Il proxy
l'ho modificato e ho aggiunto 'localhost:80', localhost:8080'.

Mi rimetto (ancora una volta) nelle mani della comunty.
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
485 iscritti al 20.11.2010

--
Ti prego di cercare di non inviarmi files .dwg, .doc, .xls, .ppt.
Preferisco formati liberi.
Please try to avoid to send me .dwg, .doc, .xls, .ppt files.
I prefer free formats.
http://it.wikipedia.org/wiki/Formato_aperto
http://en.wikipedia.org/wiki/Open_format

Ivan Marchesini
Perugia (Italy)
Socio fondatore GFOSS "Geospatial Free and Open Source Software" http://www.gfoss.it
e-mail: marchesini@unipg.it
        ivan.marchesini@gmail.com
fax (home): +39(0)5782830887
jabber: geoivan73@jabber.org
skype: geoivan73

si.
Ho messo localhost. Ora sto lavorando tutto su localhost. In pratica dentro /var/www c’è una cartella cgi-bin con dentro il proxy.cgi e mapserv. In localhost c’è anche il file html con lo script .js e poi una cartella /www/script con openlayer.js. La richiesta fatta via browser funziona bene…mi risponde bene
GetFeatureInfo results:

Layer ‘bioitaly_v’
Feature 121:
gid = ‘121’
AREA = ‘51409500’
PERIMETER = ‘44463.1’
BIOITALY_ = ‘119’
BIOITALY_I = ‘154’
SIC = ‘27’
CODSIC = ‘IT5120019’
DESCSIC = ‘Monte Pisano’

idem con il client gis

Ciao
la richiesta getfeatureinfo fatta con http o con client non passa per il
proxy
ma va direttamente a mapserver
quindi è abbastanza corretto che funzioni

scusa la domanda:
ma il cgi-bin sta dentro /var/www ?
in precedenza era così ma nella mia ubuntu da un po' di tempo la
cartella cgi-bin sta dentro /usr/lib e li la cerca apache2...

ciao

Il giorno gio, 25/11/2010 alle 15.41 +0100, Francesco Geri ha scritto:

si.
Ho messo localhost. Ora sto lavorando tutto su localhost. In pratica
dentro /var/www c'è una cartella cgi-bin con dentro il proxy.cgi e
mapserv. In localhost c'è anche il file html con lo script .js e poi
una cartella /www/script con openlayer.js. La richiesta fatta via
browser funziona bene...mi risponde bene
GetFeatureInfo results:

Layer 'bioitaly_v'
Feature 121:
  gid = '121'
  AREA = '51409500'
  PERIMETER = '44463.1'
  BIOITALY_ = '119'
  BIOITALY_I = '154'
  SIC = '27'
  CODSIC = 'IT5120019'
  DESCSIC = 'Monte Pisano'
...
idem con il client gis

Il 25/11/2010 14:22, ivan marchesini ha scritto:
> ciao francesco
> hai messo localhost nella lista degli "allowed host" sul file di proxy?
>
> ciao
>
>
>
> Il giorno gio, 25/11/2010 alle 10.37 +0100, Francesco Geri ha scritto:
>
> > Salve a tutti.
> > Sono tornato ad occuparmi (e a scontrarmi) con il mio progettino
> > Openlayer. Ho un layer postgis che voglio pubblicare via wms su una
> > mappa openlayer. Credo di aver configurato correttamente il .map di
> > mapserver, infatti la richiesta fatta "a mano" dal browser e fatta da un
> > client gis (qgis) funziona perfettamente e vengono estratti tutti gli
> > attributi. Tuttavia quando la getfeatureinfo la faccio via javascript,
> > l'evento click viene praticamente ignorato, firebug non da nessun errore
> > e in pratica non succede niente (ma il layer viene correttamente
> > caricato). Ho seguito l'esempio
> > http://openlayers.org/dev/examples/getfeatureinfo-popup.html.
> >
> > Il pezzo di codice "incrimanto" è il seguente:
> >
> > OpenLayers.ProxyHost = "/usr/lib/cgi-bin/proxy.cgi?url=";
> >
> > info = new OpenLayers.Control.WMSGetFeatureInfo({
> > url:
> > 'http://localhost/cgi-bin/mapserv?map=/var/www/pmapper-4.0/config/florawms/pmapper_florawms.map’,
> > title: 'Identify features by clicking',
> > layers: 'bioitaly',
> > queryVisible: 'true',
> > infoFormat:'text/plain',
> > eventListeners: {
> > getfeatureinfo: function(event) {
> > map.addPopup(new OpenLayers.Popup.FramedCloud(
> > "chicken",
> > map.getLonLatFromPixel(event.xy),
> > null,
> > event.text,
> > null,
> > true
> > ));
> > }
> > }
> > })
> >
> > map.addControl(info);
> > info.activate();
> >
> > Il resto funziona tutto. Siccoma il lato server "dovrebbe" essere a
> > posto immgino che l'errore sia o nella richesta o nel proxy. Il proxy
> > l'ho modificato e ho aggiunto 'localhost:80', localhost:8080'.
> >
> > Mi rimetto (ancora una volta) nelle mani della comunty.
> > _______________________________________________
> > Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
> > Gfoss@lists.gfoss.it
> > http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> > Questa e' una lista di discussione pubblica aperta a tutti.
> > Non inviate messaggi commerciali.
> > I messaggi di questa lista non rispecchiano necessariamente
> > le posizioni dell'Associazione GFOSS.it.
> > 485 iscritti al 20.11.2010
> >

--
Ti prego di cercare di non inviarmi files .dwg, .doc, .xls, .ppt.
Preferisco formati liberi.
Please try to avoid to send me .dwg, .doc, .xls, .ppt files.
I prefer free formats.
http://it.wikipedia.org/wiki/Formato_aperto
http://en.wikipedia.org/wiki/Open_format

Ivan Marchesini
Perugia (Italy)
Socio fondatore GFOSS "Geospatial Free and Open Source Software" http://www.gfoss.it
e-mail: marchesini@unipg.it
        ivan.marchesini@gmail.com
fax (home): +39(0)5782830887
jabber: geoivan73@jabber.org
skype: geoivan73

Ciao.
Ho risolto. Incredibile ma vero! In pratica il proxy va messo nel server, e quindi nel mio caso (localhost) in una cartella dentro /www. E nella WMSGetFeatureInfo (nonostante tutti gli esempi che avevo visto) il nome del layer da caricare rappresenta la variabile che è stata dichiarata come servizio wms da caricare. Ad esempio io avevo dichiarato
wms=new OpenLayers.Layer.WMS("bioitaly_v",
           'http://localhost/cgi-bin/mapserv?map=/var/www/pmapper-4.0/config/florawms/pmapper_florawms.map’,
                 {
                     layers: 'bioitaly_v',
                     ecc. ecc.

e nella WMSGetFeatureInfo il layer non è bioitaly_v ma [wms] tra parentesi quadre.
Grazie a tutti per lo sbattimento.

Francesco

Il 25/11/2010 21:29, ivan marchesini ha scritto:

Ciao
la richiesta getfeatureinfo fatta con http o con client non passa per il
proxy
ma va direttamente a mapserver
quindi è abbastanza corretto che funzioni

scusa la domanda:
ma il cgi-bin sta dentro /var/www ?
in precedenza era così ma nella mia ubuntu da un po' di tempo la
cartella cgi-bin sta dentro /usr/lib e li la cerca apache2...

ciao

Il giorno gio, 25/11/2010 alle 15.41 +0100, Francesco Geri ha scritto:
   

si.
Ho messo localhost. Ora sto lavorando tutto su localhost. In pratica
dentro /var/www c'è una cartella cgi-bin con dentro il proxy.cgi e
mapserv. In localhost c'è anche il file html con lo script .js e poi
una cartella /www/script con openlayer.js. La richiesta fatta via
browser funziona bene...mi risponde bene
GetFeatureInfo results:

Layer 'bioitaly_v'
Feature 121:
   gid = '121'
   AREA = '51409500'
   PERIMETER = '44463.1'
   BIOITALY_ = '119'
   BIOITALY_I = '154'
   SIC = '27'
   CODSIC = 'IT5120019'
   DESCSIC = 'Monte Pisano'
...
idem con il client gis

Il 25/11/2010 14:22, ivan marchesini ha scritto:
     

ciao francesco
hai messo localhost nella lista degli "allowed host" sul file di proxy?

ciao

Il giorno gio, 25/11/2010 alle 10.37 +0100, Francesco Geri ha scritto:

Salve a tutti.
Sono tornato ad occuparmi (e a scontrarmi) con il mio progettino
Openlayer. Ho un layer postgis che voglio pubblicare via wms su una
mappa openlayer. Credo di aver configurato correttamente il .map di
mapserver, infatti la richiesta fatta "a mano" dal browser e fatta da un
client gis (qgis) funziona perfettamente e vengono estratti tutti gli
attributi. Tuttavia quando la getfeatureinfo la faccio via javascript,
l'evento click viene praticamente ignorato, firebug non da nessun errore
e in pratica non succede niente (ma il layer viene correttamente
caricato). Ho seguito l'esempio
http://openlayers.org/dev/examples/getfeatureinfo-popup.html.

Il pezzo di codice "incrimanto" è il seguente:

OpenLayers.ProxyHost = "/usr/lib/cgi-bin/proxy.cgi?url=";

      info = new OpenLayers.Control.WMSGetFeatureInfo({
          url:
'http://localhost/cgi-bin/mapserv?map=/var/www/pmapper-4.0/config/florawms/pmapper_florawms.map’,
          title: 'Identify features by clicking',
                  layers: 'bioitaly',
          queryVisible: 'true',
          infoFormat:'text/plain',
          eventListeners: {
                  getfeatureinfo: function(event) {
                      map.addPopup(new OpenLayers.Popup.FramedCloud(
                          "chicken",
                          map.getLonLatFromPixel(event.xy),
                          null,
                          event.text,
                          null,
                          true
                      ));
                  }
              }
      })

      map.addControl(info);
      info.activate();

Il resto funziona tutto. Siccoma il lato server "dovrebbe" essere a
posto immgino che l'errore sia o nella richesta o nel proxy. Il proxy
l'ho modificato e ho aggiunto 'localhost:80', localhost:8080'.

Mi rimetto (ancora una volta) nelle mani della comunty.
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
485 iscritti al 20.11.2010