Brazil/Projeto de Inserção Assistida de Edificações

From OpenStreetMap Wiki
Jump to navigation Jump to search

Descreve-se aqui uma proposta de inserção assistida dos conjuntos de dados do Google Buildings para o OpenStreetMap (OSM), no Brasil.

É importante frisar que se trata de uma inserção assistida, devido à natureza dos arquivos disponibilizados. Não é possível realizar uma importação — no teor literal da palavra — pois as geometrias necessitam de curadoria humana.

Objetivo

O objetivo é mapear de forma coordenada e assistida as geometrias dos edifícios pela Google através do Google Buildings.

Calendário

  • Em alguns periodos de 2024 e 2025: Criado script para baixar os dados e fazer o tratamento, resolvendo a maior parte das sobreposições de forma automatizada
  • Abril e maio de 2025: Preparação da proposta na wiki e documentação, discussão na lista de discussão talk-br e OSM Community Brasil e validação dos dados.
  • Data Indeterminada: Não há data prevista para término desse projeto no Brasil. Será criada tarefa município a município, os quais, esses sim terão datas pré-determinadas de início e fim.

Sobre os dados

Introdução aos dados

Os dados são fornecidos pela Google através do projeto Google Open Buildings. Eles contêm geometria dos edifícios. As geometrias contem sobreposições as quais foram tratadas e minimizadas.

Local dos dados

Os dados podem ser acessados através do site oficial do Google Buildings, o qual já deixa explícito uso no OpenStreetMap.

Licença de acesso e uso

A licença para uso dos dados no OSM está explicita no site da Google, garantindo a compatibilidade com a licença ODbL do OSM.

Qualidade estimada das geometrias

Os dados do Google incluem um campo que indica o nível de confiança na existência de cada geometria. No recorte do Brasil, esse valor varia de 0,65 a 0,9879, sendo que valores mais altos indicam uma menor probabilidade de erro.

Como os dados deverão passar por um processo de curadoria por parte dos mapeadores, que irão verificar sua precisão em relação às imagens de satélite, recomenda-se não aplicar um filtro automático. Em vez disso, a decisão sobre a validade das geometrias deve ser feita manualmente pelos usuários.

Tratamento dos dados

As geometrias fornecidas pela Google apresentam inúmeros casos de sobreposição. Para tratar esses dados, foram utilizadas ferramentas como Shell Script, Python, PostgreSQL e PostGIS. O processo envolveu o download dos dados, sua inserção em um banco de dados, a organização em quadras e o tratamento específico das geometrias de edifícios.

As quadras, que serviram tanto para o tratamento das geometrias quanto para a definição das áreas selecionáveis no Tasking Manager, foram geradas a partir das geometrias municipais do IBGE, combinadas com as estradas do OpenStreetMap (OSM), permitindo o recorte preciso dessas áreas.

Com o objetivo de reduzir significativamente a quantidade de sobreposições entre geometrias, foram aplicados procedimentos em PostgreSQL/PostGIS para deslocar vértices de edificações que se encontravam dentro de outras, movendo-os para fora. Em casos onde pontos tocavam linhas ou estavam dentro de um determinado raio, as geometrias foram fundidas. Essa abordagem garante que, no OSM, elementos próximos fiquem conectados corretamente, sem sobreposições visuais ou topológicas.

A checagem final e os ajustes finos serão realizados pelas pessoas envolvidas no processo de checagem dos prédios no JOSM. Mais informações podem ser encontradas na seção Plano de Trabalho.

O código usado no tratamento dos dados está disponível em repositório do GitHub.

Tamanho do conjunto de dados

O conjunto de dados possui tamanho ainda desconhecido, contendo 136.1 Milhões de feições de edifícios em todo o território nacional, das quais, partes delas serão trazidas para o OSM.

Combinação dos dados

Para evitar conflitos com os dados existentes no OSM, será mantido os edifícios já mapeados no OSM sempre que possível, uma vez os dados a serem inseridos são de qualidade semelhante aos que foram mapeados a mão livre e portanto, não justificando substituições massivas, salvo em raras exceções. O procedimento para fazer substituições no JOSM será ensinado aos mapeadores de modo a não perder o histórico das edições anteriores.

Inserção dos dados

A inserção dos dados será realizada de forma semi-automatizada, com revisão manual de cada objeto incluído para garantir a qualidade e integridade das informações. Caberá ao mapeador responsável por cada bloco de edifícios verificar se as geometrias já existem no OSM. Caso ainda não estejam presentes, deverá rodar o validador do JOSM, resolver possíveis sobreposições, então esquadrejar as geometrias, mesclar com os dados existentes e enviar a modificação ao OSM.

Plano de trabalho

Devido ao grande volume de dados, o trabalho será realizado por regiões, priorizando áreas de maior interesse para a comunidade. A divisão pode ser feita por municípios ou bairros, dependendo do volume de dados e da participação dos voluntários.

O plano é iniciar por municípios menores com mapeamento de edifícios (quase) nulo para ganhar experiência, expandindo para municípios maiores. Dar-se-á preferência à importação de geometrias de buildings disponibilizadas por prefeituras ou outros órgãos sempre que possível, neste caso, devendo cada caso passar por um processo de importação específico.

Será acompanhado de forma mais atenta todo novo mapeador que se dispor a ajudar nessa empreitada, checando se está realizando os procedimentos propostos corretamente, e principalmente, instruindo-o quando necessário.

Preparação dos Dados

Para cada município a ser coletivamente checado e inserido no OSM, será gerado um arquivo .zip contendo os seguintes elementos:

  • 1 arquivo GeoJSON com as geometrias das quadras, que serão utilizadas para definir as áreas de tarefa no Tasking Manager. Essas geometrias foram previamente tratadas e ajustadas.
  • 1 pasta contendo arquivos GeoJSON compactados no formato .gz. Cada arquivo representa os prédios de uma única quadra. Essa pasta deverá ser enviada para um servidor acessível via link para ser carregada no JOSM durante a edição.
  • 1 arquivo .txt com as instruções e os valores que deverão ser preenchidos na configuração da tarefa no Tasking Manager (ex: nome da tarefa, instruções, links, etc.).

Fluxo de trabalho

O Tasking Manager (TM) será utilizado para gerenciar o processo. Nele, o usuário deverá selecionar uma área correspondente a uma quadra ou subdivisões da mesma (em casos de quadras com um número excessivo de edificações). Em seguida, deverá carregar no JOSM a área a ser editada.

Para carregar no JOSM as geometrias, o usuário deverá clicar no link disponibilizado nas instruções do TM.

Ajuste fino pelo usuário

Uma vez com a quadra carregada no JOSM, o usuário deverá realizar os seguintes procedimentos na camada de geometrias:

  • Manter o controle visual das geometrias já revisadas. Recomenda-se seguir uma ordem horária para facilitar a organização.
  • Verificar a existência real de cada edificação. Apagar as geometrias que não existirem no local.
  • Ajustar a posição das geometrias, se necessário. Não é preciso alinhar exatamente com a camada de fundo; muitas vezes é melhor mover a camada de fundo para coincidir com os prédios. No entanto, edificações que estejam sobre outras construções ou estradas devem ser reposicionadas.
  • Ortogonalizar as edificações coladas, pois elas podem estar desalinhadas.
  • Utilizar as ferramentas do JOSM para fazer todos os ajustes julgados necessários nas geometrias.
  • Comparar com a camada de fundo (dados já existentes no OSM) e apagar geometrias duplicadas. Se a qualidade da nova geometria for superior à existente, dever-se-á substituí-la.
  • Executar o validador do JOSM quantas vezes for necessário, até que não restem mais erros.
  • Ao mesclar a camada de prédios com a camada de dados do OSM, rodar novamente o validador e corrigir quaisquer erros ou avisos.
  • Por fim, enviar a camada editada para o OSM e reiniciar o ciclo com uma nova área.

Importante:

  • Manter o foco nas geometrias a serem dos prédios. Qualquer outra correção, principalemente se levar a exclusão de outros objetos do OSM deverá ser feita em changeset não relacionada ao projeto.
  • Se o conjunto de dados não contiver geometrias de prédios que estiverem visíveis nas imagens de satélite, evite desenhar geometrias novas. Lembre-se que o foco é a inserção assistida. Se você quiser complementar depois com geometrias desenhadas por você, por meio de changeset não relacionada ao projeto, fique a vontade.

Plano de Validação dos Dados

Validação Preliminar

A validação preliminar será realizada diretamente através da etapa de validação do próprio Tasking Manager. O usuário validador deverá:

  • Clicar em Validar para carregar a área correspondente no JOSM.
  • Utilizar a camada de fundo para verificar a existência das edificações.
  • Rodar o validador do JOSM.

Cenários possíveis:

  • Caso existam poucos erros ou avisos, o próprio usuário validador poderá corrigi-los.
  • Caso sejam encontrados muitos erros ou avisos, indicando que o usuário não validou adequadamente os dados antes do envio, isso deverá ser registrado como comentário na tarefa do Tasking Manager.
Validação Final

A validação final dos dados seguirá as etapas abaixo:

  1. Baixar os prédios de todo o município (ou subárea) por meio de Overpass Turbo ou scripts específicos.
  2. Num primeiro momento, rodar o validador apenas para as geometrias de prédios.
    1. Caso sejam encontrados erros não corrigidos pelo usuário que fez a checagem e os ajustes, este será notificado e receberá uma explicação de como corrigir e validar.
    2. Pequenas correções poderão ser feitas diretamente pelo validador. No entanto, se um mesmo usuário estiver inserindo sistematicamente muitos erros topológicos, poderá ser bloqueado até demonstrar capacidade de contribuir corretamente com o projeto.
  3. Num segundo momento, rodar o validador com todos os dados baixados no JOSM (camada completa).
    1. Erros relacionados a interseções entre prédios e ruas, entre outros, deverão ser corrigidos.

Plano de Reversão de Conjunto de Alterações

Em caso de necessidade, as alterações poderão ser revertidas utilizando o plug-in Reverter do JOSM, seguindo as boas práticas recomendadas pela comunidade do OpenStreetMap.

A ausência de validação prévia das geometrias não será, por si só, motivo para reversão. Nesses casos, os dados deverão apenas ser validados e corrigidos conforme necessário.

A reversão será aplicada somente quando houver dano a dados existentes no OSM, como exclusão indevida de objetos válidos ou modificações em elementos fora do escopo do projeto que tenham causado qualquer dano notável.

Por esse motivo, será fortemente recomendado que o usuário concentre-se exclusivamente nos prédios da tarefa, evitando outras edições fora do contexto.

Listagem dos municípios já cobertos pelo projeto

(a ser alimentado)