ES:JOSM/Complementos/PT Assistant

From OpenStreetMap Wiki
Jump to navigation Jump to search

Documentación para el complemento de JOSM Public Transport Assistant: introducción

El complemento valida las rutas de transporte público según un conjunto de criterios y, cuando sea posible, sugiere formas de solucionar posibles deficiencias.

El complemento no tiene una interfaz de usuario específica, está totalmente integrado en el núcleo del Validador JOSM.

Esta página se edita y solo refleja el estado actual del complemento. Las ediciones en desarrollo se pueden encontrar aquí en orden cronológico.

Existe una presentación dedicada al complemento realizada para la conferencia FOSS4G (Bruselas, 22-09-2016) disponible aquí.

El código del complemento se encuentra disponible en el repositorio OpenStreetMap Subversion.

Véase también JOSM/Complementos/PT Assistant/Objetivos.

Alcance

Relaciones de rutas para las que es posible informar de errores y proponer correcciones

Existen dos versiones de esquemas de transporte público, y algunos tipos de rutas están mapeadas de forma diferente a otras.

Una relación tipo ruta es comprobada por el complemento si:

Y

Y

  • no tiene la etiqueta bus=on_demand (Los buses bajo demanda no tienen itinerarios fijos. Por tanto, no se pueden añadir vías que describan la ruta)

Miembros relevantes de la relación tipo ruta

Criterio para platforms y stop_positions (PTStop):

Cada parada corresponde a una clase de complemento PTStop. Si una relación tipo ruta tiene dos miembros consecutivos que pertenecen a la misma parada (una platform y una stop_position), formarán un único PTStop.

Criterio para vías (PTWay):
  • El OsmPrimitiveType no puede ser Node.
  • Si el OsmPrimitiveType es Way, entonces el miembro de la relación no puede tener las etiquetas public_transport=platform, highway=platform o railway=platform.
  • Si el OsmPrimitiveType es Relation, en esta relación anidada solo se permite tener vías como miembros.

Si un miembro de la relación tipo ruta no cumple estos criterios, no se añade al modelo, apareciendo la siguiente advertencia "PT: Los roles de los miembros de la relación no coincide con las etiquetas".

Comprobaciones actualmente disponibles

# Mensaje de advertencia ¿Cuál es el problema? ¿Qué ocurre si pulso el botón "Corregir"? Autor
1 PT: El tipo de ruta no coincide con el tipo de carretera por la que pasa El tipo de ruta (p. ej., bus, tram, train, etc.) tiene que pasar por una vía que coincida con ese tipo, p. ej., los trenes necesitan vías férreas y los autobuses no pueden pasar por calles reservadas únicamente para peatones o bicicletas. JOSM amplía el problema, selecciona la vía(s) problemática(s) y abre un editor de relaciones para la ruta correspondiente. darya
2 PT: Carretera en construcción Hay una carretera etiquetada como carretera en construcción. JOSM amplía el problema, selecciona la vía(s) problemática(s) y abre un editor de relaciones para la ruta correspondiente. darya
3 PT: La ruta pasa por una vía de sentido único en sentido contrario. La vía está etiquetada como de sentido único, y la ruta la atraviesa en sentido contrario. Esta comprobación solo funciona para vías sencillas, no detecta secuencias complejas de vías en sentido contrario o partes de rotondas. JOSM amplía el problema, selecciona la vía(s) problemática(s) y abre un editor de relaciones para la ruta correspondiente. darya
4 PT: La ruta contiene un hueco que puede corregirse mediante ordenación. Si los miembros de la relación tipo ruta se analizan en el orden actual, se da una interrupción en la continuidad (hueco ficticio). Si se realizara la ordenación, no habría interrupción. Además, este mensaje indica que no hay más problemas detectados en esta ruta, ya que en el caso de huecos reales (vías ausentes), la ordenación no sería suficiente para eliminar los huecos. Se ordenan los miembros de la relación tipo ruta. darya
5 PT: Los roles de los miembros de la relación no coinciden con las etiquetas. Un miembro de la relación tipo ruta no cumple totalmente los criterios de PTStop o PTWay enumerados previamente en "Miembros relevantes de la relación tipo ruta". Sin corrección disponible. darya
6 PT: La ruta debe empezar o terminar con un elemento stop_position. No hay un elemento stop_position al principio o al final de la ruta. Sin corrección disponible. darya
7 PT: La primera o última vía necesita ser dividida. Existe el elemento stop_position al principio o final de una ruta, pero no es el primer o último nodo de la vía. Sin corrección disponible. darya
8 PT: El elemento stop_position no es parte de una vía. El elemento stop_position no se refiere a ninguna vía con etiqueta relativa a transporte público (como plataformas, ferrocarril, etc.). Se consulta al usuario si desea cambiar el valor de la etiqueta del nodo a "platform". Si el usuario pulsa "sí", la etiqueta se corrige. darya
9 PT: El elemento platform no puede ser parte de una vía. El elemento platform se refiere a una vía. Se consulta al usuario si desea cambiar el valor de la etiqueta del nodo a "stop_position". Si el usuario pulsa "sí", la etiqueta se corrige. darya
10 PT: Parada sin servicio La parada (y sus elementos platform o stop_position) se encuentra demasiado alejada (>=0.002 grados) de cualquier vía de la ruta en cuestión. Corrección no disponible. darya
11 PT: Problema en el segmento de ruta con corrección automática. Las vías entre dos paradas consecutivas (según se indica en la relación de ruta) no son continuas. Esto puede deberse a varias razones: segmentos ausentes o segmentos presentes innecesarios, mala ordenación, vías no divididas, etc. Las vías del segmento de ruta (p. ej., la parada de ruta entre dos paradas consecutivas) son sustituidas con vías a partir del segmento correcto que corresponda o a partir de las vías que constituyan la ruta correspondiente. JOSM amplía la vista sobre el problema. darya
12 PT: Problema en el segmento de ruta con varias correcciones automáticas. Las vías entre dos paradas consecutivas (según se indica en la relación de ruta) no son continuas. Esto puede deberse a varias razones: segmentos ausentes o segmentos presentes innecesarios, mala ordenación, vías no divididas, etc. Las variantes de corrección se muestran en diferentes colores y JOSM amplía la vista sobre el problema. Se pueden mostrar las primeras 5 variantes y se indican con letras de la A a la E. El usuario puede seleccionar la letra correspondiente o pulsar la tecla "Esc" para no corregir. Una vez se ha seleccionado una variante de corrección, la ruta se modifica y se abre el editor de relaciones, con las vías problemáticas seleccionadas. darya
13 PT: Problema en el segmento de ruta sin corrección automática. Las vías entre dos paradas consecutivas (según se indica en la relación de ruta) no son continuas. Esto puede deberse a varias razones: segmentos ausentes o segmentos presentes innecesarios, mala ordenación, vías no divididas, etc. JOSM amplía el problema, selecciona la vía(s) problemática(s) y abre un editor de relaciones para la ruta correspondiente. darya
14 PT: La relación stop area no contiene elemento stop position. Hay una relación stop area sin el correspondiente elemento stop position. Sin corrección disponible. xamanu
15 PT: La relación stop area no contiene elemento platoform. Hay una relación stop area sin el correspondiente elemento platform. Sin corrección disponible. xamanu
16 PT: Elemento stop position o platform no forma parte de una relación stop area. Todos los elementos marcados como stop position y platform debe idealmente formar parte de una relación stop area. Sin corrección disponible. xamanu
17 PT: Las relaciones de ruta de los elementos stop position(s) y platform(s) miembros de la stop area divergen. Se da una discrepancia de relaciones de ruta de transporte público entre las asignaciones de los elementos stop position(s) y platform(s) que forman parte de una relación stop area. Sin corrección disponible. xamanu

Recomendaciones

  • Activa la opción "Usar capa de errores" para una mejor visualización de las primitivas problemáticas (Preferencias >> Validador de datos >> Comprobaciones >> Usar capa de errores).
  • Si activas la opción "Descargar miembros de la relación ruta incompleta" en el menú Preferencias >> Validador de datos >> PT_Assistant) mientras trabajas con un conjunto de datos grande, selecciona las relaciones tipo ruta que desees antes de validar, de lo contrario la descarga de los miembros que falten puede llevar demasiado tiempo.
  • Abre la ventana "Command Stack" en JOSM, especialmente si estás utilizando las correcciones automáticas para advertencias relacionadas con segmentos de ruta ("PT: Problema el segmento de la ruta..."). Te ayudará a ver qué cambios se han realizado y revertirlos si fuese necesario.

Capa pt_assistant

El complemento añade una capa adicional de nombre "pt_assistant" a la lista de capas. Una vez que se ha seleccionado al menos una relación relevante, esta se muestra en color púrpura. Las paradas se numeran según su orden en la relación.

Capa pt_assistant mostrando la ruta seleccionada (#8) en color púrpura con paradas (#8 y 9) en blanco y las rutas que usan esas mismas paradas en color rosa. Los triángulos blancos simples muestran una vía de sentido único (norte), los triángulos blancos bidireccionales muestran una vía unidireccional donde a los vehículos de transporte público se les permite circular en ambas direcciones (sur).

Comprobaciones parada-a-parada y variantes de corrección múltiple

Variantes de corrección mostradas en el cuadro del mapa

Las comprobaciones #11-13 de la tabla usan el método de parada-a-parada. Esto significa que comprueban por separado cada parte de la ruta entre dos paradas consecutivas (denominadas 'segmentos de ruta' en esta documentación). Si no se encuentra ningún error en un segmento de ruta, ese segmento se agrega a la lista de segmentos correctos. Estas comprobaciones buscan variantes de corrección en el siguiente orden:

  1. Busca en la lista de segmentos correctos un segmento cuya primera y última vía sean iguales a la primera o última vía de un determinado segmento problemático.
  2. Intenta reordenar y eliminar las vías del propio segmento problemático para lograr una secuencia continua de vías entre las dos paradas.
  3. Busca en la lista de segmentos correctos un segmento cuya primera o última parada sean iguales a la primera o última parada del segmento de ruta problemático dado (en este caso, se muestra la notificación "Advertencia: las variantes de corrección mostradas se basan en criterios menos estrictos).

Las comprobaciones parada-a-parada (#11-13) pueden ofrecer varias sugerencias de corrección. Si se presiona el botón de corregir en tales casos, las sugerencias se mostrarán en colores diferentes en la capa pt_assistant. Se pueden mostrar hasta 5 variantes de corrección. Se etiquetan usando las letras A-E. El usuario puede seleccionar la corrección deseada escribiendo la letra correspondiente en el teclado. Se puede pulsar la tecla Esc para no corregir.




Modelo de datos

El complemento clasifica los miembros de la relación tipo ruta como PTStops (clase PTStop) y PTWays (clase PTWay).

Un PTStop está diseñado para modelar una stop_position y una platform consecutivas como una sola parada, siempre que estén lo suficientemente cerca la una de la otra (<0.002 grados). Un PTStop puede almacenar la stop_position o la platform como elementos.

Una PTWay representa los miembros relacionados con la vía de una relación tipo ruta. El miembro de la relación puede estar en una vía o en una relación.

Los criterios tanto para PTStop como para PTWay se describen en una sección anterior (Alcance). Si un miembro de una relación tipo ruta no coincide con su clase correspondiente, se devuelve el mensaje de advertencia "PT: Los roles de los miembros de la relación no coinciden con las etiquetas" (#5 en la tabla).

Aunque no se usa (extensamente) en el actual conjunto de comprobaciones y correcciones del validador, el complemento tiene el potencial de gestionar miembros de relaciones anidadas, p. ej., los casos en que un miembro de la relación tipo ruta sea en sí mismo otra relación. Los prerrequisitos son que la relación anidada debe solo incluir vías (no paradas) y el orden de las vías dentro de la relación anidada debe ser el correcto (porque no se validará más allá). Las bases para estos han sido implementadas en las clases PTWay y PTDataManager.

Asignador parada-a-vía

Las paradas deben estar vinculadas a la vía relevante de su relación tipo route. Normalmente, será la vía más cercana a la parada en cuestión. La búsqueda de la vía relevante tiene lugar en el siguiente orden:

  1. Comprueba si la parada tiene ya asignada una vía. Las paradas asignadas se almacenan en la tabla (HashMap).
  2. Si la parada tiene una stop_position, la usa para encontrar la vía a la que pertenece esa stop_position.
  3. Si los elementos de la parada pertenecen a una stop_area, busca si esa stop_area contiene una stop_position y utiliza su vía de referencia.
  4. Busca una stop_position en las inmediaciones de la parada (umbral de distancia de 0.002 grados).
  5. Usa un algoritmo growing-bounding-boxes. Busca nodos dentro de un cuadro delimitador de un tamaño (que aumenta después de cada bucle de búsqueda sin éxito) y, a continuación, busca las vías de la ruta actual a la que pertenecen esos nodos. Si hay múltiples potenciales resultados para una vía, se selecciona la vía más cercana calculando la distancia de un punto a una línea. Este cálculo se basa en las fórmulas para el área del triángulo (la fórmula de Heron y 1/2 de la altura de la base).

Opciones del menú Herramientas

Opciones "Añadir posición de parada" (Add stop position) y "Repetir la última corrección (Repeat last fix) en el menú Herramientas.

Dos opciones se añadirán al menú Herramientas de JOSM a través del complemento pt_assistant:

  • Añadir posición de parada: agrega un nodo stop_position en la ubicación seleccionada, incluyendo etiquetas.
  • Repetir la última corrección: permite aplicar la última corrección de la comprobación parada-a-parada a otras rutas que compartan los mismos segmentos de ruta. La opción de menú se mantendrá desactivada si la última corrección no está disponible (p. ej., si todavía no se ha solucionado ningún error parada-a-parada) o si no existen rutas problemáticas que compartan el mismo segmento de ruta.


















Preferencias

Preferencias para el complemento pt_assistant con sus valores predeterminados.

Las configuraciones del usuario se encuentran en Editar >> Preferencias >> Validador de datos >> PT_Assistant:

  • El usuario puede seleccionar si los miembros de una relación incompleta deben ser descargados. En caso de que una relación tipo ruta tenga miembros incompletos que no se descargaron, esa relación se omite sin validación.
  • El usuario puede decidir excluir la comprobación que imponen la adición de relaciones stop_area para cada parada.

Véase también