Versão de trabalho para a equipe do projeto · dados preliminares, não citar
Catálogo de bases
As bases de dados secundárias mapeadas pelo projeto — o que já foi extraído, onde ver no site e o que vem depois
catalogo =FileAttachment("gerado/catalogo.json").json()SITUACOES = [ {cod:"ingerida",rotulo:"Extraída e tratada",nota:"baixada, tratada e documentada pelo projeto"}, {cod:"verificada",rotulo:"Verificada",nota:"endereço, versão e cobertura conferidos"}, {cod:"catalogada",rotulo:"Catalogada",nota:"sabemos que existe; falta conferir"}, {cod:"a_solicitar",rotulo:"A solicitar",nota:"só por pedido (LAI, sala restrita, parceiros)"}, {cod:"baixa_utilidade",rotulo:"Baixa utilidade",nota:"avaliada e descartada, com o porquê"}]selo = s =>html`<span class="selo selo-${s.cod?? s}">${s.rotulo?? SITUACOES.find(x => x.cod=== s)?.rotulo}</span>`
html`<div class="faixa-situacoes">${SITUACOES.map(s => {const n = catalogo.filter(d => d.status_cod=== s.cod).length;const b =html`<button class="chip-situacao selo-${s.cod}" title="${s.nota}"><strong>${n}</strong> ${s.rotulo}</button>`; b.onclick= () => { const el = viewof situacao; el.value= s.rotulo; el.dispatchEvent(newEvent("input", {bubbles:true}));document.querySelector("#explorar")?.scrollIntoView({behavior:"smooth"}); };return b;})}<a class="chip-situacao chip-csv" href="gerado/catalogo.csv" download>↓ baixar o catálogo (CSV)</a></div>`
Já extraídas — e onde ver no site
Estas bases já foram baixadas, tratadas e documentadas. Cada cartão leva aos mapas e gráficos que as usam (os links abrem o mapa já no indicador certo) e à ficha completa, com como a base foi obtida e tratada.
html`<div class="cartoes-bases">${catalogo.filter(d => d.status_cod==="ingerida").map(d =>html`<div class="cartao-base"> <div class="topo"><a class="nome" href="${d.pagina}">${d.nome}</a><small>${d.instituicao}${d.versao?" · "+ d.versao:""}</small></div>${d.no_site.length?html`<ul>${d.no_site.slice(0,4).map(v =>html`<li><a href="${v.href}">${v.titulo}</a></li>`)}${d.no_site.length>4?html`<li><a href="${d.pagina}#onde-ver">e mais ${d.no_site.length-4}…</a></li>`:""}</ul>`:html`<p class="sem-vista">Usada nos cálculos (ver a ficha); sem mapa próprio no site.</p>`} <a class="ficha" href="${d.pagina}">ficha completa →</a></div>`)}</div>`
Explorar o catálogo
viewof busca = Inputs.search(catalogo, {placeholder:"nome, instituição, variável…",label:"Buscar",format: n =>`${n} base${n ===1?"":"s"}`})viewof situacao = Inputs.select(["Todas",...SITUACOES.map(s => s.rotulo)], {label:"Situação"})viewof nivel = Inputs.select(["Todos",...Array.from(newSet(catalogo.flatMap(d => d.nivel))).sort()], {label:"Nível de análise"})viewof tema = Inputs.select(["Todos",...Array.from(newSet(catalogo.map(d => d.tema))).sort()], {label:"Tema"})viewof acesso = Inputs.select(["Todos",...Array.from(newSet(catalogo.map(d => d.acesso))).sort()], {label:"Acesso"})viewof agro = Inputs.select(["Todas","Sim","Em parte","Não"], {label:"Identifica agroextrativismo?"})viewof prioridade = Inputs.select(["Todas","Máxima","Crítica","Alta","Média","Baixa"], {label:"Prioridade"})viewof soSite = Inputs.toggle({label:"Só as que aparecem no site"})
Situação:extraída e tratada (baixada, tratada e documentada), verificada (endereço, versão e cobertura conferidos), catalogada (sabemos que existe), a solicitar (só por pedido) ou baixa utilidade (avaliada e descartada). Nível de análise: a menor unidade em que o dado é publicado.
Inputs.table(filtrado, {columns: ["nome","tema","nivel","periodo","status","agroextrativismo","no_site"],header: {nome:"Base",tema:"Tema",nivel:"Nível de análise",periodo:"Período",status:"Situação",agroextrativismo:"Agroextr.?",no_site:"No site"},format: {nome: (n, i, dados) =>html`<div class="cel"><a href="${dados[i].pagina}">${n}</a><br><small>${dados[i].instituicao} · ${dados[i].acesso}</small></div>`,nivel: v =>html`<div class="cel">${v.join(", ") ||"—"}</div>`,periodo: v =>html`<div class="cel">${v ||"—"}</div>`,status: (s, i, dados) =>selo(dados[i].status_cod),no_site: (v, i, dados) => v.length?html`<a href="${dados[i].pagina}#onde-ver">${v.length} vista${v.length>1?"s":""}</a>`:"—" },width: {nome:360,tema:110,nivel:150,periodo:150,status:130,agroextrativismo:80,no_site:80},rows:Math.max(filtrado.length,1) +1,select:false,layout:"fixed"})
O catálogo é mantido no repositório do projeto (dados-secundarios/fontes/, um arquivo por base, com as fichas técnicas em dados-secundarios/fichas/) e validado automaticamente; esta página é gerada a partir dele.