OpenStreetMap

ViriatoLusitano's Diary

Recent diary entries

Introdução

Em Portugal os aglomerados populacionais tendem a estar dispersos e não concentrados num único centro urbano. Várias destas aglomerações situam-se a vários quilómetros do centro da freguesia, que é a menor divisão administrativa em Portugal, tornando-se assim muito difícil encontrar estes sítios se não tivermos o nome que os habitantes locais usam para se identificarem.

https://i.imgur.com/SYExQ6O.jpg

Comparação entre centros populacionais. À esquerda um sítio com várias aglomerações satélites e à direita um sítio onde a população está concentrada. Fonte: Bing

O Instituto Nacional de Estatística (INE) têm uma base de dados contendo o nome e os limites geo-referenciados de diversos aglomerados urbanos. É útil ter esta informação no OpenStreetMap, pelo que este guia ajudar-te-á a como se deve proceder à sua inserção no OSM.

Nota: Este guia foi adaptado de um outro mais antigo, sendo que este está conforme as novas normas de padronização acordadas pela comunidade portuguesa de OSM.

Descarregar os dados

Em primeiro lugar temos de obter os dados disponibilizados abertamente pelo INE, mais especificamente os da Base Geográfica de Referenciação da Informação (BGRI). Estes dados contêm todos os lugares estatísticos que o INE utiliza durante os seus censos.

https://i.imgur.com/uGo20Rc.png

Vamos escolher os dados de 2011 ao invés dos provisórios de 2021. Isto é porque os de 2021 não contêm a toponímia (nome) correspondentes aos aglomerados urbanos, ao contrário dos de 2011, que têm.

Temos a opção de descarregar os limites em todo o país, mas na minha opinião, e de maneira a facilitar o trabalho, recomendo descarregar ao nível mais pequeno, o do município.

https://i.imgur.com/gKjAFLs.png

Felizmente para nós os dados incluem o nome e limites das várias aldeias de Portugal. Também contêm informação de muitos lugares, mas não de todos – o que acontece é que, em zonas altamente urbanizadas e/ou inseridos dentro do perímetro de uma vila ou cidade, deixa de existir informação sobre o lugar.

Vai ser descarregado um ficheiro arquivado .zip contendo um ficheiro no formato GeoPackage (.gpkg) que teremos de extrair para uma pasta.

https://i.imgur.com/ECZSfMX.png

Converter dados

Vamos converter o ficheiro .gpkg para um que é aceite pelo JOSM, a ferramenta ideal que é usada por este guia.

Para tal primeiro instalamos o QGIS, que é um programa de informação geográfica de acesso livre. Quando descarregado e instalado aparecerá a seguinte janela.

https://i.imgur.com/YrmfYJc.png

Agora arrastamos o .gpkg para o QGIS. No ecrã vai aparecer o nosso município assim como todas as fronteiras estatísticas.

https://i.imgur.com/LPFBsnp.png

De seguida no menu situado à esquerda chamado Layers vamos clicar com o botão direito do rato > Export > Save Features As…

https://i.imgur.com/wsFC8Zn.png

Na seguinte janela basta só escrever algo no File Name. Verifica se o formato é ESRI Shapefile! Também tens a opção de escolher para onde será exportada a informação.

https://i.imgur.com/GH8fhnm.png

Concluido isto, teremos os seguintes ficheiros.

https://i.imgur.com/FT4DqTx.png

Importação para o JOSM

No JOSM precisamos de ter instalado um plugin chamado OpenData que vai permitir abrir ficheiros shapefile (shp).

https://i.imgur.com/aCWsECo.png

Feito isto, pressionamos agora as teclas Ctrl+O no ecrã principal do JOSM e seleccionamos o ficheiro com a extensão .shp e esperamos um bocado enquanto decorre a importação.

https://i.imgur.com/WvIKxdf.png

Assim que terminar a importação vamos-nos deparar com a seguinte situação:

https://i.imgur.com/GkSa4pB.png

Limpar os dados

Há muita informação que não nos interessa, por exemplo: códigos internos ou limites “residuais”. Começamos por seleccionar todos os dados (Ctrl+A) e apagamos todas as etiquetas excepto as “LUG11” e “LUG11DESIG”.

https://i.imgur.com/XjKrMp1.png

De seguida abrimos a janela de pesquisa (Ctrl+F) e escrevemos “residual” (não te preocupes com nenhum dos botões abaixo que por defeito já estão como queremos).

https://i.imgur.com/Akmp123.png

Depois de seleccionados os dados que procuramos temos de os eliminar (Del). Caso surja uma janela a avisar que serão apagadas relações aceita, elas não nos interessam por isso podemos confirmar a eliminação.

https://i.imgur.com/HyQ4lwf.png

https://i.imgur.com/j8Tmyj9.png

Agora queremos apagar o que forem linhas vazias, já que não contêm nada. Para tal abre novamente a janela de pesquisa e escreve “type:way untagged” e elimina o que aparecer seleccionado.

Agrupar as várias secções

Seleccionando as linhas que existem, repara que há muitas com a mesma designação. Isto acontece porque nos dados do BGRI os lugares estão divididos em secções e para nós isto não nos interessa.

Para esse propósito, teremos de agrupar as várias secções com o mesmo nome/código, assim revelando o verdadeiro limite das diversas aldeias e lugares.

Em primeiro lugar escolhemos uma linha (pode ser qualquer uma) e copiamos o código que está na etiqueta “LUG11”. Podes também copiar a designação, mas verifiquei que muitas vezes existe mais que um aglomerado com o mesmo nome num município.

https://i.imgur.com/3tFZ43k.png

Abrimos novamente a janela de pesquisa e colamos o código que copiamos. Após feita a pesquisa vamos ter a seguinte situação:

https://i.imgur.com/GQWQqhY.png

Para a seguinte parte instala um plugin chamado ‘merge-overlap’. Ele permite fundir as diferentes áreas numa só, deixando somente o limite exterior. Para tal basta fazer Shift-J.

Nota: Um método alternativo seria traçar uma linha que corresponda ao perímetro seleccionado.

https://i.imgur.com/xlY9PNf.png

https://i.imgur.com/Cdt4ny5.png

Obtivemos o limite desejado, agora copiamos (Ctrl+C), criamos uma nova camada (Ctrl+N) e colamos o limite na mesma posição (Ctrl+Alt+V).

https://i.imgur.com/d2On15C.png

Terminamos esta parte ao simplificar a linha (Shift+Y). Eu recomendo 2 m.

Importar os dados do OSM

Vamos agora descarregar os dados do OSM para esta nova camada (Ctrl+Shift+↓).

https://i.imgur.com/5kv9HeN.png

De forma a facilitar a visualização dos mesmos sugiro aplicar o seguinte filtro com as opções que estão expostas na imagem abaixo:

boundary=administrative | boundary=census | boundary = historic | place=* | ICC=Portugal | LUG11=*

https://i.imgur.com/yHGqM1I.png

Para utilizar a ferramenta de filtro basta a seleccionar no seguinte menu. Confirma depois que está activado e no modo inverso.

https://i.imgur.com/95xSuxN.png

Adicionar a relação e etiquetas

Primeiro vamos criar uma relação com as seguintes etiquetas:

  • name=Falfeira
  • bgri:code=035819
  • boundary=census
  • source=INE - BGRI 2011
  • type=boundary

https://i.imgur.com/OKbZZU0.png

Para a linha vamos atribuir a função de “outer”. A negrito estão as duas etiquetas que mudarão dependente do aglomerado que estamos a tentar inserir, as outras serão sempre as mesmas em qualquer das situações.

Para terminar vamos seleccionar novamente a linha que define o aglomerado (e a relação) e vamos atribuir as seguintes etiquetas:

  • boundary=census
  • source=INE - BGRI 2011

Não esquecer de apagar as etiquetas “LUG11” e “LUG11DESIG”.

Feito isto tudo, temos agora duas opções: ou enviamos o que foi feito para o OSM ou repetimos o processo para outro aglomerado. Se repetirmos o processo podemos copiar a relação e adaptar-la de modo a poupar tempo.

Adicionar o nó com o tipo de aglomeração

Caso não esteja no mapa, insere um nó/ponto contendo o nome do aglomerado assim como o tipo, por exemplo: povoação afastada de outra, aldeia → place=hamlet. Mais informações aqui.

Mapeamento das aldeias e lugares de Portugal

Posted by ViriatoLusitano on 23 December 2017 in Portuguese (Português). Last updated on 18 June 2022.

Este guia está desatualizado, por favor verifica o mais recente que está atualizado conforme as novas normas.

Introdução

Em Portugal os aglomerados populacionais tendem a estar dispersos e não concentrados num único centro urbano. Várias destas aglomerações situam-se a vários quilómetros do centro da freguesia, que é a menor divisão administrativa em Portugal, tornando-se assim muito difícil encontrar estes sítios se não tivermos o nome que os habitantes locais usam para se identificarem.

https://i.imgur.com/SYExQ6O.jpg

Comparação entre centros populacionais. À esquerda um sítio com várias aglomerações satélites e à direita um sítio onde a população está concentrada. Fonte: Bing

Acredito que já repararam que não existe uma base de dados livre que contenha os nomes ( e especialmente os limites) dos milhares de pequenos aglomerados urbanos que existem em Portugal. Não ter este tipo de dados torna-se num problema quando se tenta procurar por eles para propósitos de navegação por GPS ou simplesmente para ver onde ficam no mapa.

Decidi, então, adicionar na base de dados do OpenStreetMap estes dados. Por esse motivo perguntaram-me como é que eu as mapeava. Ora, para facilitar a explicação, elaborei este guia para que assim possas também ajudar!

Nota: Por aglomerados urbanos refiro-me a aldeias, quando em meio rural, e a lugares, quando em meio urbano.

Preparação

Em primeiro lugar precisamos de ter o JOSM já que vamos lidar com importações. Também precisamos de ter instalado um plugin chamado OpenData que vai permitir abrir ficheiros shapefile (shp).

https://i.imgur.com/cF2YMI5.png

Em segundo lugar vamos utilizar os dados disponibilizados abertamente pelo Instituto Nacional de Estatística (INE), mais especificamente os da Base Geográfica de Referenciação da Informação (BGRI). Estes dados contêm todos os lugares estatísticos que o INE utiliza durante os seus censos.

https://i.imgur.com/weBjWOq.png

Felizmente para nós os dados incluem o nome e limites das várias aldeias de Portugal. Também contêm informação de muitos lugares, mas não de todos — o que acontece é que, em zonas altamente urbanizadas e/ou inseridos dentro do perímetro de uma vila ou cidade, deixa de existir informação sobre o lugar.

Descarregar os dados

Voltando ao sítio do BGRI, temos a opção de descarregar os limites em todo o país, mas na minha opinião, e de maneira a facilitar o trabalho, recomendo descarregar ao nível mais pequeno, o do município.

https://i.imgur.com/rVJyccx.png

Vai ser descarregado um ficheiro arquivado .zip que posteriormente teremos de extrair para uma pasta.

https://i.imgur.com/yeOPWqy.png

Importação para o JOSM

No JOSM vamos primir as teclas Ctrl+O e seleccionamos o ficheiro com a extensão de .shp e esperamos um bocado enquanto decorre a importação.

https://i.imgur.com/AsfrL8J.png

Assim que terminar a importação vamos deparar com a seguinte situação:

https://i.imgur.com/ETGWWpB.png

Limpar os dados

Há muita informação que não nos interessa, por exemplo: códigos internos ou limites “residuais”. Por isso de forma a que o nosso trabalho fique facilitado vamos remover tudo o que for “ruído”.

Começamos por seleccionar todos os dados (Ctrl+A) e apagamos todas as etiquetas excepto as “LUG11” e “LUG11DESIG”.

https://i.imgur.com/EqDqMUB.png

De seguida abrimos a janela de pesquisa (Ctrl+F) e escrevemos “residual” (não te preocupes com nenhum dos botões abaixo que por defeito já estão como queremos).

https://i.imgur.com/kqkV3Zq.png

Depois de seleccionados os dados que procuramos temos de os eliminar (Del).

https://i.imgur.com/JUjCIu1.png

Vai surgir uma janela a avisar que serão apagadas relações, elas não nos interessam por isso podemos confirmar a eliminação.

https://i.imgur.com/3vVMbeY.png

Agora queremos apagar o que forem linhas vazias já que não contêm nada, para tal abre novamente a janela de pesquisa e escreve “type:way untagged” e elimina o que aparecer seleccionado.

https://i.imgur.com/JUjCIu1.png

No final teremos os seguintes dados:

https://i.imgur.com/bZxkF6O.png

Agrupar as várias secções

Se seleccionarmos as linhas que existem, vamos reparar que há muitas com a mesma designação. Isto acontece porque nos dados do BGRI os lugares estão divididos em secções e para nós isto não nos interessam.

Para esse propósito temos de agrupar as várias secções com o nesmo nome/código numa só, assim revelando o verdadeiro limite das diversas aldeias e lugares.

Em primeiro lugar escolhemos uma linha (pode ser qualquer uma) e copiamos o código que está na etiqueta “LUG11”.

https://i.imgur.com/j6MOkNK.png

Nota: Podes também copiar a designação, mas verifiquei que muitas vezes existe mais que um aglomerado com o mesmo nome num município e por isso não recomendo ir por este método.

Abrimos novamente a janela de pesquisa e colamos o código que copiamos. Após feita a pesquisa vamos ter a seguinte situação:

https://i.imgur.com/iLdvSHj.png

No passado havia um plugin chamado merge-overlap que facilitava o seguinte passo, mas este, no momento em que escrevo este guia, encontra-se inutilizável.

Por essa razão vamos por um método alternativo: traçamos uma linha que corresponda ao perímetro seleccionado. Se te esqueceres dos limites basta abrir novamente a janela de procura e inicia a pesquisa já que o código está memorizado.

Antes de traçarmos o perímetro, vamos primeiro copiar (Ctrl+C) ambas as etiquetas “LUG11” e “LUG11DESIG” para posteriormente as metermos na linha que irá ser criada.

https://i.imgur.com/6PLUZp8.png

https://i.imgur.com/F9zMZkN.gif

Feito o perímetro, vamos manter a linha seleccionada e colamos (Ctrl+V) as etiquetas “LUG11” e “LUG11DESIG” anteriormente copiadas. Depois copiamos o perímetro, criamos uma nova camada (Ctrl+N) e colamos o perímetro na mesma posição (Ctrl+Alt+V).

https://i.imgur.com/5xvGq4F.png

Para terminar vamos simplificar a linha (Shift+Y).

Importar os dados do OSM

Vamos agora descarregar os dados do OSM (Ctrl+Shift+↓).

https://i.imgur.com/ap2OA2X.png

De forma a facilitar a visualização dos mesmos sugiro aplicar o seguinte filtro com as opções que estão expostas na imagem abaixo:

boundary=administrative place=* ICC=Portugal LUG11=*

https://i.imgur.com/fFXIKa6.png

Para utilizar a ferramenta de filtro basta a seleccionar no seguinte menu:

https://i.imgur.com/3VliCrH.png

Confirma que está activado e no modo inverso.

Adicionar a relação e etiquetas

Primeiro vamos criar a relação com as seguintes etiquetas e depois vamos incluir na relação a linha e o nó que representa o “centro” da aglomeração:

  • name=Póvoa
  • bgri:code=018494
  • place=neighbourhood
  • border_type=lugar
  • boundary=administrative
  • admin_level=10
  • source=INE - BGRI 2011
  • type=boundary

https://i.imgur.com/e8re5Wh.png

https://i.imgur.com/dhA77Oo.png

A negrito estão as três etiquetas que mudarão dependente da aldeia/lugar que estamos a tentar inserir, as outras serão sempre as mesmas em qualquer das situações.

No caso de “place=*” temos de ter em consideração o contexto do aglomerado:

  • Se estiver perto de outros (ou até dentro de um perímetro urbano) então é “place=neighbourhood” (lugares, bairros, urbanizações, etc.)
  • Se estiver longe de outros então é “place=hamlet” (aldeias)
  • Se for uma quinta/herdade então é “place=farm” (este último é um tanto raro)

Para a linha vamos atribuir a função de “outer” e para o nó a função de “admin_centre”.

Feito isto, aceitamos a relação.

Para terminar vamos seleccionar novamente a linha que define o aglomerado (e a relação) e vamos atribuir as seguintes etiquetas:

  • admin_level=10
  • border_type=lugar
  • boundary=administrative
  • source=INE - BGRI 2011

Não esquecer de apagar as etiquetas “LUG11” e “LUG11DESIG”.

Toques finais e envio para o OSM

De forma a que esteja devidamente organizada, recomendo incluir a relação recém-criada na relação da freguesia a que pertence da seguinte maneira:

  1. Averiguar a freguesia que este aglomeração faz parte (neste caso é a freguesia extinta do Vale de Remígio)
  2. Seleccionar a relação recém-criada na lista de relações (os dados ficaram a rosa)
  3. Procurar pela freguesia (ou freguesia extinta) na lista de relações e clica no botão “editar”
  4. Adiciona a aldeia/lugar seleccionado ao fundo da relação, atribuindo-lhe a função de “subarea”
  5. Confirmar a edição

Também é preciso ver se o nó contém a informação correta, isto é, que tenha o mesmo nome que a relação da aglomeração e mesmo tipo de “place=*”.

Feito isto tudo, temos agora duas opções: ou enviamos o que foi feito para o OSM ou repetimos o processo para outro aglomerado.

Se repetirmos o processo podemos copiar a relação e adaptar-la de modo a poupar tempo.

Sem mais nada a referir, deixo aqui uma amostra do que poderão fazer, bom trabalho!

https://i.imgur.com/3G4zTti.png

Casos Excepcionais

  • Se o aglomerado se situa em duas ou mais freguesias (ou freguesias extintas) então criamos uma relação para cada uma sem que tenha a tag “place=*”, no final cria uma nova relação que vai corresponder ao lugar/aldeia (exemplo).