3

Closed

Determinación de posibles nodos desconectados

description

De José:
 
En cuanto a la determinación de posibles nodos desconectados, que a veces son de los errores que nos da el ruteo y no nos es facil a veces determinarlos (hay que meteré la vista pareja), y son en los casos que una o varias vías llegan a otra y se conectan (esos son los nodos) y, de determinarse que alguna NO esta conectada, generar algún archivo, de manera de poderlo montar encima del fuente, y tomar la decisión si se trata de una desconexión de nodo realmente o es una desconexión voluntaria, como en los
casos que una via no debe estar conectada ya que hay algo que lo impide y su llegada a esa calle, es via otra, como los casos de las Urbanizaciones, que normalmente la entrada es única por una vigilancia (vigilante con cara de arrecho que le pide a uno hasta el RIF para poder pasar, jejeje) y cualquier
via que pudiera conectarse a otra, ponen una reja, o una pared, etc….
 
El archivo de salida, de manera de chequear si el nodo esta en error o no de desconexión, después nos ponriamos de acuerdo cual pudiera ser, que en principio se pe ocurre pudiera ser formato Oziexplorer que es sencillo y es un vulgar archivo de texto que lo que necesitamos es saber las coordenadas..

file attachments

Closed Jan 21, 2011 at 7:39 PM by Mapasven
Completado

comments

PatricioVidal wrote Apr 14, 2008 at 2:50 AM

De JoséH:

Ok, lo que queremos detectar de los posibles desconectados, suponte que a una via le llega otra, o sea, que coinciden sus puntos, pero NO están conectadas “físicamente”… No se si me explico, pero un ejemplo básico:
Cada via consta de N+1 puntos, que la unión de esos puntos por medio de una línea recta, la compone.
Via 1, puntos 1,2,3,4……. 100
Via 2, puntos 1,2,3,4…..100
Ambas se cruzan, por ejemplo, o sea coinciden, de la via 1 en el punto 78 y en la via 2 en el punto 31… Ok, coincidieron los nodos 78(1) con 31(2), pero NO están conectados, o sea, que nunca se podrá cruzar, o hacer cualquier cosa……
Esos son los casos….. Fijate que pudieran llegar o coincidir N+1, (por ejemplo 4 vias) vias en un punto en comun…. Llamemos via 1, via 2, via 3 y via 4… ok…. Si vemos el fuente, de pronto vemos (visualmente) que el nodo esta en “morado”, es decir, que hay mas de 2 vias conectadas, pero NO necesariamente están la 4 conectadas y lo detectaría, a manopla, parándome arriba del nodo con el mouse y viendo si puedo hacer un CONNECT, es decir, que hay algo allí desconectado….
Esos seria, reportarlo (generando PDI para ubicación y análisis, de pronto hasta dejar una opción en el manejador que me permita conectarla ya que solo viéndola en el mapa que genera la aplicación uno se puede dar cuenta si debe o no estar conectada, pero pudiera haber casos que hay que verlo de cerca para tomar la decisión)…
Habra casos que NO podremos hacer o detectar la falta de una conexión, por ejemplo, dos vías que se pasen una arriba de la otra, pero NO hay puntos de coincidencias, o sea, una via que salga del norte al sur en línea recta (punto 1 y punto 2) y se cruza con una que viene de Este a Oeste que pudiera tener N+1 punto, pero ninguno de sus puntos coinciden, ni siquiera cercanos, con ninguno de los 2 puntos de la va que viene del N-S…
La validación/reporte seria coincidencia de puntos por coordenadas y/o, se me ocurre ahorita, de unos 10 o 15 metros… esto, después se podría trabajar como esta lo de los posibles POI duplicados que uno le puede cambiar la distancia de validación/búsqueda…


Ños….claro que valdría la pena detectar dos vías que se interceptan, pero NO tienen los puntos de interceptación… na’pendeja.. NPI como se podría determinar por no existir puntos, pero el que sabe sabe, o si no inventa, jejejjee
Una vaina, cuando se desarrolle la vaina de los posibles nodos desconectados, que NO va a tomar acción automática de corrección, que de la posibilidad de generar el POI para verlos en el fuente…. Que permita “excluiré” para futuras validaciones ya que NUNCA se conectaran y la otra, de ser posible, que permita conectarla directamente por la apliacion??, te lo puse jodio, jejejjeje…

wrote Apr 15, 2008 at 9:04 PM

wrote Apr 15, 2008 at 9:08 PM

wrote Apr 16, 2008 at 12:47 AM

wrote Apr 16, 2008 at 3:05 AM

wrote Apr 19, 2008 at 7:01 AM

PatricioVidal wrote Apr 20, 2008 at 2:27 PM

De José:

Esta es una via (su fuente) que me puse a ver si podía concluir como es la vaina:
[POLYLINE]
Type=0xa
EndLevel=3
RoadID=2
RouteParam=1,0,0,0,0,0,0,0,0,0,0,0
Data0=(12.21461,-72.15400),(12.22216,-72.14864),(12.23268,-72.14441)
Nod1=0,6,0
[END]
Alli, en Nod1=0,6,0 es donde esta conectada con otra via y, esa via tiene 3 puntos que unen a una recta y la forman que deberían ser las coordenadas que están en el Data0, y viendo en la propiedades de la via, por medio del Mapedit (propiedades->Elements), las coordenadas que me muestra son:
12.214608 -72.153999
12.222161 -72.148636
12.232676 -72.144409
O sea, las misma, pero redondeadas a 1 posición.
El parámetro de la conexión es ese “Nod1=0,6,0” que de vaina supe que el 1 ese, es un numero consecutivo, ese primer 0 es el ordinal (¿??), no te pregunto dice que es el ordinal, jejejje, el 6 es el ID del nodo y el otro 0, no doy con la vaina…
A esa via le monte una via que le llega SIN conectar al nodo donde esta un punto esa via, y concretamente se la puse arriba del nodo que esat conectado, es decir, en 12.214608 -72.153999 y este es el fuente de esa via, tomando en cuenta que SI la conecte, pero a otra via que no tiene nada que ver con lo que quiero determinar:
[POLYLINE]
Type=0x1
EndLevel=3
RoadID=6
Data0=(12.21461,-72.15399),(12.19195,-72.13537),(12.19817,-72.11563),(12.20396,-72.09726)
Nod1=2,21,0
[END]
Fijate que esta el parametro del Nod1=2,21,0, (Ordinal 2 ID 21 y el 0) o sea, que tiene un nodo conectado esa via en una coordenada (que NO se como sabra donde es que esta conectada), pero allí esta la coordenada de donde NO esta conectada a la otra que es esa primera “12.21461,-72.15399” que es eso lo que queremos reportar, que NO están conectadas y el rango a chequear seria <= a 10 metros..

Verga, di con el ultimo digito del parámetro Nod1=0,6,0 (Primer 0 Ordinal (NPI), el 6 es el numero del Nodo y el ultimo 0, es, 0 cuando NO es un nodo externo y 1 cuando ES un nodo externo,

PatricioVidal wrote Apr 21, 2008 at 8:59 PM

Ok. Ya comencé el asunto y por supuesto hay un montón de preguntas. Descubrí que el Ordinal es el índice (comenzando en 0) en la lista de Coordenadas (Data0) del Nodo. Por ejemplo:
[POLYLINE]
Type=0x1
EndLevel=3
RoadID=6
Data0=(12.21461,-72.15399),(12.19195,-72.13537),(12.19817,-72.11563),(12.20396,-72.09726)
Nod1=2,21,0
[END]
Significa que el nodo está en las coordenadas (12.19817,-72.11563).

Ya implementé la lógica para leer e interpretar los nodos. También ya implementé la interfase y el ciclo principal que compara todos los nodos de cada vía con todas las demás vías (que por cierto tarda un montón porque son miles y miles de comparaciones).

Ahora queda implementar los detalles de la lógica. Para aclarar el lenguaje vamos a usar las siguientes definiciones (se escuchan sugerencias):
  • Nodo: Son las coordenadas de cada segmento de vía. Por ejemplo, la vía con Data0=(12.21461,-72.15399),(12.19195,-72.13537),(12.19817,-72.11563),(12.20396,-72.09726) tiene 4 Nodos.
  • NodoRuteable: Son los nodos que permiten el ruteo y corresponden a los Nod1, Nod2, etc. en las Vías.
Entonces hay dos casos principales:
  1. Dos nodos (en vías diferentes) tienen las mismas coordenadas: en este caso existen tres condiciones:
    a. Ambos nodos no son ruteables: Significa que están desconectados y lo añadimos a la lista de posibles nodos desconectados.
    b. Ambos nodos son ruteables: Significa que están conectados?
    c. Uno de los nodos es ruteable: Quiere decir que también están desconectados y que posiblemente esté conectado a otro nodo?
  2. Dos nodos (en vías diferentes) no tienen las mismas coordenadas pero están a una distancia menor que el límite (5, 10, 15 m, etc.):
    a. Se añaden a la lista de posibles nodos desconectados?
Voy a ver si jugando con el MapEdit++ puedo entender un poco mas la cosa.

Saludos,
Patricio.

PatricioVidal wrote Apr 22, 2008 at 6:02 AM

Ok. El ManejadorDeMapa 1.18 tiene el módulo preliminar de detección de posibles nodos desconectados.

Por ahora es muy, pero muy lento. En un mapa pequeño como el 460 tarda unos minutos. En un mapa como el 220 debe tardar unas horas. La razón para la lentitud es que cada nodo de cada vía se compara con todos los nodos de todas la vías del mapa. Tenemos que pensar como mejorar la lógica. Además, la lógica recién se está comenzando y por ahora devuelve muchos falsos positivos.

La lógica en detalle es:
  1. Por cada Vía
    1. Por cada Nodo
    2. Por cada Vía destino (comenzando desde la próxima para evitar hacer comparaciones en duplicado)
      1. Por cada Nodo en Vía destino
        4.a. Si los dos nodos tienen las mismas coordenadas:
        5.a. Si ambos son nodos ruteables -> Están conectados.
        5.b. Si ambos nodos no son ruteables -> Posibles nodos desconectados.
        5.c. Si un solo nodo es ruteable -> Quizás esté conectado a otro nodo?
        4.b. Si los dos nodos no tienen las mismas coordenadas, pero están a menos de una distancia dada (5~15 m, según el usuario)
        1. -> Posibles nodos desconectados.
JoséH, voy a subir un Mapa de Prueba a http://www.codeplex.com/GPSYVManejadorDeMapa/WorkItem/View.aspx?WorkItemId=232 para que lo veas a ver si te sirve para usarlo como referencia. El que tu subiste funciona, pero tiene demasiados otros elementos por lo que se hace difícil inspeccionar el fuente. Si puedes pasa los elementos con errores específicos que tu create y ponlos en el fuente nuevo cerca de donde están los otros elementos (y si se pueden simplificar los elementos mejor, por ejemplo, reducir el numero de nodos, etc.)

Saludos,
Patricio.

Mapasven wrote Apr 23, 2008 at 2:51 AM

Pienso que la lentitud de de las busquedas de lo nodos es que debe estar buscando la combinacion de todas las vias, es decir, que esta viendo los nodos de una via en la esquina superior del mapa y, entre el mollejero de comparacion, la esta compatando la una via que esta en la esquina inferior izquierda.. sera, o sea, testeando todo.. sera??.. Si pudiera ser eso, se me ocurre buscar la manera de testear los nodos en las vias "cercanas"... de pronto algo asi en un rango de 10 metros... verga.. que peo.. pero de pronto por alli son los tiros...
Con respecto a esto (MAYUSCULAS LOS MIO):
"Entonces hay dos casos principales:
  1. Dos nodos (en vías diferentes) tienen las mismas coordenadas: en este caso existen tres condiciones:
    a. Ambos nodos no son ruteables: Significa que están desconectados y lo añadimos a la lista de posibles nodos desconectados.
    CORRECTO
    b. Ambos nodos son ruteables: Significa que están conectados?
    NO NECESARIAMENTE CONECTADOS ENTRE LAS VIAS (TIPICO PEO)
    c. Uno de los nodos es ruteable: Quiere decir que también están desconectados y que posiblemente esté conectado a otro nodo?
    UMMM... NO ENTENDI ESTA PARTE...
  2. Dos nodos (en vías diferentes) no tienen las mismas coordenadas pero están a una distancia menor que el límite (5, 10, 15 m, etc.):
    a. Se añaden a la lista de posibles nodos desconectados?
    CORRECTO"
A medida que vayamos testeando, vamos depurando los resultados determinando, despues de analizar lo que nos digan el manejador, cuales son casos 100% tipicos de posible errores,,

A parte, pero tengo que confirmar, la 1.8 me esta fallando, me da error, pero tengo que validar y de continuar el error, te hecho el cuento, pero NO aca en este issue para NO embasurar ya que es algo puntual seguro... te aviso.. ah, perdona la demora, pero me reventaron, jejejejje

IvoSan wrote Apr 23, 2008 at 4:40 PM

la mayor parte de falsos positivos me los da en las avenidas que tiene doble calzada. Que siempre tendrán nodos cercanos que no hay que conectar.
Pero bajando le distancia a 5 metros, desaparece la mayoría de estos casos.

Mapasven wrote Apr 23, 2008 at 8:04 PM

Pudiera ser esos 5metros por default, pero hay que dejar abierto que uno pueda variar la distancia, ya que pudiera aber una via que este a mas de 5mtros que deberia estar conectada... La idea seria que no indique la vaina que hay uno o mas nodos desconectados en un X sitios... se analiza, y des ser necesario, accionar... Lo que ahora pensando Patricio, de pronto se le puede poner un parametro, tpo via fuera estandar, de manera que NO volver a reportar ese caso cuando uno lo vuelva a procesar y como ya se investigo/acciono ese nodo en concreto...

PD: De pimnga Ivo que te invlucres con este peo que nos va a servir mucho para el Tunning.. gracias por eso..

Mapasven wrote Apr 25, 2008 at 4:17 PM

Realmente del carajo la vaina, aunque mejoro significativamente tiempo de búsqueda, aun esta lento, pero bue…..
Ok, me puse a procesar/analizar y hay dos tipos de mensajes que son:
1.- Ambos nodos tienen la mismas coordenadas pero ninguno es ruteable
2.- La distancia es menor que X.X m: Y.Ym (donde X.X lo tengo en 5.0M y Y.Y es la distancia del nodo)
En el primer caso, son los casos mas importantes ya que en el análisis/conclusión, diría que mas del 90% son casos de desconexión reales y, que de pinga, a conectarlos, jejejejjee
En el segundo caso, son menos los que habia que conectar, ya que muchos son pequeños segmentos (rabitos) de track que aprovecho eliminarlos, pero siempre hay posibles conexiones…
Se me puso el mundo chiquito cuando me toca en ciudades que me acuerdo que alguien ha enviado data y de pronto veo desconexiones que NO quise conectar ya que como que lo mandaron a desconectar, jejejeje…. Cuando me meta por Valencia, allí me saldran N+1 caso, jejjee…
Que de pinga la vaina…
Cuando genero los POIs de ubicación de vías, de manera de ver el nodo analizar/accionar, ok, me da la via del problema, pero en la mayoría de los casos NO se me esta posicionando en el nodo con el posible problema.. En muchos casos es fácil determinarlo/conseguirlo, pero en otro NO, ya que por ejemplo si se trata de por lo menos un par de vías, tengo que ver ambas a ver donde es el problema y en muchos casos he tenido que ver el mapa en el Manejador de manera de buscar alguna referencia que me pueda ubicar (un rio, o un monte, o alguna vaina que pueda indentifcar en el mapa fuente), o sea, de ser posible las coordenadas del “posible peo” sea la del nodo a investigar…
Si la posible desconexión de nodos se tratara de nodos externos, que NO valide, que lo deje sin ninguna notificación… Me refiero por ejemplo si dos via paralelas pasan a otro mapa vecino y como los nodos de cada via están cerquitas, dejalo quieto, es decir “Nod1=X,Y,Z” que la Z es = 1, que se trata de un nodo externo.
Me parece del carajo que, aunque esta en el modulo de Vias, NO se procese cuando uno le dice que procese todos, ya que este modulo NO será muy comun su proceso, de paso el tiempo de proceso…
Hay que dar la opción que uno le marque que en futuros casos NO le pare a esa desconexión, ya que es valida la desconexión, como en los casos de urbanización que bloquean todas las salidas/entradas y dejan una solo salida/entrada a la misma.. algo asi como hicistes en los casos que cambiamos los parametros “obligados” de alguna via…, o sea, la excepción a la regla…


Despues, tal como te indique alguna vez, tenemos que hacer algo de chequeo con los nodos externos, pero este es otro peo ya que la aplicación como tal, NO lo veo que sea procesado igual que el resto de las cosas que estamos chequeando, ya que NO es un mapa en cuestión el chequeo, sino el y sus “vecinos”, o sea que tendría que ser tal vez una vaina como via Batch.. de Pronto, pero después vemos la vaina cuando se tenga tiempo, se haría una tabla de Mapas con sus vecinos (modificable) y en base a esa tabla, si le digo que chequee TAL mapa, el sepa sin joderse mucho, cuales son sus vecinos… Digo modificable porque en un futuro, NO previsto por ahora, se consoliden mapas o, tal vez, se piquen mapas, o sea, por eso indico “modificable”…
Lo digo, aunque NO cambie vecinos, ya que por ejemplo para la 3.3 consolide algo entre el 200 y 210, quitándole un pedazo al 210 y echándoselo al 200, de manera que me quedara Valencia en un solo mapa y NO en dos mapas como estaba antes en la 3.2…

Sigo procesando, ya que se los voy ir pasando a todos los mapas y, de paso, a ver si reconstruyo el error que me dio el manejador ayer….
Amigos

Mapasven wrote Apr 25, 2008 at 4:55 PM

Se me olvido comentar, que habra casos que es TEORICAMENTE imposible determinar una posible desconexion, que pudiera ser real, y en en los casos que haya puntos de vias que esten bastante separados entre las vias que se interceptan, es decir, una X donde la diagonal NO-SE tenga que se yo, 200 metros de largo y solo tiene 2 puntos esa via (comienzo y final) y la otra diagonal NE-SO que tenga 500 mteros de largo y tambien con solo dos puntos la via, seran casos que en algun momento detectemos visualmente.

PatricioVidal wrote Apr 25, 2008 at 6:25 PM

Ok. Chévere.
  1. Si, yo también vi lo complicado que es ubicar el nodo. Mi meta para el fin de semana es implementar un menú adicional que te permita generar PDIs en los posibles nodos desconectados.
  2. Ok. Voy a poner la lógica para saltarme los nodos externos.
  3. Respecto a las excepciones hay que pensar a que nivel se hace. Lo más fácil y robusto es añadir la excepción a toda la vía (añadir el atributo al elemento [POLYLINE] tal como se hizo con los parámetros de ruta). Las opciones para excepciones pueden ser: "Ignorar Nodos Extremos Cercanos" o "Ignorar Nodos que Coinciden". Lo malo de esta opción es que la excepción se aplica para varios nodos a la vez. La otra opción es de hacer la excepción especifica por nodo. Esta es un poco más complicada pero se se puede hacer. Lo único que complica un poco la cosa es que el Atributo de excepción tendría que identificar el nodo al que se refiere usando el índice de las coordenadas (igual que lo hacen los campos Nod#), pero si se añaden/quitan nodos a la vía, estos atributos podrían entonces apuntar al nodo equivocado (esto no pasa con los Nod# porque el MapEdit se encarga de cambiar los índices cuando uno añade/quita nodos a la vía). Dime tu que opinas, si prefieres la excepción de vía con sus limitaciones, o la excepción de nodo con sus riesgos (los cuales no son tan terribles: lo peor que pudiera pasar es que un nodo ignorado vuelva a aparecer en la lista de desconectados, o que un nodo quede con un atributo de excepción que no le correspondía). También la otra opción es implementar ambas modalidades (vía y nodo) y así el usuario escoge la que crea conveniente.
  4. Si, para los nodos externos tendremos que hacer otra aplicación. No se si te diste cuenta, pero le cambié el nombre del proyecto en CodePlex de "Manejador de Mapa" a "Herramientas para Mapas GPS" para precisamente mantener varias herramientas en este mismo proyecto.
  5. Todavía no estoy claro que significa cuando dos nodos tienen la misma coordenada pero solo uno es ruteable. Quiere decir que los nodos están desconectados?
  6. Necesito que me digas que menús quieres para modificar los nodos que aparecen en la lista. Algo así como:
  7. Conectar los Nodos
  8. Crear Nodos Ruteables, etc.
  9. Ya tengo el algoritmo para detectar intersecciones a partir de las coordenadas de segmentos de vías, así que lo debería poder implementar.
Saludos,
Patricio.

Mapasven wrote Apr 26, 2008 at 12:54 AM

Ok, respuestas/preguntas en base a tu numeracion:
1.- Ok, machete…

2.- Machete

3.- Pienso, si no es muy complicado, que debería ser excepción por nodo especifico y entiendo eso que si se le pone una via nueva, y por ende saldra un nodo nuevo, se echaría a perder, de pronto pudiera ser mas sano por via como dices y si aplica a varios nodos de un solo golpe, se sobrevive

4.- Asi es, machete… NO no me había dado cuenta del cambio de Nombre, jejeje, pero asi es, se ajusta mas a la realidad de la aplicacion
  1. Todavía no estoy claro que significa cuando dos nodos tienen la misma coordenada pero solo uno es ruteable. Quiere decir que los nodos están desconectados?
5.- umm, no te entendí la pregunta… Una via, como es una línea, tiene N+1 punto que la conforman y cada punto es un nodo, aunque el MAPEDIT NO tenga los parametros NODX y cuando sale el parametro NODX es que o hay una conexión entre vías o que esta activada la opción que muestre el nodo en el mapa, aunque NO este conectado con nadie (que peo)…
Aclarame mas por favor…

6.- No te entendi que quieres exactamente..

7.- ¿?

Amigo

PatricioVidal wrote Apr 26, 2008 at 1:50 AM

Ok. Como mis explicaciones se fueron poniendo mas chimbas a medida que aumentaba la numeración :-). Aquí vamos:
  1. La pregunta se refiere cuando dos nodos (en vías diferentes) tienen las mismas coordenadas, o sea que coinciden. En este caso existen tres condiciones:
    a. Ambos nodos no son ruteables: Aquí estamos claros que significa que están desconectados.
    b. Ambos nodos son ruteables: Aquí supongo que están conectados. Al menos eso es lo que observo haciendo pruebas con el MapEdit.
    c. Uno solo de los nodos es ruteable: Quiere decir que esos dos nodos están desconectados?
  2. Cuando estás en la Interfase con la Lista de los posibles nodos desconectados, en right-click menú es el del Editor de Vías. A ese menú le añado los menús adicionales que se aplican para los nodos desconectados. En el screenshot que subí, MenúEditorDeVías.png, se muestra a lo que me refiero. Tu mencionaste que querías unos menús para arreglar los problemas directamente en el manejador. En el ejemplo te muestro dos opciones que creo que serían útiles.
  3. Esto se refiere a el caso que comentaste: "Se me olvido comentar, que habrá casos que es TEORICAMENTE imposible determinar una posible desconexion ...". Ya tengo un algoritmo para detectar la intersección de lineas que se podría usar para detectar este caso.
Saludos,
Patricio.

wrote Apr 26, 2008 at 1:50 AM

Mapasven wrote Apr 26, 2008 at 2:20 AM

Jejejje, asi es, la vaina se enreda por la numeración, jejejeje
5.- a: Correcto, que NO están conectados entre si
5.-b: Asi es, están conectados
5.-c: Es NO debe ocurrir a menos que en el mapedit se la haya indicado que lo muestre, que seria algo muy raro y NO se me ocurre, pero seria idéntico al caso “a”
Ok, ya lo vi.. la opciones seria:
Conectar Nodos
Guarda el archivo PDI para Localizacion….
Mas nada.. eso de “hacerlo ruteable??”, creo que hay un error de interpretación… si NO están conectados, NO son ruteables y si están conectados SON ruteables… Hacerlos ruteables seria “conectarlos”
7.- Ok, coño, cheverisimo, , jejejeje
Amigo,

PatricioVidal wrote Apr 26, 2008 at 5:43 AM

Ok. Entiendo lo del punto 6. Si, tienes razón, con una opción es suficiente. Yo lo estaba separando en dos opciones porque la lógica en el programa está separarada, pero para el usuario una sola opción es mas clara. Ahora a trabajar ..... zzzz :-).

Saludos,
Patricio.

Mapasven wrote Apr 27, 2008 at 9:34 PM

Ok, Patricio, alli va la vaina al pelo.... Ya vi lo de los menues nuevo.. machete....
Probando la aplicacion me dio la impresion que ya esta poniendo los POIS de licalizacion arriba del prosble problema... Por lo menos en dos mapas que trabaje para probar, me dio la impresion ya que no me tuve que mover para otro lado a chequear... Hicistes algo alli??

Ok, cuando gravo los POIs para conseguir el posible error, me esta diciendo, (ejemplo solo de uno, pero los demas idem) que eñ POI generado es el 1880 (el nombre qe le puso), pero en el manejador, NO necesariamente esta reportado ese 1880, sino que en el caso de ejemplo es el 1461, o sea que le esta poniendo otro nombre, en lugar de propio del manejador... Se me ocurre que ese 1461 era el label de la coordenada que antes salia??

Otar cosa, , auque se que el manejador lo pondra en deonde los deje la ultima vez que trabaje, pon en default de busqueda que sea de 5mtes... es lo mas comun de los problemas de posible desconexion... Luego, uno de necesitarlo, va variando el metraje de busqueda.

Seguimos por aca, coño, cada vez me siento mas del carajo con ese manejador, jejejeje, amigo

PatricioVidal wrote Apr 28, 2008 at 3:34 AM

Epale José,

Si, los POIs están arriba del posible nodo desconectado. Lo de la diferencia de los números es porque la vía que sale en la lista es la de referencia, y la vía del POI es la que tiene el nodo desconectado. Voy a arreglar el asunto para que sea coherente y los números cuadren.

Ok. cambio el default a 5 mts.

Que bueno. Si, y ahora se a puesto mas interesante porque hay que meterle mas coco a las reglas.

Saludos,
Patricio.

Mapasven wrote May 5, 2008 at 3:06 PM

Que machete vamos, tengo que probarlo poco a poco, todas las funciones/facilidades de conexión y entiendo lo delicado del asunto y hay que hacerlo con mucho “tacto”, sobre todo a eso que dices de “nodos sobre puestos” aunque esto, de equivocarse uno y hacer la doble conexión, presumo que el compilador (cGpsmapper) lo detectaría, pero tengo que ver la cosa…
Ok, el 1.25, cuando abro un mapa, le doy procesar todo (Procesar->Procesar todo), me esta dando error de excepción, Alli te anexo cualquier mapa… No se si tendra que ver con este par de funcions “- Añadidos mapas a las páginas de PDIs.
  • Añadido al mapa el nombre de los polígonos de ciudades.”, ya que no veo nada de los que supuestamente debería sacar??..... y cuando da el error abajo a la izquierda en al manejador se queda clavado en algo asi como “Procesando Via # XXXX/YYYYYY”
    Lo que he podido probar con las nuevas funciones de conexión:
    Me llamo la atención que me indica los posibles nodos desconectados y en el listado que genera esta indicando las carecteristicas de la vías NO son reales lo que esta diciendo, por ejemplo Velocidad que tienen, etc, pero NO me preocupa ya que esa data que aparece allí en el listado, realmente, para el caso de los Nodos NO es importante, ya que en ese listado lo importante que aparezca serian NUMERO, COORDENADAS, DISTANCIA y DETALLE…
    Aunque este dando el error de excepción, no me esta influyendo para probar lo de las conexiones, ya que si abro un mapa, busco los nodos deconectados, y empiezo a ver, NO me da el error (por ahora, no se si en algún momento me de un error ya que tengo que probarlos completo y concluir) ya que el error de excepción me lo da cuando le digo procesar todo…
    Bueno, sigo probando (si me dejan de tanta vaina que meten por el grupo, jejeje) y te aviso/concluyo…
    Hay otro caso en cuanto a la generación de índices, que lo escribiré en el modulo correspondiente-
    Amigo

wrote May 5, 2008 at 3:06 PM

Mapasven wrote May 5, 2008 at 6:03 PM

Con anterioridad a este, hoy mismo escribi algo, o sea, abajo de este esta


Que cosa tan buena, jejeje...
Esto que te planteo hay posibilidad? y de acuerdo a tu tiempo disponible, o sea, tranquilo...:

Si hay un nodo conectado a menos de 6mts, NO permitir la conexion y decir algo como un Warning indicando que otro nodo conectado esta a menos de 6mts. Si se conectan nodos a menos de 6mts, concretamente a 5,6mts, el cGpsmapper da error.

Hay casos que se reporta el problema de posible error y hay que tomar la accion del caso, pero en algunos se duplican, o sea, trata de validar que si las coordenadas son identicas, solo reporte un caso.

Que posiblidades hay que en el manejador indique en el mapa que sale en "Posibles Nodos deconectado" que ponga una marca donde hay una conexion real, tal vez poniendo una bolita o cualquier cosa, de manera que uno pueda tomar la decision si se conecta o no.

Sigo probando, te aviso resultados

wrote May 6, 2008 at 5:13 PM

PatricioVidal wrote May 6, 2008 at 5:17 PM

En la versión 1.27 se hicieron varias mejoradas a la lógica de detección de nodos desconectados:
  1. Se mejoró la lógica para que no se detectaran como nodo desconectados aquellos casos cuando hay dos nodos cercanos sin conectar pero las vía si está conectada en el nodo siguiente.
  2. Cuando se usa el menú de "Conectar Nodos Desconectados" la lógica ahora chequea que no se vaya a poner un nodo sobrepuesto. En ese caso se muestra un mensaje al usuario y no se hace la conección.
  3. Cuando dos nodos de ruta coinciden ahora se chequea que el Identificador Global de los nodos sea igual.
  4. Se mejoró la visualizacón del mapa de manera que no haya un "brinco" cuando se seleccionan los nodos desconectados en la lista.
  5. Ahora cuando se conectan los nodos se marcan de color verde en la lista para que el usuario sepa cuales a editado.

PatricioVidal wrote May 6, 2008 at 5:22 PM

Ok. Voy a empezar a trabajar en las tres cosas que mencionaste ayer: lo de nodos a menos de 6mts, listado duplicado, e indicación de conecciones reales.

Saludos,
Patricio.

PatricioVidal wrote May 7, 2008 at 2:46 AM

Tres Nodos Desconectados.png

wrote May 7, 2008 at 2:46 AM

PatricioVidal wrote May 7, 2008 at 2:47 AM

Dos Nodos Desconectados.png

wrote May 7, 2008 at 2:47 AM

PatricioVidal wrote May 7, 2008 at 3:18 AM

Hola José,

Respecto cuando un grupo de nodos desconectados sale varias veces en la lista: cada línea en la lista representa un solo nodo desconectado con respecto a un nodo destino. El nodo rojo de la vía roja es el desconectado, y el nodo negro de la vía salmón es el destino o referencia (ver "Tres Nodos Desconectados.png").

A pesar de que parece que la información está duplicada, estuve viendo que a veces es necesario presentarla de esta forma para que el usuario haga las conexiones (o no) de la forma correcta. Por ejemplo, en "Tres Nodos Desconectados.png" hay un grupo de tres nodos desconectados (dos de ellos coinciden). A, B, y C representan los tres pares de nodos desconectados. Si el usuario conecta A, entonces el nodo desconectado (rojo) se movería sobre el nodo destino (negro) y la vía que estaba conectada ahora ya no lo estará. Lo correcto es conectar B o C primero, y al final A (B,C,A ó C,B,A), para lograr que los tres nodos estén conectados entre sí. Esta secuencia de conexion solo la puede hacer el usuario y si no se presentan las tres líneas de información es imposible conectar todos los nodos.

Para el caso de dos nodos como en "Dos Nodos Desconectados.png" se puede debatir un poco. En este caso conectar A ó B probablemente da lo mismo a no ser de que haya una vía paralela y entonces quizás convenga conectar un par mas que el otro. Ahora que cuando se conecta un par de nodos el mapa se actualiza correctamente entonces quizás no es tan inconveniente porque si uno conecta A y luego se va a B, el usuario ve que el nodo ya a sido conectado.

Al final da la impresión que lo de las conexiones hay que hacerlo una por una.

Dime que piensas.

Saludos,
Patricio.

Mapasven wrote May 7, 2008 at 3:59 AM

Estoy teniendo problemas con mi maquina que me esta diciendo que hay problema en el HDD y que lo reemplace de inmediato... que vaina, pero esta en garantia y toda la info la tengo en los 2 HDD externos que tengo y en el C y D lo que esta programas...., que ladilla, jejejeje
Ummm. en el caso de los 3 nodos, como sabe uno cual es el A, el B y el C??, lo que viendo ese ejemplo, definitivamente, si es que los 3 estan realmente desconectados, por eso es que te dije si es posible poner en otro color los nodos que SI estan conectados y uno saca la conclusion que es lo que debe hacer. Supongamos, que es lo que te entiendo, que los 3 estan desconectados, tendria que conectarlos uno a uno, NO entiendo el porque en un orden en concreto... siempre uno tiene que darle mas de una pasada a los mapas y dejarlo al final limpio, auqneu el proeceso tarde, pero es necesrio, y si conecto 1 solo, en la segunda pasada me va a decir que esta 1 nodo deconectado y se conecta y listo... En el caso de los 2 nodos, con uno que conecte, listo, ya que es lo mismo nodo para las 2 vias..
Hablastes de 3 vias, pero pueden ser N+1 via que se "arrejunten" y pudiran haber N+1 de esos nodos desconectados, jejejjee
dale a ver si cn esto te respondi, amigo

Mapasven wrote May 8, 2008 at 1:13 AM

Que lio con esta maquina.. parece un 8088, jejejejeje
Ok, allí en el grafico te indico como estaba y que hizo el manejador..
Este es el Source Original:
[POLYLINE]
Type=0x6
Label=CALLE 79G
EndLevel=3
CityIdx=2
RoadID=3442
RouteParam=3,0,0,0,0,0,0,0,0,0,0,0
Data0=(10.68854,-71.69397),(10.68845,-71.69380),(10.68807,-71.69202),(10.68785,-71.69124),(10.68768,-71.69047),(10.68762,-71.69021),(10.68742,-71.68944),(10.68721,-71.68849),(10.68719,-71.68848),(10.68686,-71.68685),(10.68682,-71.68643),(10.68674,-71.68550),(10.68669,-71.68427),(10.68667,-71.68384),(10.68665,-71.68331),(10.68665,-71.68315),(10.68637,-71.68196),(10.68622,-71.68157),(10.68609,-71.68109),(10.68577,-71.68032),(10.68571,-71.68013),(10.68536,-71.67933)
Nod1=0,565,0
Nod2=1,6781,0
Nod3=2,3119,0
Nod4=3,6782,0
Nod5=4,3125,0
Nod6=5,6783,0
Nod7=6,6620,0
Nod8=7,6624,0
Nod9=9,3026,0
Nod10=10,6784,0
Nod11=11,6786,0
Nod12=12,6787,0
Nod13=13,6788,0
Nod14=14,6632,0
Nod15=16,6789,0
Nod16=17,6790,0
Nod17=18,6791,0
Nod18=19,972,0
Nod19=20,6792,0
Nod20=21,21103,0
[END]
Y este es el Modificado:
[POLYLINE]
Type=0x6
Label=CALLE 79G
EndLevel=3
CityIdx=2
RoadID=3442
RouteParam=3,0,0,0,0,0,0,0,0,0,0,0
Data0=(10.68854,-71.69397),(10.68845,-71.69380),(10.68807,-71.69202),(10.68785,-71.69124),(10.68768,-71.69047),(10.68762,-71.69021),(10.68742,-71.68944),(10.68721,-71.68849),(10.68719,-71.68848),(10.68686,-71.68685),(10.68682,-71.68643),(10.68674,-71.68550),(10.68669,-71.68427),(10.68667,-71.68384),(10.68665,-71.68331),(10.68665,-71.68315),(10.68637,-71.68196),(10.68622,-71.68157),(10.68609,-71.68109),(10.68577,-71.68032),(10.68571,-71.68013),(10.68536,-71.67933)
Nod1=0,565,0
Nod2=1,6781,0
Nod3=2,3119,0
Nod4=3,6782,0
Nod5=4,3125,0
Nod6=5,6783,0
Nod7=6,6620,0
Nod8=7,6624,0
Nod9=9,3026,0
Nod10=10,6784,0
Nod11=11,6786,0
Nod12=12,6787,0
Nod13=13,6788,0
Nod14=14,6632,0
Nod15=16,6789,0
Nod16=17,6790,0
Nod17=18,6791,0
Nod18=19,972,0
Nod19=20,6792,0
Nod20=21,21103,0
[END]

A ver si te da alguna luz…

wrote May 8, 2008 at 1:13 AM

PatricioVidal wrote May 8, 2008 at 2:31 AM

Ok. También necesito la data de la otra vía para simularlo (si no la consigues entonces sube el fuente).
Pregunta: como hiciste para conectarlos? seleccionaste una línea de la lista? o seleccionaste dos líneas de la lista?

Cada línea de la lista representa un par: el nodo desconectado (rojo) y el nodo de referencia (negro). No se si eso esta claro en la interfase. Ahí seguimos.

Saludos,
Patricio.

Mapasven wrote May 8, 2008 at 4:33 AM

Ok, alli te anexo el fuente y el problema que estamos hablando estamos en 10.68665,-71.68331...
Ok, cuando proceso, yo sorteo por distancia, ya que normalmente las distancias en "0" el 99.999999999999999% es para conectarlas.... llego un momento que salio esa que NO esta en 0 sino en 3.3 mteros.. conecte y segui pa'lante viendo/conectando...
Luego que termine, no todos los nodos por el problema que tengo en la maquina, abri el fuente y le dije al mapedit que me verificara el mapa (Tools->Verify Map) y me salio ese diciendome el error..
si slieo el nodo dos veces para conectarlo, posible, no se o no me di cuenta.... por eso pienso que de ser posible se muestre que esta conectado a ver si uno se da cuenta...
Luego lo avcomode parandome en el nodo en ROJO en el mapedit, lo movi un poquito y el se arregla solo.. que peo... amigo

wrote May 8, 2008 at 4:33 AM

PatricioVidal wrote May 9, 2008 at 3:00 AM

Nodos Desconectados - Explicación 1.png

wrote May 9, 2008 at 3:00 AM

PatricioVidal wrote May 9, 2008 at 3:01 AM

Nodos Desconectados - Explicación 2.png

wrote May 9, 2008 at 3:01 AM

PatricioVidal wrote May 9, 2008 at 3:19 AM

Ok. Creo que ya entendí el problema. En "Nodos Desconectados - Explicación 1.png" y "Nodos Desconectados - Explicación 2.png" te muestro como replicar el caso que mencionas (no exactamente porque termino con los nodos al contrario del ejemplo tuyo, pero la lógica es la misma invirtiendo los pasos).

Situación "Nodos Desconectados - Explicación 1.png":
Tres líneas:
  1. Nodo A (rojo, desconectado) esta desconectado del nodo B (negro, destino).
  2. Nodo B esta desconectado del nodo A. Esto parece repetido de la línea 1, pero es necesario porque a veces uno puede querer conectar A con B (mueve el nodo A hasta el nodo B con el comando “Conectar Nodos” en la línea 1), y otras veces uno puede querer conectar B con A (mueve el nodo B hasta el nodo A con el comando “Conectar Nodos” en la línea 2).
  3. Nodo B esta desconectado del nodo C.
Pasos para generar el error "Nodos Desconectados - Explicación 2.png":
i. Usar el menú “Conectar Nodos” en la línea 1. Esto conecta el nodo A al nodo B (mueve el nodo A a la posición del B y hace ambos nodos ruteables). Nota como el nodo C, que es ruteable (color Cyan), se quedó desconectado.

ii. Usar el menú “Conectar Nodos” en la línea 3. Esto conecta el nodo B al nodo C (ver iii). Esto hace que el nodo C, que se quedó desconectado en el paso i, ahora esté conectado al nodo B (ambos ruteables), pero el nodo A (que se hizo ruteable en el paso i) ahora esta desconectado y generará el error.


Básicamente el error se genera porque cuando hago la conexión de A con B también debería mover el nodo C porque ya estaba conectado con A. Así mismo, cuando se conecta B con C también debería mover el nodo A porque acababa de ser conectado a B.

Vale la pena notar que si las conexion de los nodos se hace B a A (linea 2), ó B a C (línea 3), entonces no hay problema. Claro, esto hace que toda la responsabilidad esté en manos del usuario para que haga las conexiones de una forma específica.

Aunque es un trabajo mas o menos (tengo que crear una tablas para mantener registrado cuales nodos están conectados, etc.), creo que lo más conveniente es añadir lógica para que cuando se mueva un nodo que ya este conectado con otro, entonces se mueva el otro nodo también para evitar así la desconexión de nodos ya conectados. Esto es lo mismo que hace el MapEdit: cuando se mueve un nodo conectado se mueven todos los nodos a la vez. La creación de las tablas de nodos conectados también permitirá chequear eso de las distancias menores de 5.4 mts, así que creo que vale la pena de todas maneras.

Cuentame que te parece.

Saludos,
Patricio.

Mapasven wrote May 9, 2008 at 9:02 PM

Tremendo analisis.. eso es.. perdona la demora en la respuesta, pero esta demasiado grave la maquina y los HP de HP, no han vendido a buscarla, jejejeje...
Amigo

PatricioVidal wrote May 9, 2008 at 11:54 PM

OK. Ojalá que te arreglen el rollo de la máquina, debe ser un fastidio la broma.

Seguimos por aquí. Saludos,
Patricio.

Mapasven wrote May 12, 2008 at 3:00 PM

Sigo con problemas con mi maquina... aun no han venido, pero hice unas pruebas (pocas ya que NO deje que el manejador siguiera buscando nodos ya que estuviera aun, desde ayer, buscado por la lentitud), pero al pelo.... que machete, jejejejje
Aunque NO es de este caso, cuando tengas disponibilidad/tiempo, trata de generar el Batch de indexacion...
Cada vez que mas proceso el Manejador, me quito mas el sombrero por lo machete de la vaina, jejejeje..., amigo

PatricioVidal wrote May 13, 2008 at 3:14 AM

Ok. Ya empecé a trabajar en el modo Batch.

Saludos,
Patricio.

wrote Jan 21, 2011 at 7:39 PM

wrote Feb 13, 2013 at 8:23 PM

wrote May 16, 2013 at 2:14 AM