GabsGear / Flask-Jinja-GoogleMaps-OSM

Example of integration Flask+Jinja+GoogleMaps+OSM for create a GPS system with dijkstra Algorithm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Topicos Especiais 3, Sistema de localização

Aplicação do algorítmo de dijkstra na implementação de um sistema de localização.
Os dados de entrada (Grafo) é obtido na plataforma OpenStreetMaps.
Para adicionar seu proprio mapa exporte um OSM e cole na pasta src, o OSM atual cobre toda a cidade de  Araranguá-SC
Para selecionar os pontos iniciais altere no construtor da classe no arquivo tratamento.py, substitua os pontos pelo 
id dos pontos no formato OSM.

    self.inicial = '1942043262'
    self.final = '5451630914'

BACKEND: No arquivo tratamento.py é calculado o algorítmo e encontrado o menor caminho, também foram implementadas algumas funções adicionais para uso futuro que podem ser desconsideradas no momento.

No arquivo plot.py ocorre a renderização dos mapas ultilizando Flask e Google Maps, para mais detalhes vide:
https://github.com/rochacbruno/Flask-GoogleMaps
São renderizados 3 mapas:
Mapa 1:
 Contém primeiro contém os pontos iniciais (clicáveis).
Mapa 2: 
 Contém marcadores em todos os notos encontrados pelo algorítmo.
Mapa 3:
 Contem o desenho do caminho com o os pontos inicial e final.

FRONTEND: Para mostrar os mapas ultiliza a plataforma jinja para geração de templates html, src/templates/plot.html

Requisitos: 
-Python 2.7 recomendado Active Python https://www.activestate.com/activepython
-Python pip (sudo apt-get install python-pip)
-Jinja (pip install Jinja2)
-Flask (pip install Flask)
-SetupTools (pip install setuptools)
-Networkx  (pip install networkx)
-Python Flask google maps (pip install flask-googlemaps)
-Google api key https://developers.google.com/maps/documentation/javascript/get-api-key

Para rodar o programa após a instalação dos requisitos:
    $ python setup.py develop
    $ cd src
    $ python plot.py
    running..

Após a execução a aplicação rodará em seu navegador, tal tecnica otimiza muito a aplicação. Observe que mesmo com um mapa tão grande funciona gastando uma quantidade relativamente baixa de memoria e processamento. Você ainda pode aproveitar todos os recursos do google maps para a visualização do mapa.

alt text

About

Example of integration Flask+Jinja+GoogleMaps+OSM for create a GPS system with dijkstra Algorithm


Languages

Language:Python 80.0%Language:HTML 19.0%Language:Makefile 1.1%