Rio Olympics – Tutorial para Importação de Edificações
Importação do material da Prefeitura do Rio: passo a passo
Documentação:
- Projeto Rio Olympics Mapping
- Sub-Projeto Rio de Janeiro/Import IPP Buildings
1. Baixar SHP do site da Prefeitura do Rio de Janeiro:
Acesse o link acima e clique em Baixar. Na barra lateral, role até a opção Shapefile e clique em baixar.
- Caso o sistema pergunte, não é necessário gerar um novo arquivo. Baixe o Shapefile que já está disponível.
NO QGIS:
2. Abrir o .SHP no QGIS e converter CRS:
- Selecione uma área de edifícios para importação. Para um melhor resultado, é recomendado que sejam importados dados de poucas quadras — até cinco, preferencialmente — de cada vez.
- Salvar as feições selecionadas como novo arquivo, convertendo o CRS (sistema de coordenadas) do original SIRGAS 2000 para WGS84:EPSG 4326 como usado no OSM (imagem abaixo).
- Caso prefira, salve todo o arquivo com o novo sistema de coordenadas e use o arquivo convertido para selecionar as áreas que serão importadas. Este método é útil caso você pretenda importar muitos edifícios, e garante que não haverá esquecimento quanto à conversão.
- 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.
- Caso os edifícios disponíveis no OpenStreetMap tenham sido desenhados à mão, mantenha os edifícios correspondentes no arquivo da Prefeitura e resolva o conflito no JOSM (ver instruções abaixo). Desta forma você melhora a geometria do edifício e garante que informações novas e exatas, como altura, serão incluídas.
3. Aproveitando outras camadas:
- Para um trabalho de importação mais completo, baixe os arquivos de Quadras e Lotes do Data.Rio e realize os mesmos procedimentos (converter a camada para WGS 84, recortar a área de interesse da importação).
- Uma dica interessante é usar nomes de arquivos padronizados para cada procedimento de importação. Ao importar um grupo de edifícios na Tijuca, por exemplo, salve os edifícios como
ed_Tijuca_1
, as quadras associadas àqueles edifícios comoqd_Tijuca_1
e os lotes comolt_Tijuca_1
. A cada novo lote de importações, repita o processo. Assim você pode usar os três arquivos em cada área.- Como regra geral, lotes não devem ser importados no OpenStreetMap. Não o faça de maneira geral. Use o arquivo de lotes somente em casos específicos que serão listados abaixo.
- Uma dica interessante é usar nomes de arquivos padronizados para cada procedimento de importação. Ao importar um grupo de edifícios na Tijuca, por exemplo, salve os edifícios como
- Salve as feições selecionadas como novo arquivo, convertendo o CRS (sistema de coordenadas) do original SIRGAS 2000 para WGS84:EPSG 4326 como usado no OSM.
NO R:
4. Processar o .geojson recortado no QGIS usando o seguinte código (https://github.com/gbragaalves/ImportacaoRioOSM/blob/main/Importa%C3%A7%C3%A3oEdificiosOSM.R).
- Ajuste o código para obter a pasta correta onde seus dados estão guardados (linha 10), o nome do arquivo que está sendo processado (linha 14) e a pasta de destino (linha 154).
NO JOSM:
5. Abrir o .SHP (após processamento no R) 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:
- Evitar cortar prédios ou selecionar apenas alguns prédios de uma quadra no QGIS (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 recorte-o novamente no QGIS, seguindo todos os procedimentos, inclusive processamento em R.
6. Alterar as tags do original para tags válidas no OSM:
- Adicionar tag source=data.rio;
- Selecionar "somente" os multipolígonos (search type:relation) e verifique se todos já contem a tag building=yes. Adicione a tag fixme=verificar relação entre membros do multipolígono.
7. Usar a camada Rio Mosaico 2019 como imagem base.
8. Executar a validação interna e externa ao material.
Corrigindo conflitos internos e externos ao material
Conflitos internos
Passar o validador do JOSM nos dados, sem fazer download da área do OSM. Resolver conflitos internos:
Erros
- Nós de edifício duplicados: selecionar todos os com conflito, e resolver com fix (executará merge). Ou, adicionar layer=1,2,..., conforme camada.
- Vias duplicadas: este erro costuma ocorrer na parte interna de multipolígonos. Delete todas as vias sobrepostas até restar apenas uma, e ajuste o multipolígono, readicionado o
way
comrule=inner
nos casos em que for necessário.
Avisos
- Tags com valores vazios - Chave building inválida.
Efeito colateral do código de processamento. Clique em corrigir o problema selecionado. Reexecute o validador para resolver os conflitos de combinação suspeita de etiquetas - building:part junto com building
.
- 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.
- Edifício dentro do edifício:
- Casos de partes de prédio em conflito (variam conforme o bairro): Adicionar layer=1,2,... somente no way com maior valor na tag height=*.
- Se for parte do edifício — geralmente a diferença de altura é pequena —, converter tag building do elemento mais alto em building:part.
- Casos de partes de prédio em conflito (variam conforme o bairro): Adicionar layer=1,2,... somente no way com maior valor na tag height=*.
- 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 nó 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.
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:
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:
- ou separar e remover desta importação o novo prédio a ser importado, para posterior verifcação com o material existente;
- 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.
Aproveitando dados de quadras e lotes
- Abra o arquivo de quadras e apague todas as tags, exceto
COD_QUADRA
. Renomeie comoIPP:CodQuadra
. - Aplique o uso da terra correspondente à maior parte da quadra usando a
key:landuse=*
. Geralmente este valor éresidential
,retail
oucommercial
. Consulte a página de landuses para conhecer as diferenças. - Adicione a quadra ao arquivo .osm de edifícios através do menu Editar → Combinar seleção. Se a quadra já estava mapeada, faça uma análise visual e, caso considere pertinente, substitua as geometrias usando Ctrl+Shift+G.
- Caso haja algum ponto de interesse na quadra que ocupe uma área, como um hospital, uma escola, local religioso, clubes, etc:
- Abra o arquivo de lotes e selecione apenas o lote relacionado àquele ponto de interesse.
- Apague todas as tags do lote e adicione a seleção ao arquivo .osm de edifícios através do menu Editar → Combinar seleção.
- Verifique se o uso do lote faz sentido no mapeamento. Caso considere que sim, substitua a área antiga pelos limites do lote usando Ctrl+Shift+G ou adicione as tags do ponto de interesse à geometria do lote.
- Repita o procedimento quantas vezes for necessário, considerando a quantidade de pontos de interesse na quadra.
- Caso o uso da terra dos lotes adicionados na etapa 4 não sejam equivalentes ao uso da terra mapeado na quadra:
- Transforme a quadra em multipolígono, caso ainda não seja, selecionando a geometria da quadra e do(s) lote(s) e usando o menu Ferramentas → Criar multipolígono.
- Se a quadra já for um multipolígono, certifique-se de assegurar que os limites dos lotes tenham função
inner
na relação de multipolígono da quadra.
Finalizando
Após 100% validado (interna e externamente), proceder importação:
- Changeset Comment (iD/JOSM):
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.