Skip to content

Commit

Permalink
issue #20, itens (rev docs) 2 e 3 (pasta data)
Browse files Browse the repository at this point in the history
  • Loading branch information
ppKrauss committed Feb 23, 2020
1 parent d3dee22 commit 7ffbc8b
Show file tree
Hide file tree
Showing 19 changed files with 35 additions and 6 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ Para auditoria ou reprodução passo-a-passo do processamento em base de dados S
ver pasta [**src**](src/README.md#software-de-gestão-do-repositório-stable-br). Para justificativas de decisões de projeto,
ver [Rationale.md](docs/Rationale.md).

Para verificar um exemplo de dados estáveis, ver por exemplo [PR-Curitiba](PR-Curitiba).
Para verificar um exemplo de dados estáveis, ver por exemplo [data/PR/Curitiba](data/PR/Curitiba).
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
23 changes: 23 additions & 0 deletions docs/Conventions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Convenções adotadas

Neste documento são descritas as convenções adotadas no projeto.

## Referência estável
Ver https://github.com/OSMBrasil/stable/blob/master/brazil-latest.osm.md

## Nomes de banco de dados

Convenções para nomes e papeis nos bancos de dados. O **Projeto OSM-Stable-BR** demanda a utilização de infraestrutura [PostgreSQL](https://en.wikipedia.org/wiki/PostgreSQL), [PostGIS](https://en.wikipedia.org/wiki/PostGIS) e [PostgREST](http://postgrest.org/en/v6.0/), onde poderá, eventualmente, conviver com outros projetos OSM-Stable (no _namespace_ adota-se o prefixo `osms`). Além disso, do ponto de vista metodológico, é requerido certo grau de encapsulamento.

Tendo isso em vista, os nomes de bases (utilizados em `CREATE DATABASE nome_de_uma_base`) precisam ser controlados, respeitando-se as seguintes regras, finalidades e justificativas:

Banco | Descrição | Justificativa
------|-----------|------
**`osms0_lake`**|Repositório tipo "lake" de [preparo dos dados](https://en.wikipedia.org/wiki/Data_preparation) (ingestão, transformação e validação automática). Pode conter diversos países.|Faz papel de [Data Lake](https://en.wikipedia.org/wiki/Data_lake) para dados brutos (modelo legado) e seu preparo.
**`osms1_testing`**|Repositório rigorosamente organizado, apenas com dados selecionados. Fase *testing*, para estabilização ("quarentena") e validação humana. Requer performance e modelo dados fixado pela projeto OSM-Stable.|Faz papel "testing distribution", ou seja, permite que auditores avaliem os dados novos a tempo de fazer correções. Quando quando houver mais de um país, fará também papel de [Data Warehouse](https://en.wikipedia.org/wiki/Data_warehouse). <br/>O código "1" auxilia na manutenção e, quando preservado, na semântica de códigos (ex. porta PostgREST `3101`).
**`osms2_stable`**|Idem base `osm2_testing`, porém correspondendo à **fase de produção**. Todos os dados foram homologados, aceitos como "estáveis e qualificados".|Requer isolamento. <br/>O código "2" auxilia na manutenção e, quando preservado, na semântica de códigos (ex. porta PostgREST `3102`).

Não existem padrões muito rigoros no OSM, e diversas convenções, principalmente no que se refere às tags, podem variar de país para país. As ferramentas, tais como _OSMose_ e _Osm2pgsql_ são muito flexíveis tornando sua configuração complexa. Além disso algumas delas são conservadoras, não permitindo a adoção de tecnologias "modernas". A _Osm2pgsql_ por exemplo [se recusa a dar a opção JSONb](https://github.com/openstreetmap/osm2pgsql/issues/672).

No Projeto OSM-Stable adota-se a filosofia [*"Convention over configuration"*](https://en.wikipedia.org/wiki/Convention_over_configuration), e um modelo dados baseado em _Osm2pgsql_ e representações JSONb controladas. As funções de exportação de dados do OSM-Stable, para seu repositório *git*, também são padronizadas. Foram adotados os formatos GeoJSON para geometrias e formato CSV para dados cadastrais, com representação de ponto Geohash.

File renamed without changes.
8 changes: 8 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
## DOCUMENTAÇÃO
Documentação do *Projeto OSM-Brasil Stable*. Em construção. Documentos disponíveis:

* [HowTo export City GeoJSON](HowTo-cityGeoJSON.md)
* [Justificativas para as decisões de projeto tomadas](Rationale.md)
* Convenções adotadas (ex. nomes de bases de dados e nomes de tabelas).


8 changes: 3 additions & 5 deletions src/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,14 @@ tendo como principais na sua infraestrutura PostgreSQL, PostGIS, Osm2pgsql ([ref
Para usar todos os scrits desta pasta, sugere-se iniciar pelo *git clone* do repositório.
Os scripts bash [prepare01-1.sh](prepare01-1.sh) e [prepare01-2.sh](prepare01-2.sh) devem rodar em sequência.

HowTo-cityGeoJSON.md prepare01-1.sh prepare02-1-libPub.sql prepare02-3-lib.sql prepare03-loadDatasetsOnce.sql
README.md prepare01-2.sh prepare02-2-danger.sql prepare02-lib-StableFuncsOriginal.sql prepare04-danger.sql

O software SQL necessário é instalado a partir de [prepare02-1-libPub.sql](prepare02-1-libPub.sql),
tomandose o cuidado de não rodar mais do que uma vez arquivos sufixo "danger" ou "Once", `prepare*-danger.sql`.

## Tutorial passo-a-passo
Passo a passo para fazer carga ou manutenção do *git OSM-Stable-BR*.
Ver também [manuais de apoio na seção de Referências](#Referências). Para outros elementos passo-a-passo ou exemplos,
ver arquivos de HowTo: [HowTo cityGeoJSON](HowTo-cityGeoJSON.md) descreve como extrair o GeoJSON de um município.
Ver também [manuais de apoio na seção de Referências](#Referências), e índice dos [docs](../docs/README.md).
Para outros elementos passo-a-passo ou exemplos,
ver documentação de HowTo: [docs/HowTo cityGeoJSON](../docs/HowTo-cityGeoJSON.md) descreve como extrair o GeoJSON de um município.

### Preâmbulos
A carga inicial do arquivo `brazil-latest.osm` desejado pode ser reproduzida utilizado os metadados e instruções
Expand Down

0 comments on commit 7ffbc8b

Please sign in to comment.