okfn-brasil / mosaico

Visualization on the brazilian budget for FGV
GNU Affero General Public License v3.0
5 stars 0 forks source link

Orbital graph (Bubble) + Navigation #23

Open ltartari opened 11 years ago

ltartari commented 11 years ago

Depends on grouping of Funções in less categories.

ltartari commented 11 years ago

…and heres the grouping. Kudos Dr. Brown! :+1:

PROPOSTA DE CLASSIFICAÇÃO DE FUNÇÕES POR GRUPO

A) Funcionamento do Estado I - Poderes do Estado e Cidadania 01 - LEGISLATIVA 02 - JUDICIARIA 03 - ESSENCIAL A JUSTICA

II - Defesa, Justiça e Cidadania 05 - DEFESA NACIONAL 06 - SEGURANCA PUBLICA 07 - RELACOES EXTERIORES 14 - DIREITOS DA CIDADANIA

III - Administração 04 - ADMINISTRACAO

IV - Operações e Encargos Especiais 28 - ENCARGOS ESPECIAIS 99 - RESERVA DE CONTINGENCIA 98 - ATIPICA 00 - PT DE RP SEM CORRELACAO NA NOVA FUNCIONAL PROGRAMATICA

B) Políticas Sociais e Formação V - Seguridade Social 08 - ASSISTENCIA SOCIAL 09 - PREVIDENCIA SOCIAL 11 - TRABALHO 10 - SAUDE

VI - Formação Humana 12 - EDUCACAO 13 - CULTURA 27 - DESPORTO E LAZER 19 - CIENCIA E TECNOLOGIA

C) Infraestrutura e Economia VII - Infraestrutura Urbana 15 - URBANISMO 16 - HABITACAO 17 - SANEAMENTO

VIII - Infraestrutura Econômica 24 - COMUNICACOES 25 - ENERGIA 26 - TRANSPORTE 18 - GESTAO AMBIENTAL

IX - Desenvolvimento Economico 20 - AGRICULTURA 21 - ORGANIZACAO AGRARIA 22 - INDUSTRIA 23 - COMERCIO E SERVICOS

trickvi commented 11 years ago

How is this represented by the data?

vitorbaptista commented 11 years ago

@ltartari's comments shows the FUNCOES grouping. There're many Funcoes (more than 20), so we need to group them before creating the graph.

The basic idea is to create a bubble graph with these groupings (they might be in another dataset on OpenSpending, or a CSV file somewhere, or even add a DB (which will be hard, given that we don't have the infrastructure yet)). There's quite a bit of data, so it won't be possible to load all the data in a single bubbletree.

There's also navigation to change the years

trickvi commented 11 years ago

Are you going to group after getting the data from OpenSpending or are you going to group in OpenSpending? If you're grouping in OpenSpending then this isn't such a big problem right? It's just the same functionality as a bubbletree with cofog classification.

vitorbaptista commented 11 years ago

Yeah, it might be better to add another column in the data with this new classification. So this part is probably @everton137's job.

The biggest concern is that there's too much data to show in a single bubblegraph, so we'll need a strategy to only load whatever the current drilldown needs to be drawn.

In the treemap's case, it wasn't a big deal. We simply load a new treemap with whatever drilldown we need whenever the user clicks on a tile. For the user, it looks the same as if we loaded everything at once. But the bubbles are different. If we did the same, we would loose the bubble's animations.

I'm not sure if I made myself clear. The problem we have to solve is, basically, how to show a bubble graph considering we have ~30 MB of data in all drilldowns. We can't load it all at once, so we need to somehow load on demand whatever the user wants. Have you done something similar already?

trickvi commented 11 years ago

This also isn't too many bubbles for the bubbletree. I see 3 bubbles for level 1. At most 4 bubbles for level 2, and at most 4 bubbles for level 3.

Using the aggregation framework can't result in 30MB of data can it? I would think that would be quite difficult to achieve with the amount of bubbles you have.

everton137 commented 11 years ago

(basic question, answer when you have time)

@tryggvib , @vitorbaptista what is the aggregation framework?

trickvi commented 11 years ago

@everton137 The aggregation framework is how you get data out of OpenSpending. You put in a dataset and then you can use OpenSpending to do calculations for you via calls to our API. This would aggregate (sum up the amounts) for different classifications or recipients or whatever you ask it to. Basically summing things up for you in the dataset so you don't have to (doing the analysis for you).

It would actually be better to just call this the aggregation API or simply the API.

everton137 commented 11 years ago

Thanks, @tryggvib.