Prezados leitores,

Provavelmente é de seu conhecimento que podemos filtrar o resultado de uma consulta WFS (registros) através do CQL Filter. Porém, caso você não tenha conhecimento existe uma outra forma de filtrar seus dados em uma requisição WFS.

Imagine que você possui uma view no seu banco de dados, e ela está configurada como uma camada no seu GeoServer. Esta view possui 23 colunas, porém você só precisa utilizar 3 colunas. Você acha que tem necessidade de você ficar trazendo informações de 20 colunas que você não vai utilizar em cada requisição WFS?

A resposta é não. Você pode utilizar o parâmetro PropertyName na sua requisição WFS e informar o nome das colunas que você realmente necessita. Veja como:

https://localhost:8080/geoserver/wfs?request=GetFeature&service=WFS&version=1.0.0&typeName=topp:states&outputFormat=csv&PropertyName=(STATE_NAME,STATE_ABBR,WORKERS)

Com a requisição acima, recebemos apenas as colunas que realmente iremos utilizar, e com isso diminuímos o trafego de informações “desnecessárias” transitando na rede de dados e aumentamos a performance da nossa aplicação.

Se você for exportar as informações com o intuito de apresentá-las espacialmente (por exemplo no formato Shapefile), você tem que adicionar na sua lista o atributo de geometria. Veja:

https://localhost:8080/geoserver/wfs?request=GetFeature&service=WFS&version=1.0.0&typeName=topp:states&outputFormat=SHAPE-ZIP&PropertyName=(STATE_NAME,STATE_ABBR,WORKERS,the_geom)

Você pode assistir o conteúdo acima no YouTube: