OSMBrasil / stable

Cópia filtrada segura e estável de dados oficiais do Brasil representados no OSM
Other
13 stars 5 forks source link

Inclusão de itens relevantes #15

Open ppKrauss opened 6 years ago

ppKrauss commented 6 years ago

A partir dos municípios-amostra pode-se eleger os tipos de geometria que serão submetidos ao "backup stable". Critérios obtidos por análise das contagens:

Os itens serão armazenados cada qual no seu arquivo GeoJSON, de modo que a nomenclatura das pastas e dos arquivos precisa ser controlada. Resumo:

Contagens de elementos interiores

Seleção de geometrias "inside", inteiramente contidas dentro dos limites do município.

São Paulo, stable.vw_sampa_test_report01

osm_type tagtype n n_wikidata n_name
r boundary 104 99 104
r multipolygon 12.693 31 369
r route 553 23 541
w building 12 1 1
w site 2 0 2
w 1.597.580 548 83.042

Demais cidades do conjunto-teste, stable.vw_city_test_report01:

osm_type tagtype n n_wikidata n_name
r boundary 138 15 138
r multipolygon 369 12 89
r route 149 1 143
w busway 4 0 4
w sewage 2 0 0
w water 1 0 1
w 132.178 92 28.294

SQLs:

CREATE or replace VIEW stable.vw_city_test_report01 AS
  WITH t AS (
    SELECT DISTINCT 'Cidades' escopo, osm_id
     FROM stable.city_test_inside
     WHERE city_id != stable.getcity_rels_id('SP/SaoPaulo')
    UNION
    SELECT 'Sampa' escopo, osm_id
     FROM stable.city_test_inside
     WHERE city_id=stable.getcity_rels_id('SP/SaoPaulo')
  )
  SELECT t.escopo, 'r' as osm_type, tags->>'type' as tagtype
    ,count(*) num
    ,count(*) FILTER(WHERE tags?'wikidata') AS num_wikidata
    ,count(*) FILTER(WHERE tags?'name') AS num_name
  FROM planet_osm_rels INNER JOIN t ON t.osm_id=-id
  group by 1,2,3
  UNION
  SELECT t.escopo, 'w' as osm_type, tags->>'type' as tagtype
    ,count(*) n
    ,count(*) FILTER(WHERE tags?'wikidata') AS n_wikidata
    ,count(*) FILTER(WHERE tags?'name') AS n_name
  FROM planet_osm_ways INNER JOIN t ON t.osm_id=id
  group by 1,2,3

  ORDER BY 1,2,3,4
;
ppKrauss commented 4 years ago

Revisando:

  1. Conforme definido no escopo desta primeria fase (ver README root) publicaremos apenas:
    pontos de endereçamento, designando ponto de interesse com dados de endereço postal;
    linhas relativas a vias que potencialmente apoiam endereçamento ou descrevam equipamentos sociais (portanto todas as roads incluindo ferrovias porém ainda não hidrovias); e
    polígonos dos municípios (menor jurisdição).

  2. As tags serão utilizadas como filtro e classificador de grupo (juntando varias geometrias num só arquivo de GeoJSON).

  3. O prefixo de Geohash será utilizado como classificador de grupo, e garantindo uma referência textual de proximidade entre endereços e suas roads

  4. O prefixo de ref será utilizado como classificador de grupo nas roads estaduais e municipais.
    PS: é um tanto experimental, depende estritamente do que for convencionado "inside" e "outside" do município. Convém fazer isso primeiro apenas no estado PR. Cabe também rastrear todos os trechos de mesma ref, e por fim verificar o impacto sobre endereços, pois trechos municipais são rebatizados para nomes.

A seguir a sugestão final de convenções.


Convenções de filtragem adotadas

Além da restrição primária do item 1 acima, as tags permitem as seguintes filtragens e agrupamentos, conforme o tipo.

Filtragem de pontos:

Filtragem de roads:

Filtragem de polygon de município: tags IBGE, boundary, etc. auditadas e em conformidade com http://datasets.ok.org.br/city-codes.

Convenções para nome de arquivo