Friday, June 8, 2012

Problema: A qué hora salir de casa para no pillar atasco de camino altrabajo?

Planteamiento

  • Tengo la suerte de que la página de la DGT publica las imágenes de trafico de todos las carreteras que uso para llegar al trabajo
  • La idea es usar estas las imágenes de las cámaras para evaluar el tráfico
  • La primera parte del proyecto consistirá en guardar las imáges de las cámaras de tráfico de las carreteras por las que paso y luego poderlas visionar de manera que pueda ver fácilmente:

Implementacion


hg clone https://albaregar@bitbucket.org/albaregar/trafficjam

Servidor de images con Django

  • Crear una aplicacion nueva: python manage.py startapp image_server
  • Para probar añadir al fichero view.py añadir el siguiente método
from django.http import HttpResponse
def get_image_test(request):
   filename = 'trafico.jpg'
   image_file = open('/home/boundingbox/webapps/rpc/myproject/image_server/%s'%filename,'rb')
   file_content = image_file.read()
   response = HttpResponse(file_content, mimetype='image/jpeg')
   response['Content-Disposition'] = 'inline; filename=%s'%filename
   return response
  • Para probar añadir al fichero url.py la siguiente línea
(r'^imageTest/$', 'myproject.image_server.views.get_image_test')
 
  • Para acceder a la imagen:
A) http://rpc.boundingbox.es/imageTest/
B)<html><head<title>Test image server</title></head><body><img src="http://rpc.boundingbox.es/imageTest/"></body></html>
  • Probar una función que devuelva una imagen dado el año, mes, dia. Añadir la siguiente linea a url.py
(r'^imageGet/(?P<year>\d\d)/(?P<month>\d\d)/(?P<day>\d\d)/$','myproject.image_server.views.get_image')
  • Añadir la siguiente función a views.py
def get_image(request, year, month, day):
    html = """
<html>
<body>Anio:%s Mes:%s Dia:%s</body>
</html>"""%(year, month, day)

    return HttpResponse(html)
  • Para comprobar que funciona
http://rpc.boundingbox.es/imageGet/10/09/20/

Cómo encontrar las cámaras

  1. Usar la página de la DGT para saber en qué carreteras hay cámaras y cúantas hay. El problema es que en esta página las cámaras se identifican por carretera y punto kilométrico lo cual hace un poco difícil situarlas en un mapa

  2. Usar la página de la guía repsol, la búsqueda por punto kilométrico y activando la capa de cámaras para poder localizar mejor la situación de las cámaras y ver si la cámara nos sirve. Usar el buscador de carreteras

  3. Usar google maps para sacar la posición GPS

Cómo servir ficheros css y javascript desde dentro de una aplicación de Django

Si la eficiencia no es una prioridad existe un modo sencillo que me viene de perlas. Todo viene explicado en este link.

No comments:

Post a Comment