WFS GetFeature – restrição no número de registros e número total de registros de uma camada

Ao publicar grandes volumes de dados via GeoServiços algumas restrições devem ser consideradas principalmente quando os recursos computacionais são escassos.

Neste sentido, existem algumas opções que nos permitem aplicar estas restrições e uma delas diz respeito ao número máximo de Features, ou de maneira mais simples, linhas na tabela entregue como resultado para cada consulta GetFeature ao serviço WFS (versão 2.0.0).

Na plataforma TerraBrasilis o número máximo de registros entregues em cada requisição está restrita a 100.000 linhas. Note que este número pode mudar e portanto você deve esperar que ele mude em algum momento no futuro. Assim sendo, a primeira dica é, consulte o valor real no documento de capacidades do serviço, fazendo a requisição GetCapabilities e procurando pelo parâmetro “CountDefault” no resultado, como se vê na figura 1.

http://terrabrasilis.dpi.inpe.br/geoserver/ows?service=wfs&version=2.0.0&request=GetCapabilities
Figura 1 – Número máximo de linhas de resultado

Outro número importante é a quantidade real de registros existentes na camada. Note que este número é diferente da restrição mencionada acima, podendo ser inferior ou superior. Em um paralelo com bancos de dados, o resultado que estamos procurando é a resposta para a seguinte query: “SELECT COUNT(*) FROM tabela”.

Para obter este valor usando uma consulta WFS, usamos o parâmetro opcional “resultType” em uma requisição GetFeature.

http://terrabrasilis.dpi.inpe.br/geoserver/wfs?SERVICE=WFS&REQUEST=GetFeature&VERSION=1.1.0&TYPENAME=prodes-cerrado:prodes_cerrado_2000_2018_uf_mun&resulttype=hits

O número esperado é entregue como valor do atributo “numberOfFeatures“, como visto na figura 2.

figura 2 – Número total de registros na camada