Cálculo de Rotas de Cadeira de Rodas

From OpenStreetMap Wiki
Jump to navigation Jump to search

A presente página Wiki surgiu no âmbito da Unidade Curricular de Sistemas de Informação Geográfica, e tem como principal intuito o cálculo de rotas para pessoas com mobilidade reduzida. O contexto e local de estudo foi o Campus de Gualtar da Universidade do Minho, em Braga.

Primeiramente, é necessário instalar uma aplicação denominada Routino. Esta aplicação permite o planeamento de rotas entre pontos através do caminho mais rápido ou através do caminho mais curto, sendo que os diversos parâmetros podem ser definidos pelo utilizador. Assim, é possível definir-se a língua em que se pretende trabalhar no software, o tipo de transporte utilizado para calcular a rota pretendida, o tipo de vias percorridas, os limites máximos de velocidade que se podem circular nestas mesmas vias, entre outros parâmetros.


Deste modo, para o processo de instalação do Routino foi seguido o tutorial: http://wiki.openstreetmap.org/wiki/Rotas_PT


Após a instalação correcta do Routino, é possível obter-se uma página inicial segundo a figura seguinte:


Routino.png


De seguida, o objectivo é centrar e focar o mapa de abertura que se pode visualizar na figura apenas com a área de interesse, isto é, delimitado apenas com a área do Campus de Gualtar. Para tal, é necessário modificarem-se as coordenadas que delimitam esta região no ficheiro de configuração da aplicação. Este processo pode ser feito no terminal através do seguinte código:

#CÓDIGO PARA ALTERAÇÃO DA CAMADA DE ABERTURA

cd web/www/routino

gvim router.js visualiser.js

var westedge  = -8.40456;          // Minimum longitude (degrees)
var eastedge  = -8.38185;          // Maximum longitude (degrees)
var southedge = 41.55768;          // Minimum latitude (degrees)
var northedge = 41.56606;          // Maximum latitude (degrees)
var zoomout   =        9;          // Minimum zoom
var zoomin    =       20;          // Maximum zoom


O passo seguinte consiste na introdução da língua portuguesa no software Routino. Uma vez que o caso de estudo trata-se no campus de uma universidade portuguesa e que pretende apoiar, principalmente, pessoas portuguesas com determinadas limitações, então será de extrema relevância existir uma opção com a língua portuguesa. Assim, criou-se uma página html completamente traduzida para português (router.html.pt) a paritr de uma outra inglesa (router.html.en) contida na pasta .../Routino/routino-2.0.1/web/www/routino, sendo que a página em português se encontra apontada na página principal (router.html). Tal como se pode visualizar na figura é assim possível a exploração de toda a aplicação utilizando a língua portuguesa caso seja esta a pretendida.


No caso de estudo existem alguns parâmetros que não são considerados relevantes nem importantes para o contexto, uma vez que se trata apenas de vias dentro de um campus universitário e que apenas alguns tipo de veículos circulam lá dentro. Por isso, é considerado conveniente que se retirem algumas opções dos parâmetros que são definidos pelo utilizador. Deste modo, eliminou-se a hipótese da circulação de transportes pesados dentro do local, ou retiraram-se vias como autoestrada, estradas nacionais ou ferrys por não fazerem o mínimo de sentido na situação, ou então retirou-se também a hipótese de existirem túneis ou pontes no cálculo de rotas dentro do campus. Algumas outras opções foram também consideradas, tendo sido discutida a sua relevância.


Passos para fazer edições no OSM, importar os dados e testar rotas.

1. Fazer edições no JOSM.

2. Upload de todas as alterações para o servidor OSM.

3. Fechar as camadas (layers) abertas.

4. Efectuar novo download de dados do mapa.

5. Gravar. (Neste caso, gravou-se com o nome campus.osm)

6. Através do terminal, fazer a importação dos dados editados para o routino: ../bin/planetsplitter ~/Transferências/campus.osm

7. Refresh no routino (http://localhost/routino/www/routino/router.html.pt).

8. Testar rotas.


NOTA: Qualquer alteração efectuada, para que fique disponível no Routino, necessita de ser importada.


Edições no JOSM

As edições no JOSM passaram por efectuar melhorias e acrescentar percursos onde é possível passar a pé e de cadeiras de rodas, bem como as barreiras que impedem a sua passagem, nomeadamente escadas, ou ainda rampas que devido à sua elevada inclinação podem dificultar a passagem de cadeiras de rodas. De notar que, por defeito, o routino considera que as cadeiras de rodas podem circular em estradas primárias, secundárias, terciárias, não classificadas, de serviço, caminhos, e ciclovias. Não pode, porém, circular em auto-estradas e locais com escadas. Por esta razão, as tags utilizadas foram essencialmente highway=footway, highway=steps, foot=yes/no, wheelchair=yes/no/official/unknown/limited, bem como das barreiras existentes, como bollard ou lift_gate. A imagem seguinte permite a visualização dos percursos existentes e editados no Campus de Gualtar.


Edicoes.png


Algoritmos:

A solução para tornar o algoritmo rápido é descartar a maioria dos nós e só manter os mais interessantes. Neste caso, um nó é considerado interessante se for a junção de três ou mais segmentos, se for a junção de dois segmentos com propriedades diferentes, ou ainda se abarca uma restrição diferente da do segmento de conexão. Estes são considerados os super-nós. Tendo início num super-nó, um super-segmento, que termina num outro super-nó, é gerado, e contém o caminho mais curto ao longo de segmentos com propriedades idênticas (herdadas pelo super-segmento). Todos os segmentos considerados têm propriedades idênticas e são tratados de forma idêntica. Este processo de decisão pode ser repetido até que apenas os nós mais importantes e interessantes permaneçam.


Para encontrar uma ligação entre um ponto inicial e terminal, e assumindo um caminho mais curto é obrigatório):

1. Encontra todas as rotas mais curtas a partir do ponto inicial ao longo de segmentos normais e pára quando são atingidos super-nós.

2. Encontra todas as rotas mais curtas a partir do ponto terminal, para trás, e ao longo de segmentos normais, parando quando os super-nós são atingidos.

3. Encontra o caminho mais curto ao longo de super-segmentos, a partir do conjunto de super-nós encontrados nos passos 1 e 2.

4. Para cada super-segmento no passo 3, encontra a rota mais curta entre os dois super-nós finais.


Este processo é consideravelmente mais rápido do que usar todos os nós, mas dá um resultado que ainda contém a lista completa de nós que são visitados. Apesar disso, existem alguns casos especiais, por exemplo, rotas muito curtas que não passam por qualquer super-nós, ou rotas que se iniciam ou terminam num super-nó. Nestes casos, uma ou mais etapas podem ser removidas ou simplificadas. Para as rotas que não iniciam ou terminam num nó do conjunto de dados original, um nó falso é adicionado a um segmento existente. Isto requer um tratamento especial no algoritmo, mas dá flexibilidade para o modo de início, fim e pontos intermédios, numa rota.


Exemplos

Percursos mais rápido e mais curto

Deslocação do parque junto à biblioteca até ao grill


Depois de seleccionado o tipo de transporte "Cadeira-Rodas", e tomando os valores por defeito do Routino como padrão, escolheram-se os pontos da rota a testar. Depois escolhe-se o tipo de algoritmo a utilizar (mais rápido ou mais curto) e, deste modo, é traçado o percurso em questão.


Algorit.png


Como se pode ver pela imagem, o caminho mais curto (a verde), com 0.4 km, demora 6 min a ser percorrido, enquanto é apresentado um caminho mais rápido (azul) diferente que, apesar de ter 0.8 Km, apenas demora 2min a ser percorrido.


CapturaEcra-2.png


Parâmetros que influenciam a rota escolhida

Estas diferenças do exemplo acima têm a ver com as preferências de estrada e limites de velocidade seleccionados. Neste caso, atribui-se um peso de 10% à estrada de serviço e bastante peso (90%) aos caminhos. Quanto aos limites de velocidade, considerou-se que nas estradas de serviço era possível deslocar-se a uma velocidade de 25 km/h e nos caminhos a 2 km/h, isto para testar a diferença nos algoritmos.


Limites.png


Existem outros parâmetros que podem ter interesse alterar, e que se encontram em "Pesos" e em "Outras restrições".


Percurso a pé e de cadeira de rodas

Seleccionando o transporte cadeira de rodas,o caminho mais rápido a percorrer é de 0,4Km e demora 6min a efectuar.


Cadrodas.png


Pelo contrário, a pé, dado que não há limitação de barreiras, como escadas, o mesmo deslocamento apenas demora 2min a percorrer, com 0,1Km. Antes de determinar a rota, não esquecer de seleccionar o tipo de transporte "A pé".


Transporte.png


Pe.png

Recomendações

Fica aqui, como recomendação, a melhoria dos acessos para que pessoas que se deslocam de cadeira de rodas possam e tenham possibilidade e facilidade de acessos. Deste modo, aconselha-se a implementação de plataformas elevatórias nas escadas, ou ainda rampas perto das escadas para que não tenha de se fazer um percurso muito maior, em comparação com as pessoas que se deslocam a pé.