Ver la Versión Completa : [ IDEA ] Velocimetro digital GPS
cace0353
27/02/15, 19:11:18
Hola a todos, taskeros.
Os presento mi último proyecto: un velocímetro digital que muestra la velocidad por GPS y avisa cuando la sobrepasamos y cuando nos pueden sancionar.
El velocímetro de mi coche da un error del orden del 10% por debajo de la velocidad real que obtengo del GPS. Este valor depende del tamaño de los neumáticos, estado de desgaste y de la presión de hinchado ya que estos factores alteran la circunferencia (perímetro) de la rueda.
MOTIVACIÓN
1.- La prensa ha publicado recientemente la modificación de los criterios que ha anunciado la DGT para sancionar los excesos de velocidad con un margen de tolerancia.
Estos márgenes han quedado definidos así:
a) Para velocidades inferiores a 100 Km/h el margen es de 7 Km/h. Es decir que, si por ejemplo, en un tramo la velocidad máxima indicada es de 70 Km/h se sancionará a partir de 77 (= 70 + 7) Km/h.
b) Para las velocidades iguales o superiores a 100 Km/h el margen es del 7%. En este caso, si en un tramo la velocidad máxima es de 120 Km/k. se sancionará a partir de una velocidad igual o superior a 128.4 Km/h (= 120 + 7*120/100).
2.- Aunque uso un avisador de radares combinado con el navegador, en zonas urbanas Radardroid te avisa de los radares que tienes en un radio determinado (en mi caso 500 m.) y me encuentro, p.e. en las Rondas de Barcelona (en Madrid ocurrirá lo mismo con las M-30, M-40...), con numerosas vias paralelas. En estos tramos el móvil no para de darme avisos de los radares fijos y móviles que tengo en el campo de detección (y en 500 m. hay muchos...).
3.- El programa està previsto para "cumplir estrictamente" con los límites. No se trata de ir a toda leche y frenar cuando tienes una alarma de radar cercano (fijo o posible móvil). Se trata de fijar la máxima, saber si vas por encima de esta velocidad (pero aún en el margen no sancionable) y que te avise si te pasas.
Si optas por lo otro "siempre nos quedara Radardroid..."
La idea es, pues, aprovechar la precisión del GPS para, aplicando los márgenes que da la propia DGT, no sobrepasar la máxima velocidad "tolerada".
De esta manera te cubres también de la cámara-radar del helicóptero y de cualquier otro radar digamos "espontáneo" que no figure en las bases de datos de radares corrientes.
PREMISAS DE PARTIDA (Hardware y software)
Tengo un Nexus 5 rooteado, con KitKat 4.4.4 (resolución 1920x1080), Kernel y Radio Stock, Exposed Framework con GravityBox y Secure Settings. Hay instalado además SVOX Classic con la voz de Pablo para avisar por voz (acción A35) que podeis cambiar por el de Google.
A partir de ahí cada usuario podrá modificar el XML para adaptarlo a su smartphone y a si tiene o no tiene instalado Exposed:
Si no lo tiene podrá eliminar las acciones A1, A3 y activar el GPS manualmente y la conexión 3G antes de entrar en el programa. (Yo estoy normalmente en 2G porque me dá mejor cobertura y, por tanto, menor consumo)
También debereis de adaptar la escena a vuestra resolución si no es HD y a vuestro gusto. Por ejemplo, eliminando el botón de reconocimiento de voz cuyo funcionamiento aún no está muy pulido...
FUNCIONAMIENTO
https://dl.dropboxusercontent.com/u/13481585/Speed/Screenshot_2015-02-27-13-00-13_opt.png
Arriba a la izquierda hay el disco de velocidad máxima del tramo que se selecciona:
a) Mediante uno de los botones de la parte inferior.
b) Apretando el el boton "Dir velocitat" y pronunciando el número (p.e.: "setenta"). Si no lo pronuncias claro se altera el funcionamiento y debes volver a ejecutar el programa. Esta opción está en fase de desarrollo y, con la ayuda de los maestros, espero que acabe funcionando.
Esto nos permite fijar valores poco frecuentes del límite: 35, 45, 75 ... Km/h.
Inmediatamente debajo del botón "Dir velocitat" hay un botón para salir del programa (sin más explicaciones...)
Abajo a la izquierda un cuadro nos informa de la precisión (en metros) del GPS a cada momento, mostrando un fondo rojo si no tiene datos y cambiando a verde en cuanto coge posición GPS.
En la parte central se muestra la velocidad GPS real. La cifra está en verde cuando es inferior o igual a la máxima permitida (la que tu has fijado previamente, claro!). El color cambia a naranja cuando la superas. Finalmente, cuando llegas al límite a partir del cual te pueden sancionar, suena un beep, las cifras se muestran en rojo y te alerta por voz que has superado el límite máximo.
Tened en cuenta el posible error del GPS. Si quereis podeis modificar el programa poniendo el margen tolerable en 5 Km/h y 5% por ejemplo. Evidentemente NO me hago responsable ni me hago cargo de la multa si os cazan por 2 o 3 Km/h. de más.
CÓDIGO EN FORMATO TEXTO
Sólo hay una tarea principal y una escena (al final hay un enlace al XML). En los botones de la escena hay grupos de acciones para hacer cosas concretas. Por ejemplo, al salir, se desactiva el GPS, se vuelve a 3G, se destruye la escena, se vuelve a poner el tiempo de espera de pantalla a 1 minuto y se detiene la tarea. (Para que no se apague la pantalla he puesto un tiempo de espera de 2 horas, así, además, cuando llevo dos horas conduciendo se me apaga la pantalla y sé que debo parar...)
Los nombres estan en catalán, pero esto no supondrá un problema para nadie.
Como SVOX Classic no tiene locutor en catalán he hecho una chapuza que ya hacia en el TomTom: hacer una transcripción fonética del aviso del límite de velocidad para que suene en catalán. (ver acción A35)
Velocitat (114)
A1: Secure Settings [ Configuración:GPS Enabled Paquete:com.intangibleobject.securesettings.plugin Nombre:Secure Settings Cuenta atrás (segundos):0 ]
A2: Red móvil [ Establecer:Encendido ]
A3: Enviar Intent [ Acción:gravitybox.intent.action.CHANGE_NETWORK_TYP E Categ.:None Tipo Mime: Datos: Extra:networkType:2 Extra: Paquete: Clase: Objetivo:Broadcast Receiver ]
A4: WiFi [ Establecer:Encendido ]
A5: Obtener ubicación [ Origen:GPS Cuenta atrás (segundos):40 Continuar tarea inmediatamente:Encendido Mantener Seguimiento:Encendido ]
A6: Establecer variable [ Nombre:%Velocitat A:0 Calcular:Encendido Añadir:Apagado ]
A7: Establecer variable [ Nombre:%colorgps A:#FF940000 Calcular:Apagado Añadir:Apagado ]
A8: Establecer variable [ Nombre:%Colornumeros A:#FFB0B0B0 Calcular:Apagado Añadir:Apagado ]
A9: Tiempo de espera de pantalla [ Segs:0 Mins:0 Horas:2 ]
A10: Mostrar Escena [ Nombre:Velocimetre Mostrar como:Actividad, Ventana Completa, Sin Título Posición Horizontal:100 Posición Vertical:100 Animación:Desvanecer Mostrar Botón Salida:Apagado Continuar tarea inmediatamente:Encendido ]
A11: Anchor
A12: Establecer variable [ Nombre:%velocitat A:%LOCSPD Calcular:Encendido Añadir:Apagado ]
A13: Establecer variable [ Nombre:%Velocitat A:ceil(%velocitat*3.6) Calcular:Encendido Añadir:Apagado ]
A14: Si (if) [ %TIMES-%LOCTMS > 5 ]
A15: Establecer variable [ Nombre:%colorgps A:#FF940000 Calcular:Apagado Añadir:Apagado ]
A16: Establecer variable [ Nombre:%precisio A:? Calcular:Apagado Añadir:Apagado ]
A17: Else
A18: Establecer variable [ Nombre:%precisio A:%LOCACC Calcular:Encendido Añadir:Apagado ]
A19: Establecer variable [ Nombre:%colorgps A:#FF1F5400 Calcular:Apagado Añadir:Apagado ]
A20: Fin si (End if)
A21: Si (if) [ %Max < 100 ]
A22: Establecer variable [ Nombre:%max A:%Max+8 Calcular:Encendido Añadir:Apagado ]
A23: Else
A24: Establecer variable [ Nombre:%max A:%Max*1.07 Calcular:Encendido Añadir:Apagado ]
A25: Fin si (End if)
A26: Establecer variable [ Nombre:%Color A:#FF15BD2A Calcular:Apagado Añadir:Apagado ] Si (if) [ %Velocitat < %Max | %Velocitat ~ %Max ]
A27: Si (if) [ %Velocitat > %Max & %Velocitat < %max ]
A28: Establecer variable [ Nombre:%Color A:#FFCC6000 Calcular:Apagado Añadir:Apagado ]
A29: Establecer variable [ Nombre:%control A:1 Calcular:Encendido Añadir:Apagado ]
A30: Fin si (End if)
A31: Si (if) [ %Velocitat > %max | %Velocitat ~ %max ]
A32: Bip [ Frecuencia:8000 Duración:1000 Amplitud:50 Stream:3 ]
A33: Establecer variable [ Nombre:%Color A:#FFAE0606 Calcular:Apagado Añadir:Apagado ]
A34: Si (if) [ %control ~ 1 ]
A35: Decir [ Texto:Atansió velositat maxima Motor: Voz:com.svox.classic:spa-ESP-Pablo Stream:3 Tono:5 Velocidad:6 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A36: Establecer variable [ Nombre:%control A:0 Calcular:Encendido Añadir:Apagado ]
A37: Fin si (End if)
A38: Fin si (End if)
A39: Esperar [ MS:0 Segundos:1 Minutos:0 Horas:0 Días:0 ]
A40: Ir a acción [ Tipo:Etiqueta Acción Número:1 Etiqueta:verifica ]
Enlace al XML que iré actualizando:
https://dl.dropboxusercontent.com/u/13481585/Speed/Speed.prj.xml
Bueno, y como siempre, estoy atento a vuestras sugerencias.
Saludos a todos!
PD: Modificado el límite para vecidades mayores de 100 km/h. al 7% de acuerdo con lo que se dice oficialmente en la web de la DGT. El archivo XML se ha modificado en consecuencia.
Caravantes
28/02/15, 00:09:45
Velocimetro digital GPS
Excelente, Cace, muchas gracias.
Creo que te has equivocado y has puesto el código dentro de etiquetas Quote (cita) en lugar de las etiquetas Code que sería lo adecuado. Me he dado cuenta porque se ve una carita sonriente en una zona que hay dos puntos (:) seguidos de una letra D mayuscula: Animación:Desvanecer.
Respecto al código... la tarea hace un bucle una y otra vez. Pero al principio hay cuatro acciones que solo son importantes en la primera ejecución.
A1: Secure Settings [ Configuración:GPS Enabled Paquete:com.intangibleobject.securesettings.plugin Nombre:Secure Settings Cuenta atrás (segundos):0 ]
A2: Red móvil [ Establecer:Encendido ]
A3: Enviar Intent [ Acción:gravitybox.intent.action.CHANGE_NETWORK_TYP E Categ.:None Tipo Mime: Datos: Extra:networkType:2 Extra: Paquete: Clase: Objetivo:Broadcast Receiver ]
A4: WiFi [ Establecer:Encendido ]
Supongo que no tiene sentido repetir estas acciones en la segunda vuelta del bucle, y en las siguientes. Por tanto creo que sería más adecuado que la última acción (A40) fuese IR A ACCIÓN NÚMERO 5.
cace0353
28/02/15, 00:35:51
Excelente, Cace, muchas gracias.
Creo que te has equivocado y has puesto el código dentro de etiquetas Quote (cita) en lugar de las etiquetas Code que sería lo adecuado. Me he dado cuenta porque se ve una carita sonriente en una zona que hay dos puntos (:) seguidos de una letra D mayuscula: Animación:Desvanecer.
Respecto al código... la tarea hace un bucle una y otra vez. Pero al principio hay cuatro acciones que solo son importantes en la primera ejecución.
A1: Secure Settings [ Configuración:GPS Enabled Paquete:com.intangibleobject.securesettings.plugin Nombre:Secure Settings Cuenta atrás (segundos):0 ]
A2: Red móvil [ Establecer:Encendido ]
A3: Enviar Intent [ Acción:gravitybox.intent.action.CHANGE_NETWORK_TYP E Categ.:None Tipo Mime: Datos: Extra:networkType:2 Extra: Paquete: Clase: Objetivo:Broadcast Receiver ]
A4: WiFi [ Establecer:Encendido ]
Supongo que no tiene sentido repetir estas acciones en la segunda vuelta del bucle, y en las siguientes. Por tanto creo que sería más adecuado que la última acción (A40) fuese IR A ACCIÓN NÚMERO 5.
Hola Caravantes, saludos. Ahora cambio los [quote] por [code], ahí me has pillado...
Por lo que se refiere al bucle creo que está bién donde está.
En las primeras acciones se activa el GPS, se pone la red en 3G, se activa el Wifi para mejorar el posicionamiento y se fijan unos parámetros (velocidad al iniciar = 0, colores, precisión = "?" hasta que no se haya determinado y el tiempo de pantalla) que no cambiaran en toda la ejecución. Finalmente se muestra la escena.
El bucle empieza en A11
Las variables (velocidad real, precisión, color, velocidad que se desea,...) irán cambiando en la propia escena en cada ciclo (establecido a 1 seg.)
O me he perdido algo?
EDITO: Ahora lo he visto. La etiqueta <verifica> no aparece en el listado en texto (no sé porqué). Va justo en la linea en blanco que aparece antes de la acción A11 y se corresponde con <anchor> que és el nombre de la acción "etiqueta" en la última versión de Tasker (v4.6u3). Además veo que aparece "ir a accion numero: 1" cuando en el codigo tengo "ir a etiqueta: <verifica>". Debe ser un problema de la exportación en formato texto...
Caravantes
28/02/15, 00:59:29
EDITO: Ahora lo he visto. La etiqueta <verifica> no aparece en el listado en texto (no sé porqué). Va justo en la linea en blanco que aparece antes de la acción A11 y se corresponde con <anchor> que és el nombre de la acción "etiqueta" en la última versión de Tasker (v4.6u3). Además veo que aparece "ir a accion numero: 1" cuando en el codigo tengo "ir a etiqueta: <verifica>". Debe ser un problema de la exportación en formato texto...
Aclarado. Muchas gracias. Ahora sí estamos de acuerdo.
aquí os subo el velocímetro de cace353 un poco retocado, con las calles por las que vas con velocidad media y en castellano. 1 escena y 1 tarea importar y ejecutar la tarea velocímetro y a funcionar. saludos. aquí teneis el link de descarga. http://www.mediafire.com/download/djjfnq11w6trqoo/velocÃmetro.zip
cace0353
28/02/15, 16:55:18
Muy bien, m8ax, en cuanto pueda lo pruebo.
Lo que me gustaria implementar y no tengo NPI de como hacerlo, seria que la velocidad de la via por la que circulas se ajustara automaticamente.
A ver si algun experto nos ilumina…!
Enviat des del meu Nexus 5
para eso... tendría q usar maps algún XML de improtacion mientras vas mirando la latitud y la longi preguntando a google y sacando las velocidades de la via... pero no tengo tiempo. pero poder se puede. pero vamos asi como esta yo creo q ya esta bien. o bueno como he añladido lo de por la calle q vas... seria buscar esa calle en google o mismamete si por ejemplo dice estas en lr 113 pues yo no se como va lo de las carreteras las autopistas son a la lr será una nacional no? pues si es lr 90 si es a 120 etc... no ? saludos. tio no me dais mas q ideas y estoy ya del tasker hasta la poya q me currao un tasker con un autobackuo de 3.7 megas lleva ya.. hjajaja estoy loco.
cace0353
28/02/15, 17:39:45
para eso... tendría q usar maps algún XML de improtacion mientras vas mirando la latitud y la longi preguntando a google y sacando las velocidades de la via... pero no tengo tiempo. pero poder se puede. pero vamos asi como esta yo creo q ya esta bien. o bueno como he añladido lo de por la calle q vas... seria buscar esa calle en google o mismamete si por ejemplo dice estas en lr 113 pues yo no se como va lo de las carreteras las autopistas son a la lr será una nacional no? pues si es lr 90 si es a 120 etc... no ? saludos. tio no me dais mas q ideas y estoy ya del tasker hasta la poya q me currao un tasker con un autobackuo de 3.7 megas lleva ya.. hjajaja estoy loco.
Loco? Es que no lo estamos todos un poco? Y lo bién que lo pasamos?
Estoy viendo el fútbol por la tele y, entre el Tasker, el foro y el Whatsapp con mis hijos, me estoy perdiendo la %mitad. Ja, ja, ja.
Enviat des del meu Nexus 5
cace0353
28/02/15, 19:46:54
Hola de nuevo,
Respecto a conocer la velocidad de tu via: todos los programas de navegación asistida y los avisadores de radares lo saben... Me pregunto: cual es el algoritmo y cual la base de datos para, a partir de tu posición GPS (%LOC), conocer en que via estás?
Bajando el fichero en formato texto de Puntosdeinteres, tengo un listado así:
X,Y,TYPE,SPEED,DirType,Direction
-2.92064,43.17003,1,50,1,0;n-0 Fichero Generado el 28-02-2015 por www.puntodeinteres.com (http://www.puntodeinteres.com)
-2.88989,43.23151,1,80,1,280;n-1 Fichero Generado el 28-02-2015 por www.puntodeinteres.com (http://www.puntodeinteres.com)
-2.90821,43.23372,1,80,1,270;n-2 Fichero Generado el 28-02-2015 por www.puntodeinteres.com (http://www.puntodeinteres.com)
-2.94295,43.24940,1,80,1,320;n-3 Fichero Generado el 28-02-2015 por www.puntodeinteres.com (http://www.puntodeinteres.com)
-2.95322,43.25772,1,70,1,335;n-4 Fichero Generado el 28-02-2015 por www.puntodeinteres.com (http://www.puntodeinteres.com)
--------------
--------------
De aquí podria extraer: la velocidad, el nombre de la carretera y el angulo de la dirección de la via comparando mi posición con los valores de la lista.
Así se podria establecer, al estar cerca de un radar, la velocidad permitida en el tramo. Pero hasta cuando? Si no hay otro radar o he cambiado de ruta no se produciria el cambio automático de velocidad. Planteado así no me sirve...
Habrá que seguir investigando, y mientras, utilizar el método manual.
Volveré, como Mac Arthur!
nuevas modificaciones... incluyo el fichero zip con los ficheros necesarios. ahora nos dice el tiempo q hace por dodne vamos si hace buen diam alo temperatura.. el nombre de la calle o carretera... la velocidad media a la que vamos, la distancia recorrida... espero que os guste... sobre todo a ti cace jajaja. saludos. https://www.mediafire.com/?440f2v3y20lo3aa
cace0353
02/03/15, 10:16:51
nuevas modificaciones... incluyo el fichero zip con los ficheros necesarios. ahora nos dice el tiempo q hace por dodne vamos si hace buen diam alo temperatura.. el nombre de la calle o carretera... la velocidad media a la que vamos, la distancia recorrida... espero que os guste... sobre todo a ti cace jajaja. saludos. https://www.mediafire.com/?440f2v3y20lo3aa
Hola @m8ax (http://www.htcmania.com/member.php?u=1119700), he visto y probado tu propuesta y creo que se aleja un poco de mi planteamiento...
Mi idea era hacer un diseño minimalista y limitado a las alertas relativas a los límites velocidad. Los otros datos los puedo tener usando qualquier navegador offline conjuntamente con Radardroid. Lo que no me gusta de tu propuesta es que el programa esté continuamente consultando los servidores de Google (y consumiendo datos) sea para conocer la via por la que circulas o para ver el tiempo que hace...
No obstante me has dado una pista relativa a solucionar el problema de fijar "automáticamente" la velocidad de la via:
Una consulta cada minuto, p.e., a Google Maps me permitiria tener el nombre de lugar y, con Separar Variable, coger sólo la primera palabra del nombre de la via: calle, paseo, avenida, carretera, autovia o autopista.
A partir de este dato podria establecer las velocidades automáticamente: 120 para autopista, 100 para autovia 70 para carreteras y 50 para los otros casos. Un aviso acústico podria advertirme del cambio automático, que siempre podria corregir manualmente si no fuera correcto.
Faltaria comprobar como va de consumo de datos (Mb/hora): si és asumible o no...
Quizá lo probaré, pero no abandono la idea de hacerlo automático del todo.
Una cosa más. Puedes activar Radardroid para que corra en segundo plano, no estorba porque queda encima del boton del reconocimiento de voz (para lo que me sirve a mí...!). Lo he usado como complemento para que me avise, además, de los radares. Muestra la velocidad y casi siempre indica 1 Km/h menos que la que me sale a mí. Esto es debido a que al calcular la velocidad en Km/h a partir de la que da el sistema en m/seg (%LOCSPD * 3.6) antepuse un operador matemático ceil de manera que el resultado se redondeara por arriba al entero más próximo, del lado de la seguridad...
cace0353
02/03/15, 10:29:00
Respecto a lo que sugieren @GraphicAdventure (http://www.htcmania.com/member.php?u=1124367) y z3us en el hilo que abrí sobre el reconocimiento offline de números por voz http://www.htcmania.com/showthread.php?t=978352, lo he probado y, muy lamentablemente en mi caso (tengo el sistema en catalán) no hay paquete de voz offline para mi idioma...
Lo cuento porque a una mayoria les puede servir, tanto para mi programa como para otros.
Gracias de todos modos.
okis lo del tiempo lo he quitado no es que consuma datos esque hace calcular demasiado al móvil pero lo de las calles por ejemplo lo he dejado ahora he puesto q cada 10 segundos mire... y tras una hora solo ha consumido 2mb, he añadido también un mapa tras pulsar continuadamente la velocidad y trasnmisio nde posición y estadísticas a familiares en caso de accidente... a ver si hago lo de las calles q dices... solo hay esos tipos de vías? no hay ,mas? lo del ceil creo q ya se lo quite yo al menos ahora lo tengo quitado. de donde sacas los limites de velocidad para cada cosa. para ponerme a elo? autovía no es 120 también ?
pues va a ser algo difícil tio, porque en autopistas no sale autopista puede salir a-7 o un monton de cosas he mirado esto mira con esta dirección saco yo la posición no?
http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928
el final es %LOC del gps... vale consultas eso y te sale un XML en el cual pensé q saldría la velocidad de la via etc pero no sale...
<?xml version="1.0" encoding="UTF-8"?> namespace html url(http://www.w3.org/1999/xhtml); :root { font:small Verdana; font-weight: bold; padding: 2em; padding-left:4em; } * { display: block; padding-left: 2em; } html|style { display: none; } html|span, html|a { display: inline; padding: 0; font-weight: normal; text-decoration: none; } html|span.block { display: block; } *[html|hidden], span.block[html|hidden] { display: none; } .expand { display: block; } .expand:before { content: '+'; color: red; position: absolute; left: -1em; } .collapse { display: block; } .collapse:before { content: '-'; color: red; position: absolute; left:-1em; } <GeocodeResponse> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<status>OK</status><result> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<type>route</type><formatted_address>Unnamed Road, 26323 Alesanco, La Rioja, España</formatted_address><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>Unnamed Road</long_name><short_name>Unnamed Road</short_name><type>route</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>Alesanco</long_name><short_name>Alesanco</short_name><type>locality</type><type>political</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>Azofra</long_name><short_name>Azofra</short_name><type>administrative_area_level_4</type><type>political</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>La Rioja</long_name><short_name>LO</short_name><type>administrative_area_level_2</type><type>political</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>La Rioja</long_name><short_name>La Rioja</short_name><type>administrative_area_level_1</type><type>political</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>España</long_name><short_name>ES</short_name><type>country</type><type>political</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>26323</long_name><short_name>26323</short_name><type>postal_code</type></address_component><geometry> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<location> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.4172423</lat><lng>-2.7807790</lng></location><location_type>APPROXIMATE</location_type><viewport> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<southwest> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.4139521</lat><lng>-2.7847439</lng></southwest><northeast> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.4193062</lat><lng>-2.7801024</lng></northeast></viewport><bounds> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<southwest> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.4139521</lat><lng>-2.7847439</lng></southwest><northeast> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.4193062</lat><lng>-2.7801024</lng></northeast></bounds></geometry><place_id>ChIJu_VjKGFnRQ0R_jYPz8qW_Xo</place_id></result><result> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<type>administrative_area_level_4</type><type>political</type><formatted_address>Azofra, La Rioja, España</formatted_address><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>Azofra</long_name><short_name>Azofra</short_name><type>administrative_area_level_4</type><type>political</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>Nájera</long_name><short_name>Nájera</short_name><type>administrative_area_level_3</type><type>political</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>La Rioja</long_name><short_name>LO</short_name><type>administrative_area_level_2</type><type>political</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>La Rioja</long_name><short_name>La Rioja</short_name><type>administrative_area_level_1</type><type>political</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>España</long_name><short_name>ES</short_name><type>country</type><type>political</type></address_component><geometry> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<location> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.4333906</lat><lng>-2.8028823</lng></location><location_type>APPROXIMATE</location_type><viewport> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<southwest> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.4132687</lat><lng>-2.8312036</lng></southwest><northeast> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.4686454</lat><lng>-2.7725533</lng></northeast></viewport><bounds> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<southwest> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.4132687</lat><lng>-2.8312036</lng></southwest><northeast> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.4686454</lat><lng>-2.7725533</lng></northeast></bounds></geometry><place_id>ChIJ3UgUn8tgRQ0RcMnKc4L1BAQ</place_id></result><result> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<type>postal_code</type><formatted_address>26323 Hormilla, La Rioja, España</formatted_address><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>26323</long_name><short_name>26323</short_name><type>postal_code</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>Hormilla</long_name><short_name>Hormilla</short_name><type>locality</type><type>political</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>Nájera</long_name><short_name>Nájera</short_name><type>administrative_area_level_3</type><type>political</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>La Rioja</long_name><short_name>LO</short_name><type>administrative_area_level_2</type><type>political</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>La Rioja</long_name><short_name>La Rioja</short_name><type>administrative_area_level_1</type><type>political</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>España</long_name><short_name>ES</short_name><type>country</type><type>political</type></address_component><geometry> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<location> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.4484820</lat><lng>-2.7879401</lng></location><location_type>APPROXIMATE</location_type><viewport> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<southwest> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.4132693</lat><lng>-2.8312038</lng></southwest><northeast> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.4791606</lat><lng>-2.7514586</lng></northeast></viewport><bounds> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<southwest> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.4132693</lat><lng>-2.8312038</lng></southwest><northeast> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.4791606</lat><lng>-2.7514586</lng></northeast></bounds></geometry><postcode_locality>Azofra</postcode_locality><postcode_locality>Hormilla</postcode_locality><place_id>ChIJZ61m47BgRQ0RkFgivoX1BBw</place_id></result><result> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<type>administrative_area_level_3</type><type>political</type><formatted_address>Nájera, La Rioja, España</formatted_address><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>Nájera</long_name><short_name>Nájera</short_name><type>administrative_area_level_3</type><type>political</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>La Rioja</long_name><short_name>LO</short_name><type>administrative_area_level_2</type><type>political</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>La Rioja</long_name><short_name>La Rioja</short_name><type>administrative_area_level_1</type><type>political</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>España</long_name><short_name>ES</short_name><type>country</type><type>political</type></address_component><geometry> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<location> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.3813839</lat><lng>-2.7182728</lng></location><location_type>APPROXIMATE</location_type><viewport> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<southwest> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.2862891</lat><lng>-2.9147957</lng></southwest><northeast> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.4846951</lat><lng>-2.6073996</lng></northeast></viewport><bounds> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<southwest> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.2862891</lat><lng>-2.9147957</lng></southwest><northeast> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.4846951</lat><lng>-2.6073996</lng></northeast></bounds></geometry><place_id>ChIJPTi_eWxdRQ0RNYdDh7uNl4w</place_id></result><result> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<type>administrative_area_level_2</type><type>political</type><formatted_address>La Rioja, España</formatted_address><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>La Rioja</long_name><short_name>LO</short_name><type>administrative_area_level_2</type><type>political</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>La Rioja</long_name><short_name>La Rioja</short_name><type>administrative_area_level_1</type><type>political</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>España</long_name><short_name>ES</short_name><type>country</type><type>political</type></address_component><geometry> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<location> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.2870733</lat><lng>-2.5396030</lng></location><location_type>APPROXIMATE</location_type><viewport> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<southwest> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>41.9190339</lat><lng>-3.1342713</lng></southwest><northeast> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.6442647</lat><lng>-1.6787014</lng></northeast></viewport><bounds> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<southwest> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>41.9190339</lat><lng>-3.1342713</lng></southwest><northeast> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.6442647</lat><lng>-1.6787014</lng></northeast></bounds></geometry><place_id>ChIJKyUglHG0Wg0R0MrJc4L1BAM</place_id></result><result> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<type>administrative_area_level_1</type><type>political</type><formatted_address>La Rioja, España</formatted_address><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>La Rioja</long_name><short_name>La Rioja</short_name><type>administrative_area_level_1</type><type>political</type></address_component><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>España</long_name><short_name>ES</short_name><type>country</type><type>political</type></address_component><geometry> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<location> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.2870733</lat><lng>-2.5396030</lng></location><location_type>APPROXIMATE</location_type><viewport> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<southwest> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>41.9190339</lat><lng>-3.1342713</lng></southwest><northeast> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.6442647</lat><lng>-1.6787014</lng></northeast></viewport><bounds> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<southwest> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>41.9190339</lat><lng>-3.1342713</lng></southwest><northeast> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>42.6442647</lat><lng>-1.6787014</lng></northeast></bounds></geometry><place_id>ChIJu9z3TpJLRQ0Rjimbpl76f3g</place_id></result><result> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<type>country</type><type>political</type><formatted_address>España</formatted_address><address_component> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<long_name>España</long_name><short_name>ES</short_name><type>country</type><type>political</type></address_component><geometry> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<location> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>40.4636670</lat><lng>-3.7492200</lng></location><location_type>APPROXIMATE</location_type><viewport> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<southwest> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>35.1730000</lat><lng>-12.5240000</lng></southwest><northeast> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>45.2440000</lat><lng>5.0980000</lng></northeast></viewport><bounds> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<southwest> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>27.6377894</lat><lng>-18.1607880</lng></southwest><northeast> (http://maps.google.com/maps/api/geocode/xml?sensor=true&latlng=42.415754,-2.77928#)<lat>43.7923795</lat><lng>4.3277839</lng></northeast></bounds></geometry><place_id>ChIJi7xhMnjjQgwR7KNoB5Qs7KY</place_id></result></GeocodeResponse>
no tengo ganas de pensar q tengo ya el tasker con 3.7mb de autobvackup.. xD Tendre el record mundial ?
cace0353
04/03/15, 10:32:36
Hola m8ax,
Yo lo estoy trabajando en un modo semi-automático, de manera que si elijo la velocidad manualmente funciona con este valor de %Max. Si pulso sobre el disco de la velocidad, me cambia a modo semi-automático. Puedo volver al modo manual pulsando de nuevo en cualquier valor de velocidad. Esto me permite desactivar el modo AUTO si no ha funcionado correctamente, al menos mientras no sea 90% fiable... ;-)
La parte que te interesa del XML es la que ya hay establecida en la popular tarea "nombresitio", justo la que hay entre los dos "formatted address".
<formatted_address>Unnamed Road, 26323 Alesanco, La Rioja, España</formatted_address>Ahora bién, yo hago una nueva división de la variable "nombresitio" utilizando como separador la coma " , " y me quedo con la primera hija. En tu caso "Unnamed Road".
Con esto consigo que en la expresión que me aparece en pantalla SOLO se vea el nombre de la via (no me interesan el resto de datos...)
Este texto (nombre de la via) me aparece en el modo semi-autmático, y desaparece (desconectando también la consulta de datos) cuando voy en modo manual.
Tienes razón en cuanto al consumo de datos. Estoy funcionando con 15 seg. de refresco del nombre de la via y no noto consumos exagerados.
En cuanto a la fijación de la velocidad en función del nombre de la via estoy tratándolo a base de múltiples condiciones IF (Lo tengo aún en fase de testeo y, por lo tanto, está revisable):
Establecer variable %Max a 50 (para las vias en general, no incluidas en los IF (calle, avenida, paseo,camino,alameda, rambla, ronda, etc, etc) y para que, en ningún caso, la variable quede vacia)
IF nombrevia ~ *-*: Establecer variable %Max a 120 (esto incluye todas la autopistas y autovias, pero también muchas carreteras...)
IF nombrevia ~ E-*: Establecer variable %Max a 100 (para las carreteras E y se cumple aunque la condición *-* también se haya cumplido)
IF nombrevia ~ N-*: Establecer variable %Max a 90 (para las carreteras nacionales y se cumple aunque la condición *-* también se haya cumplido)
IF nombrevia ~ carreter*: Establecer variable %Max a 70 (para las carreteras comarcales o locales)
---------
Aquí viene una serie de condiciones fijadas con REGEX (que es lo que me está dando más trabajo porque hay innumerables nombres propios de carreteras y mis conocimientos de REGEX són, por ahora, mínimos...)
---------
Estoy en ello y, cuando tenga una versión utilizable y mejorada para corregir algunos fallos detectados e incorporando nuevas pestaciones (sin apartarme de la simplicidad de visualización), la colgaré en el primer post editándolo.
PD.- Sin ánimo de ofender sino más bién para ayudarte: creo que escribes un poco a trompicones y se hace complicado entender alguna de las cosas que escribes. Te aconsejo, por el bien de todos, que revises los mensajes después de escribirlos (vista previa del mensaje en modo avanzado) y los edites para que se entienda mejor.
http://www.mediafire.com/download/jdmluo1v2jn8m9v/VelocÃmetro.7z
en el link esta un apk con la apliaccion para si alguno no tiene tasker y quiere probarla
y el proyecto XML con mas cosas añadidas como un mapa q se pone en modo satellite si vas a menos de 40 y si va sa mas se pone sin satélite. para sacar el mapa mantener pulsar el texto donde dice velocidad o el de distancia recorrida. añadida duración del viaje log en sdcard/tasker creo q he añadido si te psas de velocidad te dice en cuanto tienes q bajar...
ten cuidado con los ifs, consumen mucho cpu y mas haciéndolos cada segundo. comprueba lo de la velocidad con lo de las calles por ejemplo...
cojes la calle y la guardas entera en una variable o la parte q te interesa la carretera...
cada x segundos por ejemplo cada 30 q busque por dodne vas sacas la parte q te interesa si coincide con la q tenias guardada pues seguir... y si es distinta pues saltas al proceso donde tengas los ifs... para ajustar velocidad. lo de las calles te lo dejo a ti, a mi me parece aburrido jajaja. he quitado lo del tiempo en esta versión... pruébala.
cuando sacas el mapa por donde vas q se actualiza cada 15 segs, te sale abajo tamaño comedido para q deje ver la velicidad y si quieres velrlo mas grande mantienes pulsado el mapa y se hace grande, para quitarlo botón atrás, y te qda el cuentakm. ya se q escribo fatal esq estoy a 1000 cosas,,,
que tal vas con lo de las velocidades? te va bien la tarea q hice para sacar los datos de google? la he mejorado porque el otro dia a veces si la ejecutas una vez no descarga los dfatos. antes si lo hacia no se q pasa con google. bueno ahora la he mejorado para q la repita hasta q consiga el dato.
cace0353
16/03/15, 13:10:31
que tal vas con lo de las velocidades? te va bien la tarea q hice para sacar los datos de google? la he mejorado porque el otro dia a veces si la ejecutas una vez no descarga los dfatos. antes si lo hacia no se q pasa con google. bueno ahora la he mejorado para q la repita hasta q consiga el dato.
Hola m8ax,
Nada, después de mis buenas horas trasteando el tema de fijar la velocidad en función del nombre de la via he abandonado el desarrollo... Escribí incluso al soporte de Radardroid para que me orientaran (ingenuo que es uno!) y ni me contestaron. El problema que me he encontrado es que hay mucha tipologia en la nomenclatura de las carreteras que, además, cambia de una comunidad a otra y, lo que es peor, en la misma via hay tramos con cambios de velocidad
Total que he probado la última versión de Sygic y he visto que puedes configurar avisos cuando superas la velocidad máxima para zonas urbanas y zonas de carretera con valores distintos en Km/h. Lo he puesto en 7 Km/h para ciudad y 8 Km/h en carretera que se aproxima bastante a la nueva reglamentación de la DGT. Con esto y Radardroid voy tranquilo!
Me gustaria poder hacer lo mismo con Tomtom (porque, a mi juicio, es mejor por como calcula las rutas y por como se vé en posición horizontal) pero, de momento, resuelvo el problema con Sygic...
ya te dije q había muchas tipos como para saber a q velocidad hay q ir por ellas, pero tiene q haber alguna forma en algún XML de google accediendo a la ubicación q simplemente ponga 90 o 80 o lo q sea y q sea la velocidad de esa carretera porque sino de donde sacan la info el sygic etc? o q pasa q bueno supongo q al hacer los mapas tendrán en sus datos la velocidad, pero el navegador de google estará en sus propios mapas, habrá q mirar el XML de navegación.
cace0353
18/03/15, 19:17:34
ya te dije q había muchas tipos como para saber a q velocidad hay q ir por ellas, pero tiene q haber alguna forma en algún XML de google accediendo a la ubicación q simplemente ponga 90 o 80 o lo q sea y q sea la velocidad de esa carretera porque sino de donde sacan la info el sygic etc? o q pasa q bueno supongo q al hacer los mapas tendrán en sus datos la velocidad, pero el navegador de google estará en sus propios mapas, habrá q mirar el XML de navegación.
Hace tiempo que Google compró Teleatlas que es quien confeccionaba los mapas que usaban casi todos (habia también otro fabricante, creo recordar que es Navteq): Tomtom, Sygic, Igo, etc..
Por tanto el límite de velocidad debe estar embebido de alguna manera como dato en la propia carretera. Miré en el Maps Maker de Google pero no supe encontrar nada. En el web tampoco encontré nada y, si está, no debe ser en ningún html ya que no aparece en los archivos.
Los límites de velocidad estan puestos en la base de datos de los mapas, y esto no se destriparlo con mis limitados conocimientos! Por eso he abandonado el proyecto!
Gracias por intentar ayudarme.
vBulletin® v3.8.1, Copyright ©2000-2025, Jelsoft Enterprises Ltd.