@vicentecalfo/aqui-tem-mata-api-wrapper
Este pacote visa facilitar a busca de informações de desmatamento da Mata Atlântica através dos recursos da API do projeto "Aqui Tem Mata?".
O projeto Aqui tem Mata? é um aplicativo para busca de informações sobre a existência de áreas remanescentes de Mata Atlântica no país. Para saber mais, clique aqui.
Instalação
npm install @vicentecalfo/aqui-tem-mata-api-wrapper --save
Utilização
import { AquiTemMataApi } from '@vicentecalfo/aqui-tem-mata-api-wrapper';
const aquiTemMataApi = new AquiTemMataApi();
// Busca município
aquiTemMataApi
.municipio('duque de caxias')
.subscribe(
(data) => console.log(data.body),
(error) => console.log(error)
);
// Busca por área de mata
aquiTemMataApi
.areaDeMata(
{ municipio: 'Duque de Caxias', uf: 'RJ' }
)
.subscribe(
(data) => console.log(data.body),
(error) => console.log(error)
);
Resultado das consultas acima
Observe que o resultado de fato está na propriedade rows
. Esta estrutura será a mesma para todos os endpoints.
// Resultado para consulta de município
{
"rows": [{
"municipio": "Duque de Caxias",
"uf": "RJ"
}],
"time": 0.016,
"fields": {
"municipio": {
"type": "string",
"pgtype": "text"
},
"uf": {
"type": "string",
"pgtype": "text"
}
},
"total_rows": 1
}
// Resultado para consulta de área de mata
{
"rows": [{
"area_verde_total_km2": 162.07575612574,
"area_verde_total_ha": 16207.575612574,
"municipio_na_lei_ma_porcentagem": 1.00000000016057
}],
"time": 0.005,
"fields": {
"area_verde_total_km2": {
"type": "number",
"pgtype": "float8"
},
"area_verde_total_ha": {
"type": "number",
"pgtype": "float8"
},
"municipio_na_lei_ma_porcentagem": {
"type": "number",
"pgtype": "float8"
}
},
"total_rows": 1
}
Métodos Disponíveis
Todos os métodos podem receber um parâmetro adicional para as requisições HTTP (reqOptions
). Para verificar todas as opções clique aqui.
Os métodos retornam uma observable
, no entanto você pode usar promises
também. Clique aqui para ver o exemplo.
Exemplos
Observable
import { AquiTemMataApi } from '@vicentecalfo/aqui-tem-mata-api-wrapper';
const aquiTemMataApi = new AquiTemMataApi();
aquiTemMataApi
.taxaDesmatamentoAnual(
2018,
2019,
{ json:true } // Faz o parse automático para JSON
)
.subscribe(
(data) => console.log(data.body),
(error) => console.log(error)
);
Promise
import { AquiTemMataApi } from '@vicentecalfo/aqui-tem-mata-api-wrapper';
const aquiTemMataApi = new AquiTemMataApi();
aquiTemMataApi
.UCs(municipio, {json: true})
.toPromise()
.then((data) => console.log(data.body))
.catch((error) => console.log(error));
Codificação de Texto
Até o momento somente o endpoint (método) bacia hidro
, apresentou problemas de codificação (encode). Para resolver o problema você pode usar o método convertTexto
. Para maiores informações ver métodos disponíveis.
Considerações gerais
- Esta não é uma ferramenta oficial do projeto "Aqui tem Mata?";
- Não esqueça de ler os termos de uso do "Aqui tem Mata?".