basedosdados / website

🖥 Website oficial da BD
http://basedosdados.org
24 stars 10 forks source link

Mudar `spatial_coverage` para uma árvore com metadados de entidade #217

Closed rdahis closed 2 years ago

rdahis commented 2 years ago

A fazer

Opções de desenho:

1. Usando spatial_coverage em árvore.

Exemplo

spatial_coverage_tree.json

spatial_coverage_tree = [
    {'entity': 'continent',
    'directory_column': {
      'dataset_id': 'br_bd_diretorios_mundo',
      'table_id': 'continente',
      'column_name': ''
    },
    'id': 'south_america',
    'coverage': [
      {'entity': 'country',
       'directory_column': {
         'dataset_id': 'br_bd_diretorios_mundo',
         'table_id': 'pais',
         'column_name': 'sigla_pais_iso3'
      },
      'id': 'bra',
      'coverage': [
        {'entity': 'state',
         'directory_column': {
           'dataset_id': 'br_bd_diretorios_brasil',
           'table_id': 'uf',
           'column_name': 'sigla_uf'
        },
        'id': 'AC',
        'coverage': [
          {'entity': 'municipality',
           'directory_column': {
             'dataset_id': 'br_bd_diretorios_brasil',
             'table_id': 'municipio',
             'column_name': 'id_municipio'
          },
          'id': '1100015',
          'coverage': [ ... district ... ]
                      { ... census_tract ... }
        ]}
      ]}
    ]},
    {'entity': 'continent',
     'directory_column': {
       'dataset_id': 'br_bd_diretorios_mundo',
       'table_id': 'continente',
       'column_name': ''
    },
    'id': 'north_america',
    'coverage': [
      {'entity': 'country',
       'directory_column': {
         'dataset_id': 'br_bd_diretorios_mundo',
         'table_id': 'pais',
         'column_name': 'sigla_pais_iso3'
      },
      'id': 'usa',
      'coverage': [
        {'entity': 'state',
         'directory_column': {
           'dataset_id': 'br_bd_diretorios_eua',
           'table_id': 'uf',
           'column_name': 'sigla_uf'
        },
        'id': 'NY',
        'coverage': [
          {'entity': 'county',
           'directory_column': {
             'dataset_id': 'br_bd_diretorios_eua',
             'table_id': 'condado',
             'column_name': 'id_condado'
          },
          'id': '1005',
          'coverage': [ ... district ... ]
                      { ... census_tract ... }
        ]}
      ]}
    ]}
]

Metadado no banco

Preencher de cima para baixo.

spatial_coverage = {}
spatial_coverage = {'continent': [{'id': 'south_america'}]}
spatial_coverage = {'continent': [{'id': 'south_america'}, {'id': 'north_america'}]}
spatial_coverage = {'continent': [{'id': 'north_america', coverage: [{'country': 'usa'}]}
spatial_coverage = {
  'continent': 'south_america',
  'coverage': [
    {'country': ['bra', 'chl']}
  ]
}

Features necessárias

rdahis commented 2 years ago

@d116626 seria legal você dar uma opinião de como desenhar esse campo e como fazer o backend e frontend interagirem.