Pt:Importação de dados do BHMap
Apresentação
A Prefeitura de Belo Horizonte possui um portal de dados georreferenciados, que é mantido pela Prodabel. O portal utiliza a projeção EPSG 31983, que aparenta ser o padrão utilizado em outros dados georreferenciados da Prefeitura. O portal também está sob a licença ODbL[1], o que facilitará o processo de importação dos dados.
O portal disponibiliza diversas camadas que poderiam ser agregadas ao OpenStreetMap, e que podem ser exportadas como CSV, GeoJSON ou Shapefile. Uma delas possui a geometria da maioria (senão todos) dos prédios existentes em Belo Horizonte, totalizando, aproximadamente, 700 mil edificações. A importação destes prédios seria uma ótima adição ao OSM.
Metodologia
Usando outras importações de dados brasileiros como base, foi proposto a seguinte metodologia:
Verificação do uso da tag building=yes nos prédios existentes
Algumas edificações mapeadas atualmente no OSM estão fazendo o uso indevido da tag building, o que pode dificultar o processo de importação de geometrias. Um dos problemas que pode acontecer é a exclusão de prédios válidos oriundos da camada do BHMap. No entanto, este problema é fácil de verificar e corrigir, para isto basta usar uma query do Overpass e o QGIS para ordenar o resultado do Overpass por área.
Abaixo segue a query do Overpass para obter todos os prédios mapeados atualmente em BH:
[out:json][timeout:225];
{{geocodeArea:Belo Horizonte, MG}}->.searchArea;
(
way["building"](area.searchArea);
relation["building"](area.searchArea);
);
out body;
>;
out skel qt;
Para fazer a verificação do uso da tag no QGIS, é necessário executar a query acima e exportá-la como GeoJSON. Segue abaixo um GIF de como realizar o procedimento para calcular a área dos prédios mapeados.
Depois de calcular a área dos prédios, recomenda-se ordená-los por área, e verificar um por um, para saber se foi a tag building foi utilizada para demarcar o lote, e não a estrutura predial em si. A camada de satélite do Bing pode ser útil para descobrir se o uso da tag está certo.
Preparação da camada de edificações do BHMap
Verificação do alinhamento da camada com os dados existentes
Os dados oriundos do BHMap aparentam estar alinhados com a camada de imagem de satélite do Bing. A Prefeitura disponibiliza, através de uma camada específica do portal, informações sobre marcos geodésicos e suas coordenadas, além de descrições sobre a localização física da estação, podendo ser de auxílio para o alinhamento das camadas oriundas do portal da prefeitura, simliar ao método utilizado na importação de prédios em Porto Alegre[2]. A rede geodésica do IBGE não fornece estações visíveis para auxiliar no alinhamento da camada do BHMap com os dados do OSM.
Marcos geodésicos
A prefeitura possui 50 marcos geodésicos instalados na cidade. Através do portal, é possível obter a monografia de cada estação geodésica. Geralmente, são compostos por uma base de concreto com uma placa de bronze contendo o número do vértice (marco) e o inscrito "PMBH/PRODABEL, PROTEGIDO POR LEI - ESTEIO S.A. - CURITIBA", além da data de sua instalação. Com o mapa, é possível ver que estas estações foram visitadas em 2019, o que significa que ainda estão ativas. Através de uma inspeção visual realizada in loco, foi possível confirmar a existência dos marcos geodésicos. Logo, o primeiro passo seria importar estes marcos para o OpenStreetMap com o intuito de auxiliar no alinhamento das camadas do BHMap com as camadas existentes do OSM.
A importação dos marcos geodésicos foi realizada no dia 1 de dezembro de 2019: https://www.openstreetmap.org/changeset/77789007
Adição de tags do OSM para detalhamento da geometria predial
A camada do BHMap possui propriedades que não são utilizadas no OSM. Será necessário utilizar um script para adicionar a tag building em cada geometria.
O BHMap também fornece camadas que possam auxiliar no detalhamento dos prédios. Por exemplo, há uma camada que lista os comércios existentes (sob o nome de Atividades Econômicas), outra que lista locais de entretenimento, UPAs, entre outros.
Para agilizar o processo e não realizar importações subsequentes adicionando detalhes aos edifícios, essa etapa será realizada após o preparo das camadas de endereços e edificações, uma vez que os dados das diversas camadas poderá auxilair na correção das geometrias prediais. Por exemplo, juntando a camada de edifícios com a de escolas municipais, além de conter um prédio, o lote da escola municipal ganharia uma etiqueta de amenity=school.
Separação por quadras e regional
Como o JOSM possui um limite de objetos a ser enviado para o servidor do OSM (e para facilitar o trabalho do projeto ao todo), após conversa com diversos membros da comunidade, a melhor opção é dividir os dados a serem importados pelas quadras conforme o Cadastro Técnico Municipal (CTM). O BHMap já nos fornece esta separação em quadras, basta apenas obter os edifícios pertencentes a cada quadra. Além dessa separação por quadras, também seria realizada uma separação por regionais, priorizando aquela que há o menor número de prédios mapeados no OpenStreetMap para reduzir o número de casos de dados duplicados e eventuais conflitos.
É possível realizar esta separação no QGIS, separando primeiro as regionais obtidas na camada Regional do BHMap, separando as quadras de Belo Horizonte por regional, e finalmente separando os edifícios a serem importados por quadras.
Verificação e mesclagem da camada do BHMap com os dados existentes
Uma etapa mais ou menos simples, na qual seria verificada a camada da etapa anterior para encontrar possíveis conflitos. Feito isso, a camada seria mesclada com a camada do OSM já existente, mantendo os prédios já mapeados, os quais poderão ser editados e corrigidos conforme os dados do BHMap.
Com base no que foi percebido pelo usuário Sérgio em sua importação de numeração predial em Porto Alegre, e posteriormente observado pelo naoliv, antes de enviar os dados ao OSM, deve-se realizar a validação do JOSM ao menos duas vezes, conforme relatado aqui.
Validação e realização da importação
Nesta etapa, conforme descrito acima, seria realizada a dupla-verificação com o validador do JOSM, além da verificação manual para preservar o que já está mapeado no OpenStreetMap, realizando alterações com base nos dados do portal da prefeitura e evitar conflitos existentes.
A camada de quadras do BHMap possui um identificador para cada quadra, então seguiria-se a ordem crescente do código da quadra conforme a regional selecionada para importação, visto que o código das quadras não segue nenhum padrão que possibilita descobrir qual regional a quadra pertence.
Informações adicionais
Propriedades das camadas
Cada camada do portal da prefeitura possui diferentes propriedades que podem ser úteis na etapa de detalhar as edificações importadas. Algumas camadas que podem ser usadas para descrever a tag amenity já possuem informações como logradouro (endereço), número, telefone, bairro e região.
Edificações
A geometria de cada prédio possui uma estrutura, em GeoJSON, similar ao código abaixo. Note que o campo coordinates foi truncado para reduzir o tamanho desta página. Como é possível perceber, cada prédio é definido como uma geometria do tipo MultiPolygon.[3]
{
"type": "Feature",
"properties": {
"AREA": 90.33,
"COTA_MAX_M": 1056.66,
"COTA_MAX_0": 1053.15,
"COTA_MIN_M": 1055.49,
"COTA_MIN_0": 1049.09,
"DESVIO_PAD": 0.39,
"DESVIO_PA0": 1.11,
"ID_EDIF": 2461405.0,
"ID_LOTE_CT": 234848.0,
"MEDIA_MDE": 1056.31,
"MEDIA_MDT": 1050.98,
"MODA_MDE": 1056.0,
"MODA_MDT": 1052.0
},
"geometry": {
"type": "MultiPolygon",
"coordinates": [...]
}
},
Comentário do autor: talvez poderíamos incluir o id do lote e do edifício usando as tags bhmap:id_edif
e bhmap:id_lote_ct
.
Endereçamento
Nesta camada, os endereços são representados por um ponto apenas, sendo que é possível ter mais de um endereço para cada geometria predial. Além disso, não há relação direta com a camada das geometrias, o que dificulta a mesclagem desta camada com a anterior.[4]
{
"type": "Feature",
"properties": {
"IDEND": "30057700129",
"ID_EDC": 875203.0,
"STATUS": null,
"IND_ATIVO": "Sim",
"ID_LOGRADO": 300577.0,
"SIGLA_TIPO": "RUA",
"NOME_LOGRA": "DEPUTADO FABIO VASCONCELOS",
"NUMERO_IMO": 129.0,
"LETRA_IMOV": null,
"ID_BAIRRO_": 18.0,
"NUM_BAIRRO": "0623",
"NOME_BAIRR": "Buritis",
"ID_BAIRRO0": 212.0,
"NUM_BAIRR0": 171.0,
"TIPO_BAIRR": "Bairro",
"NOME_BAIR0": "dos Buritis",
"ID_REGIONA": 7.0,
"NOME_REGIO": "OESTE",
"CEP": 30575831.0,
"LESTE": "607100,373528842",
"NORTE": "7791197,40534679"
},
"geometry": {
"type": "Point",
"coordinates": [
-4895426.505212712101638, -2269813.723745346069336
]
}
},
Conforme discutido com algumas pessoas (tanto da comunidade brasileira quanto da internacional), uma solução para contornar o problema de mesclagem desta camada com a de geometria é importar os endereços como pontos, apenas passando as informações para o formato de tags que o OSM utiliza.
Atividades Econômicas
Cada atividade econômica é representada por um ponto, podendo existir diversas atividades em um mesmo ponto. Fornece também as CNAEs (Classificação Nacional de Atividades Econômicas), além do nome e tipo de unidade comercial.[5]
{
"type":"Feature",
"id":"ATIVIDADE_ECONOMICA.343332",
"geometry":{
"type":"Point",
"coordinates":[
611100.68821799,7796578.90995713
]
},
"geometry_name":"GEOMETRIA",
"properties":{
"ID_ATVECON":343332,
"CNAE_PRINCIPAL":"4781400",
"DESCRICAO_CNAE":"COMERCIO VAREJISTA DE ARTIGOS DO VESTUARIO E COMPLEMENTOS",
"CNAE_SECUNDARIAS":null,
"NATUREZA_JURIDICA":"SOCIEDADE EMPRESÁRIA LIMITADA",
"PORTE_EMPRESA":"MICROEMPRESA - ME",
"AREA_UTILIZADA":"80",
"IND_SIMPLES":"S",
"IND_MEI":"S",
"TIPO_UNIDADE":"UNIDADE PRODUTIVA",
"FORMA_ATUACAO":"ESTABELECIMENTO FIXO",
"DESC_LOGRADOURO":"RUA",
"NOME_LOGRADOURO":"ESPIRITO SANTO",
"NUMERO_IMOVEL":"1063",
"COMPLEMENTO":null,
"NOME_BAIRRO":"CENTRO",
"NOME":"MUNDO INTIMO LTDA",
"NOME_FANTASIA":null,
"CNPJ":"...",
"DATA_INICIO_ATIVIDADE":"04/10/1999"
}
}
Densidade de edificações subdividido por regional
Utilizando o Overpass, é possível ter noção da distribuição dos prédios existentes no OSM, separado por regional. Abaixo segue uma tabela com a quantidade de prédios existentes dividido por regional, juntamente com a quantidade total, e, mais abaixo, a query do Overpass para obter os prédios mapeados atualmente em cada regional.
Note que, devido à geometria irregular das regionais, nem todos os prédios mapeados pela prefeitura foram incluídos na contagem (que foi realizada no QGIS), o que deixa, aproximadamente, 4 mil prédios fora do total de 741.032 prédios disponíveis na camada do BHMap.
Regional | Quantidade (OSM) | Quantidade (BHMap) |
---|---|---|
Barreiro | 100 | 98723 |
Centro-Sul | 2714 | 57443 |
Leste | 376 | 73403 |
Nordeste | 307 | 92055 |
Noroeste | 4930 | 90461 |
Norte | 37 | 72825 |
Oeste | 1311 | 82007 |
Pampulha | 1229 | 83157 |
Venda Nova | 51 | 88289 |
Total | 11055 | 738363 |
--Aoalmeida (talk) 00:14, 7 December 2019 (UTC)
Regional Barreiro
[out:json][timeout:225];
{{geocodeArea:Barreiro, Belo Horizonte, MG}}->.searchArea;
(
way["building"](area.searchArea);
relation["building"](area.searchArea);
);
out body;
>;
out skel qt;
Regional Centro-Sul
[out:json][timeout:225];
{{geocodeArea:Regional Centro-Sul, Belo Horizonte, MG}}->.searchArea;
(
way["building"](area.searchArea);
relation["building"](area.searchArea);
);
out body;
>;
out skel qt;
Regional Leste
[out:json][timeout:225];
{{geocodeArea:Regional Leste, Belo Horizonte, MG}}->.searchArea;
(
way["building"](area.searchArea);
relation["building"](area.searchArea);
);
out body;
>;
out skel qt;
Regional Nordeste
[out:json][timeout:225];
{{geocodeArea:Regional Nordeste, Belo Horizonte, MG}}->.searchArea;
(
way["building"](area.searchArea);
relation["building"](area.searchArea);
);
out body;
>;
out skel qt;
Regional Noroeste
[out:json][timeout:225];
{{geocodeArea:Regional Noroeste, Belo Horizonte, MG}}->.searchArea;
(
way["building"](area.searchArea);
relation["building"](area.searchArea);
);
out body;
>;
out skel qt;
Regional Norte
[out:json][timeout:225];
{{geocodeArea:Regional Norte, Belo Horizonte, MG}}->.searchArea;
(
way["building"](area.searchArea);
relation["building"](area.searchArea);
);
out body;
>;
out skel qt;
Regional Oeste
[out:json][timeout:225];
{{geocodeArea:Regional Oeste, Belo Horizonte, MG}}->.searchArea;
(
way["building"](area.searchArea);
relation["building"](area.searchArea);
);
out body;
>;
out skel qt;
Regional Pampulha
[out:json][timeout:225];
{{geocodeArea:Pampulha, Belo Horizonte, MG}}->.searchArea;
(
way["building"](area.searchArea);
relation["building"](area.searchArea);
);
out body;
>;
out skel qt;
Regional Venda Nova
[out:json][timeout:225];
{{geocodeArea:Venda Nova, Belo Horizonte, MG}}->.searchArea;
(
way["building"](area.searchArea);
relation["building"](area.searchArea);
);
out body;
>;
out skel qt;
Mapeamento das propriedades das camadas para tags do OSM
Como foi mencionado anteriormente, as camadas que serão usadas para detalhar o "uso" de um prédio possuem diferentes propriedades, podendo até mesmo ter propriedades em comum com outras camadas. Entretanto, estes elementos não são utilizados pelo OSM, então temos que convertê-las para tags que o OSM possa utilizar, para enriquecer o mapa.
Locais de Entretenimento[6]
Categoria do BHMap | Tag principal | Tags adicionais |
---|---|---|
Arquivo Público | amenity=archive | - |
Biblioteca | amenity=library | - |
Centro Cultural | amenity=community_centre | community_centre=cultural_centre |
Centro de Referência | amenity=community_centre | community_centre=cultural_centre |
Escola Livre de Artes | amenity=arts_centre | - |
Museu | tourism=museum | museum_type= |
Patrimônio Cultural (diretoria) | government=culture | - |
Teatro | amenity=theatre | theatre:type=, theatre:genre= |
Assistência Social
Categoria do BHMap | Tag principal | Tags adicionais |
---|---|---|
Centro de Referência de Assistência Social (CRAS) | amenity=social_facility | social_facility=outreach |
Centro de Referência Especializado de Assistência Social (CREAS) | amenity=social_facility | social_facility=outreach |
Centro de Referência em Área de Risco (CREAR) | amenity=social_facility | - |