Skip to content

Commit

Permalink
issue #20, item 4 (install e manut no src)
Browse files Browse the repository at this point in the history
  • Loading branch information
ppKrauss committed Feb 23, 2020
1 parent 7ffbc8b commit 6cbfe2d
Show file tree
Hide file tree
Showing 11 changed files with 113 additions and 88 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Neste período estaremos discutindo tudo em https://github.com/OSMBrasil/stable

Para auditoria da origem dos dados ou ingestão de novos, ver [`brazil-latest.osm.md`](brazil-latest.osm.md#dump-opensstreetmap-do-brasil).
Para auditoria ou reprodução passo-a-passo do processamento em base de dados SQL,
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).
ver pasta [**src/install**](src/install/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 [data/PR/Curitiba](data/PR/Curitiba).
89 changes: 3 additions & 86 deletions src/README.md
Original file line number Diff line number Diff line change
@@ -1,89 +1,6 @@
## Software de gestão do repositório Stable-BR
O presente repositório, *git OSM-Stable-BR* (URL canônica [`git.openStreetMap.org.br/stable`](https://github.com/OSMBrasil/stable)),
tem sua origem no gerenciamento de dados realizado por diversos _softwares_,
tendo como principais na sua infraestrutura PostgreSQL, PostGIS, Osm2pgsql ([refs](#Referências)).
## Códigos-fonte do projeto OSM-Stable

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.
* [Manutenção](manut)
* [Instalação](install)

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), 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
de [brazil-latest.osm.md](../brazil-latest.osm.md).

Traga o clone deste repositório para a pasta de sua preferência, aqui supondo `/tmp/gits`, e os demais arquivos (principalmente o PBF)
para uma pasta temporária de sandbox, aqui supondo `/tmp/sandbox`.
A seguir todos os comandos de terminal partem da pasta *stable* clonada:

```bash
# after wget to /tmp/sandbox/brazil-latest.osm.pbf
# after copy/paste this script replacing the myPassword to the real password

psql postgres://postgres:myPassword@localhost -c "CREATE DATABASE osm_stable_br;"

cd /tmp/gits
git clone https://github.com/OSMBrasil/stable.git
cd stable
```

### Base de dados
Supondo o uso de `ssh` num servidor UBUNTU 18 LTS. Ao rodar o [prepare01-1.sh](prepare01-1.sh) você estará realizando aproximadamente

```sh
psql postgres://postgres:myPassword@localhost/osm_stable_br \
-c "CREATE EXTENSION IF NOT EXISTS hstore; CREATE EXTENSION IF NOT EXISTS postgis;"

osm2pgsql -E 4326 -c -d osm_stable_br -U postgres -W -H localhost --slim --hstore \
--extra-attributes --hstore-add-index --multi-geometry --number-processes 4 \
--style /usr/local/share/osm2pgsql/empty.style \
/tmp/sandbox/brazil-latest.osm.pbf &
```

Depois do comando `osm2pgsql` (e fornecer a senha quando o terminal solicitar) esperar *online* no terminal, pelo menos 10 minutos...
```
osm2pgsql version 0.96.0 (64 bit id space)
Password:
Using built-in tag processing pipeline
Using projection SRS 4326 (Latlong)
Setting up table: planet_osm_point
...
Setting up table: planet_osm_nodes
Setting up table: planet_osm_ways
Setting up table: planet_osm_rels
Reading in file: ...
Processing: Node(89942k 232.4k/s) Way(8335k 16.15k/s) Relation(1770 68.08/s) ...
```

Depois disso, se correu tudo bem, virá o anúncio *"Using 4 helper-processes"* o que significa que pode fechar o terminal que ele vai rodar em segundo plano (em *batch*). Termina com a seguinte mensagem:
```
Completed planet_osm_line
Creating indexes on planet_osm_polygon finished
All indexes on planet_osm_polygon created in 509s
Completed planet_osm_polygon
Stopped table: planet_osm_ways in 562s
Osm2pgsql took 2636s overall
```
O tempo 2636s equivale a 44 minutos.

-----

## Referências

* Osm2pgsql (v1) https://github.com/openstreetmap/osm2pgsql
* PostGIS (v2.5) https://en.wikipedia.org/wiki/PostGIS
* PostgreSQL (v12) https://en.wikipedia.org/wiki/PostgreSQL

Manuais de apoio sugeridos:
* https://www.mankier.com/1/osm2pgsql (2017)
* http://www.volkerschatz.com/net/osm/osm2pgsql-usage.html (year?)
* Outros: <br/>[question/13458](https://help.openstreetmap.org/questions/13458/does-planet_osm_roads-of-the-osm2pgsqlschema-contain-all-roads?page=1&focusedAnswerId=13460#13460) cita [antiga lista de tags do osm2pgsql](https://github.com/openstreetmap/osm2pgsql/blob/8bf4e4a9f6eafb4a4c31b6fb6be831983fefc8ce/output-pgsql.c#L90), etc.), que cita [outra parte do osm2pgsql](https://github.com/openstreetmap/osm2pgsql/blob/ed86d635cb0e54252881c766ede90a532e63dca0/output-pgsql.cpp#L125-L128); <br/>[issue 230 cita membros](https://github.com/openstreetmap/osm2pgsql/issues/230).
89 changes: 89 additions & 0 deletions src/install/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
## Software de gestão do repositório Stable-BR
O presente repositório, *git OSM-Stable-BR* (URL canônica [`git.openStreetMap.org.br/stable`](https://github.com/OSMBrasil/stable)),
tem sua origem no gerenciamento de dados realizado por diversos _softwares_,
tendo como principais na sua infraestrutura PostgreSQL, PostGIS, Osm2pgsql ([refs](#Referências)).

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.

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), 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
de [brazil-latest.osm.md](../brazil-latest.osm.md).

Traga o clone deste repositório para a pasta de sua preferência, aqui supondo `/tmp/gits`, e os demais arquivos (principalmente o PBF)
para uma pasta temporária de sandbox, aqui supondo `/tmp/sandbox`.
A seguir todos os comandos de terminal partem da pasta *stable* clonada:

```bash
# after wget to /tmp/sandbox/brazil-latest.osm.pbf
# after copy/paste this script replacing the myPassword to the real password

psql postgres://postgres:myPassword@localhost -c "CREATE DATABASE osm_stable_br;"

cd /tmp/gits
git clone https://github.com/OSMBrasil/stable.git
cd stable
```

### Base de dados
Supondo o uso de `ssh` num servidor UBUNTU 18 LTS. Ao rodar o [prepare01-1.sh](prepare01-1.sh) você estará realizando aproximadamente

```sh
psql postgres://postgres:myPassword@localhost/osm_stable_br \
-c "CREATE EXTENSION IF NOT EXISTS hstore; CREATE EXTENSION IF NOT EXISTS postgis;"

osm2pgsql -E 4326 -c -d osm_stable_br -U postgres -W -H localhost --slim --hstore \
--extra-attributes --hstore-add-index --multi-geometry --number-processes 4 \
--style /usr/local/share/osm2pgsql/empty.style \
/tmp/sandbox/brazil-latest.osm.pbf &
```

Depois do comando `osm2pgsql` (e fornecer a senha quando o terminal solicitar) esperar *online* no terminal, pelo menos 10 minutos...
```
osm2pgsql version 0.96.0 (64 bit id space)
Password:
Using built-in tag processing pipeline
Using projection SRS 4326 (Latlong)
Setting up table: planet_osm_point
...
Setting up table: planet_osm_nodes
Setting up table: planet_osm_ways
Setting up table: planet_osm_rels
Reading in file: ...
Processing: Node(89942k 232.4k/s) Way(8335k 16.15k/s) Relation(1770 68.08/s) ...
```

Depois disso, se correu tudo bem, virá o anúncio *"Using 4 helper-processes"* o que significa que pode fechar o terminal que ele vai rodar em segundo plano (em *batch*). Termina com a seguinte mensagem:
```
Completed planet_osm_line
Creating indexes on planet_osm_polygon finished
All indexes on planet_osm_polygon created in 509s
Completed planet_osm_polygon
Stopped table: planet_osm_ways in 562s
Osm2pgsql took 2636s overall
```
O tempo 2636s equivale a 44 minutos.

-----

## Referências

* Osm2pgsql (v1) https://github.com/openstreetmap/osm2pgsql
* PostGIS (v2.5) https://en.wikipedia.org/wiki/PostGIS
* PostgreSQL (v12) https://en.wikipedia.org/wiki/PostgreSQL

Manuais de apoio sugeridos:
* https://www.mankier.com/1/osm2pgsql (2017)
* http://www.volkerschatz.com/net/osm/osm2pgsql-usage.html (year?)
* Outros: <br/>[question/13458](https://help.openstreetmap.org/questions/13458/does-planet_osm_roads-of-the-osm2pgsqlschema-contain-all-roads?page=1&focusedAnswerId=13460#13460) cita [antiga lista de tags do osm2pgsql](https://github.com/openstreetmap/osm2pgsql/blob/8bf4e4a9f6eafb4a4c31b6fb6be831983fefc8ce/output-pgsql.c#L90), etc.), que cita [outra parte do osm2pgsql](https://github.com/openstreetmap/osm2pgsql/blob/ed86d635cb0e54252881c766ede90a532e63dca0/output-pgsql.cpp#L125-L128); <br/>[issue 230 cita membros](https://github.com/openstreetmap/osm2pgsql/issues/230).
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.
19 changes: 19 additions & 0 deletions src/manut/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## Software e metodologia para manutenção

No contexto de gestão, a manutenção do presente repositório,
*git OSM-Stable-BR* (URL canônica [`git.openStreetMap.org.br/stable`](https://github.com/OSMBrasil/stable)),
demanda operações de git e de banco de dados.

Na pasta `/src/manut` encontram-se apenas scripts de manutenção,
mas pode ser necessário consultar ou rodar algum script de instalação (`/src/install`).

## Transição de teste para stable

```sh
# após pg_dump -s br osms2_stable | gzip > /tmp/osms_stable-br-$date.sql.gz
psql _etc_ -c "DROP DATABASE osm_br_stable"
psql _etc_ -c "CREATE DATABASE osm_br_stable WITH TEMPLATE osm_br_testing"
```



0 comments on commit 6cbfe2d

Please sign in to comment.