Rio Olympics – Tutorial para Importação de Edificações

From OpenStreetMap Wiki
Jump to: navigation, search

Importação do material da Prefeitura do Rio: passo a passo

Documentação:



1. Baixar SHP do site da Prefeitura do Rio de Janeiro somente na área a ser trabalhada:

  • Cuidar para que a área selecionada fique no limite de cerca de 1MB para o .shp (para manter o limite de 50.000 objetos para upload no JOSM). Equivale a aproximadamente 50 quadras regulares (cerca de 5.000 polígonos de prédios).

A-RIO OLYMPICS-1.jpg A-RIO OLYMPICS-2.jpg



NO QGIS:

2. Abrir o .SHP no QGIS e converter CRS:

  • Salvar novamente como novo arquivo, convertendo o CRS (sistema de coordenadas) do original SAD69 para WGS84:EPSG 4326 como usado no OSM (imagem abaixo).
  • Eventualmente podem também ser filtrados no QGIS os prédios do material da prefeitura que estejam em conflito de intersecção com o existente no OSM (imagem ao lado: previamente baixados com overpass, em amarelo na imagem), removidos (em laranja na imagem) e salvos os sem conlfito (em verde na imagem) em novo arquivo .shp, para facilitar o trabalho no JOSM de verificação de conflitos externos.

A-RIO OLYMPICS-9.jpg A-RIO OLYMPICS-10.jpg


3. Converter os "campos" do original para TAGS do OSM (cf. imagem abaixo):

  • BASE(+4.37) para ele (contém a cota inferior da parte do prédio)
  • TOPO(+4.37) para top_ele (contém a cota de topo da parte do prédio)
  • ALTURA para height (contém a altura da parte do prédio)

Converter no QGIS os "valores" dos campos "BASE" e "TOPO", do sistema SAD69 para WGS84, adicionando a diferença de 4.37m:

  • Abrir a Tabela de Atributos, clicar no botão Field Calculator (Calculadora de Campos)
  • Marcar a opção "Atualizar campo existente"
  • Escrever na janela de expressão a fórmula: "BASE"+4.37 e executar.
  • Salvar o arquivo. (Imagem abaixo).

Repetir o mesmo procedimento para o campo TOPO.

Converter os nomes dos campos "BASE", "TOPO" e "ALTURA" (respetivamente para ele, top_ele e height ) usando o plugin "Table Manager" (ou eventualmente podem ser alterados posteriormente no JOSM).

Eliminar os demais campos (sem utilidade para o OSM).

A-RIO OLYMPICS-11.jpg


4. Caso se faça download de área maior no site da prefeitura, pode-se subdividir e reduzir no QGIS para vários arquivos SHP contendo máximo de 50.000 objetos para o OSM (cerca de 5.000 polígonos no QGIS). Usar a "seleção polígonal", seguindo os espaços das ruas ou vazios urbanos, cuidando para não cortar prédios. Copiar os selecionados e salvar em novo layer / SHP.

E assim fazer sucessivos pacotes no total do material.

Importar para o JOSM os pacotes de máximo 5.000 polígonos.

RIO OLYMPICS-9-subdivisao.jpg



NO JOSM:

5. Abrir o .SHP (previamente convertido para WGS84:EPSG 4326) no JOSM usando o plugin OpenData, e salvar como .osm.

IMPORTANTE: Cuidados prévios:

  • Confirmar previamente no QGIS a conversão do .shp para WGS84:EPSG 4326, caso contrário o deslocamento pode ser grande (cerca de 10m).
Na imagem abaixo, comparação entre material com conversão (azul) e sem conversão (vermelho) para WGS84:EPSG 4326:

A-RIO OLYMPICS-8.jpg


  • Evitar cortar prédios ao selecionar no site da prefeitura (imagem abaixo). Selecionar por ruas ou vazios urbanos para selecionar os prédios inteiros.

Verifique com a imagem se o prédio está realmente íntegro após abrir no JOSM. Caso contrário, descarte-o desta importação e faça download inteiro em outro momento.

A-RIO OLYMPICS-3.jpg


6. Alterar as tags do original para tags válidas no OSM:

  • Selecionar "somente" os multipolígonos (search type:relation) e adicionar a todos as tags building=yes "e" fixme=verificar relação entre membros do multipolígono;
  • Selecionar "somente" os ways que "não" pertencem a multipolígonos (search type:way; remover da seleção role:inner e role:outer) e adicionar tag building=yes;
  • Converter "somente" os nomes dos campos "BASE", "TOPO" e "ALTURA" (respetivamente para ele, top_ele e height )
  • Remover outras tags sem sentido ou utilidade para o OSM.

A-RIO OLYMPICS-4.jpg


7. Executar a validação interna e externa ao material.


Corrigindo conflitos internos e externos ao material

Imagem atualizada Mapbox (JOSM/iD):

TMS:

http://{switch:a,b,c}.tiles.mapbox.com/v4/openstreetmap.map-inh7ifmo/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJncjlmd0t3In0.DmZsIeOW-3x-C5eX-wAqTw

Conflitos internos

Passar o validador do JOSM nos dados, sem fazer download da área do OSM. Resolver conflitos internos:

A-RIO OLYMPICS-5.jpg


Erros

  • Building duplicated nodes: selecionar todos os com conflito, e resolver com fix (executará merge). Ou, adicionar layer=1,2,..., conforme camada.

Avisos

  • Intersection between multipoligon ways:

Examinar caso a caso. Se ambos em situação outer (ou compartilhando somente 2 ou 1 nó), copiar as tags do multipolígono para os ways membros e deletar o multipolígono a que pertencem os ways.

  • Building inside building:
  • Casos de partes de prédio em conflito (variam conforme o bairro): Adicionar layer=1,2,... somente no way com maior valor na tag top_ele=*.
  • Demais casos, como resíduos de levantamento (em geral pequenos triângulos): adicionar tag layer=1,2,... conforme camada. Adicionar a estes ways a tag note=isto é resíduo de fechamento de poligonal topográfica a remover?
Se o outro way no conflito (ou multipolígono) já tem layer=1, adicionar layer=2. Polígono de térreo (em geral o maior) deve ficar sem tag layer=* (zero).
  • Self-intersecting ways:

Selecionar o way e seu onde ocorre a intersecção, fazer split (P), deletar a parte que ficou interna, e confirmar se permaneceu outro way (distinto) que já havia no mesmo local.

  • Adicionar a tag fixme=verificar layer aos ways contendo layer.

Exemplo caso Leblon: 01 Errors; 34 Warnings; 100% resolvido e validado.


Eventuais outros conflitos, examinar caso a caso. Em diferentes áreas da cidade o material tem apresentado diferentes tipos de conflitos. Em casos em que a maioria dos prédios estão como ways em polígonos simples ("não multipolígonos") surge o problema de vários casos de Building inside building , necessitando verificação individual dos casos.


Outra solução possível para os casos de overlappings é criação de relação type=building (ver mais detalhes em Relation:building ). Neste caso, o problema que se coloca para a possibilidade de converter para relação de type=building é: encontrar um modo de fazê-lo mais ou menos automaticamente (algum script), para identificar e comparar as diversas partes do mesmo prédio (os ways polígonos que serão colocados em uma mesma relação de type=building) , o que reduziria em muito o trabalho manual, ficando assim mais focado na validação externa, tendo em vista a grande quantidade de prédios que se pretende importar. Talvez um caminho possível para algum programa seria fazer uma análise simultânea de overlapping e valores de área, para distinguir o maior polígono externo (ou através de cálculo dos valores de top_ele=*, pois em geral a maior área está no menor nível - mas nem sempre) e sua respectiva seleção, para que a área externa maior possa receber as tags role=outline e building=yes, devendo os demais ways restantes (invertendo a seleção) etiquetados como role=part e building:part=yes), e sendo criada entre estes e o membro com role=outline uma relação de type=building, sem necessidade de adicionar layer=*. Já resolveria o conflito de Building inside building . O mesmo processo, se puder ser automatizado, se aplica no caso de separação em layer=1,2,3,etc.... Neste caso sendo ainda necessário comparar as demais camadas de prédio para os respectivos layer=*.


Conflitos externos

Fazer download do existente no OSM, e novamente passar o validador, agora para verificar conflitos geométricos dos prédios a importar com objetos existentes no OSM. Resolver conflitos com o existente:

A-RIO OLYMPICS-7.jpg


Avisos

  • Building inside building: casos de prédios já mapeados; resolução:
    • entre polígono e nó: copiar a tag building=* do nó para o polígono e remover do nó.
    • entre 2 polígonos:
  1. ou separar e remover desta importação o novo prédio a ser importado, para posterior verifcação com o material existente;
  2. ou substituir a geometria anterior pela nova, conservando o histórico, usando CTRL+SHIFT+G (somente para ways, não multipolígonos).

Resolvido este, passar novamente validador, pois demais conlfitos podem ter sido resolvidos com isto.

  • Crossing Buildings: Ídem ao caso anterior de Building inside building. Ou, casos de nós entre prédios vizinhos: fundir somente os nós de perímetro, não deixando linhas ou nós de prédios dentro de outros prédios vizinhos.
  • Crossing ways: confirmar o alinhamento correto usando a imagem e os traçados de GPS e Strava. Conforme o caso:
    • Verificar a necessidade de realinhar as vias ou outros prédios envolvidos no conflito (dado ter sido indicado como mais confiável a homogeneidade do mapeamento dos prédios da prefeitura).
    • Verificar os espaços vazios entre os prédios por onde possa realinhar a via sem cruzá-los.
    • Cuidar com algum erro de implantação que eventualmente possa ser encontrado no material da prefeitura (pelo topo, ao invés de pela base); nestes casos realinhar estes prédios novos a serem importados.

Exemplo caso Leblon:

  • Building inside building e Crossing Buildings: não haviam casos (previamente removidos onde já haviam existentes).
  • Crossing ways: 04 casos de vias, resolvidos: realinhamento de 02 vias; Shift+I: adiciona nó no cruzamento de prédio (caso portaria) com via;.


Eventuais outros conflitos, examinar caso a caso.


Finalizando

Após 100% validado (interna e externamente), proceder importação:

  • Changeset Comment (iD/JOSM):

#RioOlympicsMapping / Import IPP Buildings (mais breve descrição das alterações).

  • VIA TASK MANAGER:

#osmtm-co-project-14 #RioOlympicsMapping / Import IPP Buildings (mais breve descrição das alterações).


Verificar no ato de importar se não aparecem mais conflitos. Se aparecem, resolver.

Tempo estimado:

  • Seleção da área e download do .SHP no site da prefeitura: 5min.
  • Abertura no QGIS, conversão para WGS84:EPSG 4326: 10 min.
  • Abertura no JOSM do .shp convertido WGS84:EPSG 4326, alteração das tags, validação e ajustes (internos e externos): 1h.
  • Upload para o OSM: 30 min.
  • Total aproximado: 1h45min.