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 sorteAbraçoLuís Calisto > Date: Fri, 19 Sep 2014 02:47:14 -0700 > From: [email protected] > To: [email protected] > 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 > [email protected] > http://lists.osgeo.org/mailman/listinfo/portugal
_______________________________________________ Portugal mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/portugal
