Proposta de Inserção Assistida de Edificações no Brasil

Olá openstreetmappers,

Gostaria de compartilhar com vocês uma proposta de Inserção semi-automatizada dos edifícios gerados no projeto Google Buildings para o território brasileiro. A proposta está sendo construída com bastante cuidado, considerando aspectos técnicos, legais e comunitários.

A seguir, trago um resumo da iniciativa. Quem quiser se envolver mais a fundo, pode acessar a página wiki sobre o tema (em construção) e acompanhar as discussões futuras. A intenção é aperfeiçoar o projeto ao longo do tempo, incluindo durante a execução.

Fiz também um video explicando o que explico aqui, incluindo exemplo real de como funcionará o fluxo de trabalho e que está disponível no youtube.

Objetivo

Inserir no OpenStreetMap as geometrias dos edifícios fornecidas pela Google de forma assistida por mapeador humano, respeitando os padrões de qualidade e compatibilidade com a licença ODbL do OSM.

Calendário proposto

  • 2024 e 2025: Criação de scripts para download e tratamento automatizado (resolvendo sobreposições).
  • Abril-Maio 2025: Apresentação da proposta na lista talk-br e no OSM Community Forum Brasil.
  • Data indefinida: Mapeamento assistido contínuo, por município, via Tasking Manager.

Sobre os dados

  • Os dados vêm do Google Buildings (licença explícita ODbL, 100% compatível com OSM), inclusive com menção explícita de autorização de uso no OSM.
  • Contêm apenas geometrias dos edifícios.
  • O Brasil possui cerca de 136 milhões de feições, mas apenas parte disso será de fato inserido no OSM.
  • Cada geometria possui um valor de confiança (confidence score), variando entre 0,65 e 0,98. O uso ou descarte de cada item será decidido manualmente.

Tratamento prévio

  • As geometrias passaram por processo de limpeza com PostgreSQL/PostGIS, Python e Shell Script.
  • Foram divididas por quadras, geradas a partir dos dados do IBGE e das vias do OSM.
  • Sobreposições foram tratadas com fusão ou deslocamento de vértices.
  • Todas as geometrias passarão por revisão humana.

Convivência com dados existentes

  • Edifícios já mapeados no OSM serão mantidos, salvo raras exceções.
  • Não haverá substituições em massa, a menos que necessária para substituir geometrias de pior qualidade.
  • O histórico de edição será preservado com procedimentos adequados no JOSM.

Como será feita o fluxo de trabalho proposto

  • Via Tasking Manager.
  • Cada área da tarefa corresponderá a uma quadra.
  • O mapeador voluntário:
    • Confere se o prédio já existe no OSM.
    • Ajusta ou remove geometrias inconsistentes.
    • Usa ferramentas como validador do JOSM.
    • Esquadreja as geometrias retangulares.
    • Mescla a camada de buildings com a de dados do OSM, então valida qualquer erro ou aviso.
    • Sobe os dados pro OSM

Arquivos preparados por município

Cada pacote .zip conterá:

  • GeoJSON das quadras (para o TM).
  • Pasta de arquivos .gz com prédios por quadra.
  • Arquivo .txt com instruções e links.

Projeto Piloto

Um projeto foi construído no Tasking Manager servindo primeiramente como amostra de como será o fluxo de trabalho. O município escolhido foi Anhanguera GO, o qual é um dos menores municípios do Brasil em população, e praticamente não tem buildings mapeados em seu território. Você está livre para selecionar quadras, colocar para editar e entender o fluxo de trabalho, porem evite subir os dados ainda pro servidor do OSM, e marque a quadra como não finalizada o mapeamento. Leia as descrições e instruções com atenção. Produzi também um material bacana para afiar o conhecimento do pessoal em JOSM e pretendo melhorar com o tempo, o qual está disponível neste link.

https://tasks.hotosm.org/projects/18981

O uso customizado do Tasking Manager para gerenciar mapeamentos colaborativos comunitários como esse, pode também servir para outros que a comunidade tiver interesse. Se a comunidade se unir, a gente consegue avançar bastante pois existem muitas fontes de dados que temos disponíveis e que podemos futuramente criar projetos muito semelhantes a esse.

Agradeço desde já todo apoio e colaboração.
Vamos construir isso juntos.

5 Likes

Olá Comunidade!!

A Proposta está muito boa! fiz o passo a passo usando a Tasking Manager da HOTOSM com o projeto piloto e funcionou perfeitamente, também assisti o video explicativo no Youtube e li a wiki do Projeto.

Teremos uma grande oportunidade de mapearmos areas urbanas de cidades pequenas e medias nunca antes mapeadas com edificações,

Adiciono a proposta uma apresentação do @santamariense para proxíma semana onde podemos debater mais sobre o projeto e ouvir detalhes do projeto e um tira duvidas do autor da proposta.

A proposta também visa criar uma lista de municipios a serem mapeados, vamos construir juntos essa lista de cidades a serem mapeadas!!

1 Like

Olá novamente pessoal,

Estou liberando o Projeto Piloto, cidade de Anhanguera GO, na Tasking Manager, para mapeamento.

https://tasks.hotosm.org/projects/18981

Leiam as instruções e descrições antes de começar a colaborar. Qualquer dúvida ou sugestão, é só falar. A partir do Projeto Piloto, vamos continuar em outros municípios conforme tiver demanda.

Bons mapeamentos!

2 Likes

Após ter completado as edificações do município de Capivari do Sul, compartilho aqui alguns pontos:

  • 7h e 10 minutos para completar a tarefa. 6142 checadas visualmente e um pouco menos que isso inseridas de fato.
  • Nas áreas rurais notei que demora um pouco mais já que é preciso navegar no mapa de um prédio a outro, enquanto que nas áreas urbanas muitas vezes nem sequer precisa mover o mapa. Por outro lado se a quadra tiver alta densidade de prédios colados, acaba sendo trabalhoso também, notei isso em testes em cidades maiores. Nessas pequenas está mais tranquilo.
  • O tempo por quadra ficou em média de 3min52s, mas desconsidero ser uma boa métrica já que tem quadras com apenas 1 building e tem quadras com até 170. Na média deu 14,3 edificações inseridas por minuto, ou 1 building a cada 4,2s.
  • As geometrias do silos nunca vem em formato circular. Como a ideia é focar na checagem e inserção e não na criação do zero de novas geometrias, apenas descartei.
  • Edifícios pequenos, abaixo de x m², poderiam ser descartados já no código. Tipo, abaixo de 3m² (se eh que tem geometrias desse tamanho no conjunto de dados). Como a decisão em manter ou não a geometria se baseia na existência dela na imagem de satélite, talvez pudesse ter algum filtro com base no tamanho do pixel. Muitos desses casos parecem ser pequenos volumes como paletes com objetos e sacos de armazenamentos de grãos no meio das lavouras. Além do mais, no caso das que estão colada, ou fazem parte de edificações maiores, são insignificantes diante da qualidade das geometrias, o que poderia ser um outros motivo para ignorar. A ocorrência delas não são expressivas, mas qualquer pequeno ajuste ajuda a agilizar o processo. Vou pensar a respeito.

O resultado ficou bacana: https://www.openstreetmap.org/edit?editor=id#map=18/-30.145487/-50.512869

Quem tiver interesse na inserção de edificações em um município ou área, comunique. Fico à disposição para ensinar a fazer e até ajudo como posso.

3 Likes

Eu andei adicionando uns edifícios e validando o projeto piloto. Algumas observações (passei em privado ao @santamariense mas acho que vale a pena deixar público):

1 - de modo geral, tá excelente!

2 - tem algumas coisinhas que não dá para ter certeza, olhando pela imagem de satélite, se são edificações ou não. Pode ser, claro, meu olho não treinado, mas entre o sim e não, eu preferiria não mapear. Geralmente são coisinhas pequenas, que leva a meu ponto 3.

3 - como você escreveu na mensagem anterior, talvez valeria a pena filtrar sim edifícios pequenos (não sei qual seria o corte, é estudar algum valor decente). Perímetro (medida usada no JOSM) abaixo de 20m me parece um corte seguro.

4 - os tutoriais estão SHOW DE BOLA!

Excelente projeto, @santamariense! Acho que vai ser uma mão na roda para mapear edifícios pequenos. O tratamento que você fez nos dados ficou muito bacana, e deixar tudo redindinho para o Task Manager foi uma boa sacada também. Parabéns!

1 Like

fazendo um relato sobre esses dados.

Quando eu usei a primeira vez esses dados das edificações que tinha sido convertido do formato que a google disponibilizava para o formato atual os dados apresentava muitas edificações sobrepostas, quando o trabalho estava ficando mais no alinhamento das edificações do que no mapeamento em si.

Fiz esse primeiro uso dos dados na Cidade de Belém no começo de 2024, mais precisamente no Bairro do Marco.

o que eu quero dizer é que hoje os dados estão muito melhores e quase pronto para o mapeamento, ficando apenas que o mapeador faça a validação dos dados antes de mapea-las e também verifique se existe nó a mais ou edificação sobrepostas.

também precisa avaliar se mapeia ou não as edificações quando já existir edificações mapeadas, escolher a melhor buildings para o mapeamento.

outro ponto interessante é as falsas edificações, já que as buildings foi gerado da imagem de satelite e disponibilizado para o mapeamento inclusive no Openstreetmap.

eu tenho deletado essas falsas edificações e mapeadas somente as edificações existentes na imagem de satelite.

o mapeador ele tem o poder de decisão na hora de fazer a validação / qualidade dos dados e escolher quais edificações vai ser enviada ao Openstreetmap.

Desenvolvi um método de mapeamento das edificações que, além de ser rápido, é um passo a passo que, se seguido rapidamente, você vai conseguir mapear os dados e com a qualidade necessária.

  1. Início da tarefa na task manager.
  2. Baixo os dados das buildings, sempre baixar os dados na instrução.
  3. seleciono uma buildings e depois clico com o lado direito do mouse e procuro chave/valor.
  4. Com as buldings selecionadas, clico na tecla “D” para alinhar ou ortogonizar as buildings
  5. Depois de alinhar, uso a tecla " SHIFT+ Y " para verificar se tem nó sobrando. Excluir se estiver sobrando.
  6. Depois faço a validação das buildings e corrijo os erros caso os tenha.
  7. Depois de corrigido, seleciono as duas camadas e faço a combinação das duas camadas na opção “combinar”.
  8. Feito isso, excluo as buildings novas caso a camada de dados do openstreetmap tenha as edificações ou se não houver conflito das buildings. O próximo passo é enviar para o Openstreetmap.
  9. Feito isso, seguir o passo a passo para as próximas tarefas… e assim por diante.

Tem uma lista de atalhos nas instruções que você vai precisar usar.

Como por exemplo:

  • Ortogonalizar uma building: com as buildings selecionada tecla a Letra “Q”

  • Dividir uma building: cria o nó onde quer dividir, seleciona o nó e tecla “ALT+X”.

  • alinhas as buldings no alinhamento da via, seleciona as buldings, seleciona o nó no começo da via e no final da via e tecla a letra “Q”

  • Validar as buildings Tecla “SHIFT + V”

  • Selecionar várias buildings juntas: Letra “I”

o projeto piloto mostrou que podemos mapear uma pequena cidade em poucos dias com esses dados.

acredito que podemos avançar bastante no mapeamento das pequenas cidades do Brasil com esses dados.

fica ai o convite para aqueles que querem mapear a sua cidade com edificações.

o @santamariense está responsavel por gerar esses dados para qualquer cidade do Brasil, e só entrar em contato com ele aqui ou no telegram da Comunidade OSM Brasil.
https://t.me/OSMBrasil_Comunidade/1

Estamos fazendo a validação dos dados, a validação é importante para corrigir e certificar que os dados foram mapeados de forma correta no OSM.

1 Like

O 2º ponto elencado tem muito a ver com o terceiro ponto de fato. Estive conversando com o Matheus e passei a ele alguns dados no que se refere as dimensões das buildings:

  • O perímetro mínimo das buildings é 6,3 metros
  • Perimetro menor que 10m equivale a 0,2% das edificações.
  • Perimetro menor que 20m equivale a 14% das edificações.
  • O perímetro máximo das buildings é 3844 metros

Um corte de 14% talvez seja muito expressivo, então chegamos ao corte que propomos aqui de 15m de perímetro que atinge cerca de 5% apenas das buildings, em outras palavras buildings com menos de 15m de perímetro serão descartadas automaticamente. Muitas tenho notado que são meros volumes de materiais ou mesmo puxadinhos de building maiores, e acabam sendo excluídas durante a inserção de qualquer maneira, sem falar naquelas que sempre fica dúvida. Esse corte pode representar um ganho significativo de tempo no processo de inserção delas no OSM.

Compartilho abaixo uma amostra de 4 municípios com todas as suas buildings < 15m de perimetro as quais seriam já descartadas em código.

Também tem a área e perímetro de cada uma para facilitar melhor a análise d@s coleg@s.

1 Like

Analisei esse arquivo e faz sentido não ser disponibilizada essas buidings para o mapeamento no OSM.

Também fiz uma inspeção visual e acho que o prejuízo seria mínimo, facilitando mais o mapeamento. E se algum edifício real não estiver presente no arquivo, basta o mapeador fazê-lo manualmente no seu mapeamento do projeto.

Sendo assim, eu penso que esses 15 metros, baseado nesse arquivo gerado, me parece um bom corte!