[Portugal] WMSGetFeatureInfo OpenLayers/Geoserver

Hugo hfpmartins gmail.com
Segunda-Feira, 22 de Setembro de 2014 - 06:42:35 PDT


Olá Pedro,

Parece-me que estás a usar um store do ExtJS para depois populares a grid
que vem no popup do getfeaturinfo. Pelo que vejo na tua imagem, cada linha
da grid é um par valor-chave, ou seja, nome do campo e o seu respectivo
valor. Isto significa que na store da grid, cada record é um destes pares
chave-valor. Desse modo, uma maneira simples de o fazeres é  removeres os
records (da store) que não te interessam mostrar no popup. Consulta a
documentação do extjs para os datastores.

Espero que te ajude um pouco.

Abc,

No dia 22 de Setembro de 2014 às 14:32, Luis Calisto <
luis.calisto at hotmail.com> escreveu:

> Ola Pedro,
>
> Calculo que estejas a trabalhar com o openlayers 2 certo?
>
> Ora bem tu podes filtrar os campos tanto do lado do geoserver como do lado
> do openlayers. O ideal seria o Geoserver enviar apenas os campos que
> necessitas porque assim cada vez que existe um request o geoserver nao esta
> a enviar dados desnecessários para o cliente. Mas la esta depende dos
> dados, se for pouca coisa talvez ate seja melhor fazeres isto no lado do
> cliente.
>
> Para filtrares no openlayers (cliente), supondo que estas a trabalhar com
> openlayers 2 e que estejas a ver este exemplo:
> http://dev.openlayers.org/examples/getfeatureinfo-popup.html
>
> Deves estar a utilizar o WMSGetFeatureInfo, não te esqueças que aqui
> deves dizer quais as layers onde vais fazer request, caso nao digas nada
> ele vai fazer-te a todas as layers no mapa o que pode trazer depois mais
> informacao do que aquela que tu queres. Prosseguindo ... deves utilizar o eventListeners
> e aqui dentro o evento getfeatureinfo. No getfeatureinfo deves ter algo
> do genero:
>
>         info = new OpenLayers.Control.WMSGetFeatureInfo({
>             url: 'http://demo.opengeo.org/geoserver/wms',
>             title: 'Identify features by clicking',
>             layers: [layer1, layer2, layerx]
>             queryVisible: true,
>             eventListeners: {
>                 getfeatureinfo: function(event) {
>                       aqui estas a fazer coisas!
>                       experimenta fazer:
>                       console.log(event.text);
>                     ));
>                 }
>             }
>         });
>
> repara que a variável event tem a resposta em event.text e portanto tu
> podes filtrar/trabalhar esta string ou este texto normalmente como farias
> numa string ou entao como se fosse um json, dependento do formato em que o
> geoserver te envia os dados, este formato pode ser alterado no openlayers
> no WMSGetFeatureInfo com o parametro - infoFormat: 'text/plain' ou infoFormat:
> 'application/json' dependendo de como queres que a resposta venha.
>
> da uma vista de olhos em:
>
> http://dev.openlayers.org/docs/files/OpenLayers/Control/WMSGetFeatureInfo-js.html
>
> e em
>
> http://docs.geoserver.org/stable/en/user/services/wms/reference.html
>
>
> Boa sorte
> Abraço
> Luís Calisto
>
>
>
> > Date: Fri, 19 Sep 2014 02:47:14 -0700
> > From: henriques.pedro.mf at gmail.com
> > To: portugal at lists.osgeo.org
> > Subject: [Portugal] WMSGetFeatureInfo OpenLayers/Geoserver
>
> >
> > Boas,
> >
> > Precisava aqui de uma ajudinha :)
> > No desenvolvimento de aplicação websig usando as ferramentas
> > GeoServer+Openlayers+GeoExt encontro-me perante uma duvida relativa ao
> > control WMSGetFeatureInfo (até pode ser algo simples que me esteja a
> > escapar :-p).
> >
> > É possível filtrar os campos que aparecem no Popup depois de se fazer o
> > WMSGetFeatureInfo???
> > Na imagem em anexo, a título de exemplo são devolvidos todos os campos da
> > tabela de limite_municipio, e o objetivo seria aparecer só o campo
> > município e não todos.
> >
> > Se sim, é do lado o OpenLayers/GeoExt ou do lado do GeoServer?
> >
> > Em alternativa, posso criar uma Sql View no GeoServer e ai sim definir
> > quais os campos, mas em termos de performance tenho receio que seja
> > prejudicial.
> >
> > Desde já, obrigado :)
> >
> >
> > Cumprimentos,
> > Pedro Henriques
> >
> >
> > identify.png (648K) <
> http://osgeo-org.1560.x6.nabble.com/attachment/5162859/0/identify.png>
> >
> >
> >
> >
> > --
> > View this message in context:
> http://osgeo-org.1560.x6.nabble.com/WMSGetFeatureInfo-OpenLayers-Geoserver-tp5162859.html
> > Sent from the OSGeo Portuguese Local Chapter mailing list archive at
> Nabble.com.
> > _______________________________________________
> > Portugal mailing list
> > Portugal at lists.osgeo.org
> > http://lists.osgeo.org/mailman/listinfo/portugal
>
> _______________________________________________
> Portugal mailing list
> Portugal at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/portugal
>



-- 
Hugo Martins
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/portugal/attachments/20140922/f485523a/attachment.html>


More information about the Portugal mailing list