Vamos ver como descarregar e preparar os dados do OpenStreetMap para uma análise de rede, e depois todos os processos QGis agrupados sob o título Análise de Rede.
Aqui veremos exemplos de análise de redes rodoviárias, mas é claro que as mesmas possibilidades se aplicam a qualquer tipo de rede: tubagens, hidrografia, etc.
Uma das utilizações mais comuns da análise de redes é encontrar o caminho mais curto (ou mais rápido). Para tal, é necessária uma rede topologicamente sem falhas, ou seja, uma rede em que todas as secções estejam bem ligadas entre si e em que a digitalização da secção tenha sido efectuada no sentido da viagem (do ponto de partida ao ponto de chegada da secção).
A parte mais difícil do trabalho é a normalização da rede.
No que respeita à rede rodoviária, dispomos, em princípio, de dados que satisfazem todas estas condições no OpenStreetMap.
Para uma determinada área, temos três fontes de dados, todas disponíveis no site Geofabrik: shapefiles, ficheiros .osm comprimidos e ficheiros pbf.
Preparação dos dados OSM
Dependendo do tipo de ficheiro escolhido e da configuração do software, a fase de preparação dos dados, antes de poder utilizar as ferramentas de análise de rede, pode ser mais ou menos longa e complicada.
Se tiver apenas o QGis
Se não tiver uma base de dados PostgreSQL / Postgis, o formato a descarregar é o formato shapefile. Não terá toda a informação contida nos outros formatos, mas para a análise da rede rodoviária (ou hidrográfica) terá tudo o que precisa.
Para trabalhar com os processos de análise de redes QGis, utilizaremos a camada gis_osm_roads_free_1.
Se tiver o QGis e o Postgis
Em função das ferramentas de que dispõe para carregar um ficheiro OSM no Postgis, escolherá o formato OSM ou o formato pbf.
Se tiver o osm2pgrouting
osm2pgrouting é um utilitário de linha de comandos que permite carregar ficheiros no formato .osm para uma base de dados PostgreSQL / Postgis.
Como o nome sugere, por defeito, prepara os dados OSM para serem utilizados com as ferramentas de encaminhamento Postgis (pgrouting).
Um exemplo de linha de comando é mostrado abaixo:
osm2pgrouting.exe –clean=1 -f fichier_telechargé.osm -d base_de_données -p 5433 -h localhost --schema uruguay -U postgres -W ****** -c mapconfig_for_cars.xml
-d indica em que base de dados do seu servidor os dados devem ser carregados
-p corresponde à porta de escuta do servidor PostgreSQL
-W é a palavra-passe do utilizador
-c o ficheiro de configuração a utilizar para o carregamento. osm2pgrouting propõe tr
O resultado do carregamento é o seguinte:
Se tiver o osm2pgsql
osm2pgsql é um programa de linha de comandos que permite carregar todos os dados OSM numa base de dados PostgreSQL / Postgis a partir de um ficheiro .pbf.
Um exemplo de linha de comando é o seguinte
C:\osm2pgsql\osm2pgsql-bin\osm2pgsql.exe -c -d postgis_33_sample -U postgres -W -H localhost -P 5433 -S default.style uruguay-latest.osm.pbf
Os parâmetros são semelhantes aos utilizados pelo osm2pgrouting, exceto o parâmetro -S que define o ficheiro de estilo a ser utilizado. Este arquivo de estilo padrão pode ser encontrado no diretório osm2pgsql-bin no diretório de instalação do osm2pgsql. Ele indica quais colunas devem ser criadas na tabela postgis.
Para o nosso trabalho de análise de rede, é provável que, a dada altura, utilizemos a velocidade máxima autorizada dos troços para calcular o itinerário mais rápido. Infelizmente, este parâmetro (maxspeed) não está incluído na lista de atributos a criar. Para o criar, é necessário acrescentar uma linha ao ficheiro default.style:
node,way maxspeed text linear
Quando a linha de comando tiver sido executada:
Terá quatro novas tabelas na sua base de dados Postgis:
Carregamento no QGis
Para os ficheiros shp, carregue a camada gis_osm_roads_free_1.
PoPara os ficheiros osm processados com osm2pgrouting, carregar a tabela ways.
Para os ficheiros pbf processados com osm2pgsql, carregar a tabela planet_osm_line. Ao contrário do que se possa pensar, a tabela planet_osm_roads contém apenas as estradas principais. Na tabela planet_osm_line terá todas as entidades lineares e não apenas a rede rodoviária. Para ter apenas as estradas, é necessário aplicar um filtro ao atributo highway para reter apenas as linhas em que este atributo não é NULL. Se pretender trabalhar sobre a rede hidrográfica, é necessário aplicar o filtro IS NOT NULL ao atributo waterway e, se pretender trabalhar sobre a rede ferroviária, é necessário filtrar o atributo railway.
Se estiver a trabalhar à escala de uma pequena cidade ou aldeia, pode utilizar uma simbologia específica.
Pode descarregar estes símbolos em formato xml a partir desta ligação. Para os utilizar, abra o gestor de estilos, clique em importar/exportar e aponte para o ficheiro oneway.xml descarregado.
Para os aplicar, abra as propriedades da camada gis_osm_roadfs_free_1 -> simbologia. Seleccione Categorised, value-> oneway.
Terá três classes com os valores B, F e T.
Aplicar o símbolo
- oneway_both ao valor B,
- oneway_forward ao valor F,
- oneway_opposite ao valor T.
Existem também etiquetas network_speed que indicam a velocidade máxima da secção e que devem utilizar o campo maxspeed na camada.