ES:Restricciones condicionales

From OpenStreetMap Wiki
Jump to navigation Jump to search


Logo. Característica : Restricciones condicionales
One example for Característica : Restricciones condicionales
Descripción
Para etiquetar las restricciones que dependen de que se cumpla previamente con alguna condición.
Etiquetas

access:conditional=*, maxspeed:conditional=*, maxweight:conditional=*, oneway:conditional=*, overtaking:conditional=*, *:conditional=*

En este artículo se describe como etiquetar las restricciones que dependen de alguna condición.

Las etiquetas de restricciones incondicionales simples como access=private o como maxspeed=60 son utilizadas ampliamente para etiquetar restricciones básicas como lo es un límite de velocidad de 60 km/h. Si una restricción sólo es aplicable a una determinada categoría de vehículos (o modo de transporte), la clave de la etiqueta puede ampliarse añadiendo esta información a la clave. Unos ejemplos podrían ser oneway:bicycle=no y maxspeed:hgv=80. El modo de transporte puede utilizarse por sí solo en la etiqueta para una restricción de acceso que sólo se aplica a ese modo de transporte. Por ejemplo, utilice hgv=no en lugar de access:hgv=no.

En algunos casos, las restricciones sólo son válidas cuando se cumplen ciertas condiciones. Un ejemplo puede ser un límite de velocidad inferior a 60 km/h aplicable entre las 06:00 y las 20:00 horas. Según el esquema actual, este ejemplo puede etiquetarse como maxspeed:conditional=60 @ (06:00-20:00).

El esquema de etiquetado descrito a continuación explica cómo añadir restricciones condicionales a OpenStreetMap.

Etiquetado

El esquema utiliza la misma sintaxis que la que es utilizada para las etiquetas normales de una restricción incondicional, con las siguientes diferencias: La clave termina con el sufijo :conditional. El valor comprende el valor real seguido del carácter '@' y la condición que debe cumplirse.

La sintaxis general de la etiqueta es la siguiente (los campos entre corchetes [...] son opcionales):

<tipo de restricción>[:<modo de transporte>][:<dirección>]:conditional
  = <valor de restricción> @ <condición>[;<valor de restricción> @ <condición>]

En las etiquetas de acceso que se limitan a un modo de transporte específico, se suele omitir el tipo de restricción access:.

<modo de transporte>[:<dirección>]:conditional
  = <valor de restricción> @ <condición>[;<valor de restricción> @ <condición>]

Clave

La clave se construye de la misma manera que las claves para etiquetas de restricción establecidas con un sufijo adicional :conditional.

Tipo de restricción

Puede ser cualquier tipo de restricción que pueda tener validez condicional. Los ejemplos más comunes son las restricciones de access=*, maxspeed=* y oneway=*. El tipo de restricción debe reflejar la señal de tráfico "principal". Para la señal Vorschriftszeichen 1.svg, que tiene un signo adicional especificando una condición, el tipo debe ser access. Por otra parte, para la señal Nederlands verkeersbord C17.svg, el tipo de restricción debe ser maxlength. (similar para otras señales de <dimensión máxmina>).

Modo de transporte

Esta parte clave especifica la categoría de vehículo o modo de transporte al que se aplica la restricción, por ejemplo, bicycle, motor_vehicle, foot, agricultural. Para las restricciones de acceso, se permite utilizar la forma abreviada omitiendo access: delante de la categoría, por ejemplo, motorcar en lugar de access:motorcar. Tenga en cuenta que el valor agricultural designa el tipo de vehículo (normalmente tractores o máquinas especiales de baja velocidad máxima), no la finalidad del uso en la carretera.

Véase Key:access#Transport mode restrictions para la jerarquía completa del modo de transporte.

Dirección

Algunas restricciones dependen de la dirección. Utilice forward y backward para indicar en qué dirección se aplica la restricción. El valor depende de la dirección en la que se dibuja la vía en OpenStreetMap. Para una guía sobre cómo identificar esto en su editor, véase la descripción de los términos "forward", "backward", "left" y "right".

Valor

El valor comprende la restricción real seguida del carácter @ y la condición. Añada espacios antes y después del carácter @ para mejorar la legibilidad.

En la mayoría de los casos, sólo se especifica un valor con la condición correspondiente. En casos excepcionales, puede ser necesario utilizar dos o más pares de condiciones de valor. Estos pares de valores y condiciones deben estar separados por punto y coma. Una situación puede ser un cierto límite de velocidad en ciertos momentos del día, pero un límite de velocidad diferente (inferior) en caso de condiciones de humedad. Véase debajo, las condiciones conflictivas de cómo ordenar múltiples pares de valores y condiciones.

Valor de restricción

Este es el valor actual de la restricción, p.e. yes, private, 80, 55 mph. La restricción puede ser absoluta (yes, no, permissive y otros valores que se aplican a todo el mundo), de acuerdo con el propósito del uso de la carretera (destination, delivery, customer, forestry, agricultural etc.) o de acuerdo al permiso explicito (private, permit_holder).

Condición

Este sector especifica la condición por la cual la restricción es válida. Se pueden distinguir varios tipos de condiciones.

  • Hora y fecha: Utilice la sintaxis estándar del valor * de la etiqueta opening_hours=*. Si ese valor incluye puntos y coma (";"), esa condición debe ir entre paréntesis, por ejemplo: (Mo-Fr 07:00-19:00), (sunrise-sunset) o (Jan-Mar).
  • Condición de la carretera: Por ejemplo, wet, snow. Se observa que la condición wet corresponde a :wet en p.e. maxspeed:wet=*. Usando wet como condición se recomienda para racionalizar la sintaxis de las etiquetas de restricción ("maxspeed:wet" se introdujo en un momento en el que no existía una forma adecuada de etiquetar las restricciones condicionales).
  • Propiedad del vehículo: Algunos ejemplos de propiedades son weight, axleload, length, width, height, wheels y draught (para barcos). Usa operadores relativos (<, >, =) para definir la condición. P.e. (weight<7.5).
  • Uso del vehículo: La restricción depende de cómo se utilice el vehículo, como el número de ocupantes o la carga. Ejemplos: (occupants>1) (una condición típica para que un vehículo utilice un carril "hov"), hazmat (vehículo que transporta materiales peligrosos).
  • Grupo de usuario: La restricción se refiere a un grupo de usuarios específico, por ejemplo, médico, discapacitado, urgencias, mujer.
  • Propósito de acceso: Para los tipos de restricción que esperan un valor de restricción numérico como maxweight, la condición puede ser una condición de propósito de acceso (destination, delivery, etc.) o una condición de tipo de permiso (privado, etc.). Ejemplo:
    maxweight=2.5
    maxweight:conditional=none @ destination.

Excepto en condiciones muy sencillas como "wet" o "Su", se recomienda encerrar la condición entre corchetes redondos.

Condiciones combinadas: AND

Podrán combinarse dos o más condiciones parciales utilizando el operador AND (Y). Se recomienda utilizar el formulario en mayúsculas para mejorar su legibilidad. Y significa que ambas condiciones parciales deben cumplirse para que la condición se aplique. Ejemplo: access:conditional=destination @ (Sa-Su AND weight>7).

Restricciones predefinidas

No siempre queda claro qué tipo de restricción aplica cuando no se cumple con una condición. En esos casos la restricción por defecto debe ser especificada, ej. maxspeed=120 + maxspeed:conditional=100 @ (20:00-06:00). En algunos casos, se puede asumir la restricción por defecto y no que se la explicite con una etiqueta. Para muchas carreteras clasificadas como "unclassified" (sin clasificación), se asume la etiqueta access=yes . Puedes encontrar mas información para las restricciones de acceso por defecto en diferentes clases de carreteras en OSM_tags_for_routing/Access-Restrictions. Sin embargo, puede ser que al usar una etiqueta condicional, sea recomendable marcar el valor abierto en todos los casos.

Evaluación de las restricciones conflictivas

Cuando se cuentan con dos o más restricciones, y ambas coinciden con el mismo tipo de tránsito, el siguiente algoritmo define cuál es válido. When an object has two or more different restrictions both matching the given traffic and conditions, the following algorithm determines which one is valid.

  1. Una restricción que cuenta con un tipo de transporte más específico anula a la restricción que tenga un tipo de transporte menos específico. Ejemplo: una etiqueta para "psv" anula la etiqueta para "motor_vehicle" en el caso de un vehículo de servicio público. Vea aquí para verificar las jerarquías de los medios de transporte.
  2. Una restricción direccional anula a una restricción no-direccional para el mismo medio de transporte.
  3. Una restricción condicional anula a una restricción no-condicional para el mismo medio de transporte y dirección(sentido).
  4. Una restricción de carriles ES:Lanes, definiendo valores para cada carril, anula una restricción del mismo medio de transporte (ya sea direccional o condicional).
  5. Una restricción de carriles ES:Lanes, definiendo valores para cada carril, anula una restricción no-condicional para carriles
  6. In case of multiple matching value-condition pairs in the same tag the last matching value becomes the effective restriction value. Therefore it is important to put the more general restriction first and the more specific restriction last. Some examples:
    • (access=yes) + access:conditional=no @ (09:00-17:00); destination @ (09:00-17:00 AND disabled) will allow destination traffic for disabled persons (the last match) while all other traffic isn't allowed 9am-5pm. The time condition needs to be repeated in the second value, otherwise disabled persons would only have destination access 17:00-09:00 while all other traffic would have general access.
    • (maxspeed=none) + maxspeed:conditional=120 @ (06:00-20:00); 80 @ wet: Here the 80 at wet will overrule the time based restriction in case of wet conditions.
    • (access=no) + access:conditional=delivery @ (07:00-11:00); customer @ (07:00-17:00): Here is actually no conflict as only one value can match (the purpose of access must match in case of destination, customer, delivery, agricultural and forestry).

No aplicar a:

Ejemplos

Photo Tagging Interpretation
Speedlimit120-timecondition.jpg maxspeed=130
maxspeed:conditional=120 @ (06:00-19:00)
Límite de velocidad máxima de 120 km/h 6-19 hrs; fuera de ese horario 130 km/h (ejemplo de una autopista en los Países Bajos).
maxspeed=none
maxspeed:conditional=120 @ (06:00-20:00); 100 @ (22:00-06:00)
Dos valores de velocidad máxima condicionales, válidos en diferentes momentos del día (éste es un ejemplo real de una autopista en Alemania).
Conditional-access-bicycle-and-delivery.jpg highway=pedestrian

motor_vehicle:conditional=delivery @ (Mo-Fr 06:00-11:00,17:00-19:00;Sa 03:30-19:00)
bicycle=yes
bicycle:conditional=no @ (Sa 08:00-16:00)
mofa=no
moped=no

Ejemplo complejo de una calle peatonal holandesa. El tránsito de entrega ("bevoorradingsverkeer") tiene el acceso permitido en determinados intervalos de tiempo. Se permiten bicicletas ("fietsen") salvo los sábados de 8-16 hrs. No se permiten mofas ni ciclomotores ("snor- en bromfietsen").
access:conditional=destination @ (weight>5.5) A los vehículos que sobrepasen las 5.5 toneladas Solamente se les permite circular hasta su destino.
Maxweight except buses and for loading.jpg maxweight=7.5
maxweight:bus=none
maxweight:conditional=none @ delivery
Hay una restricción de peso máximo que es anulada por maxweight:bus (ya que incluye un modo de transporte más específico) y por maxweight:conditional (una restricción condición del mismo tipo de transporte -- por ejemplo: ninguno especificado -- como maxweight=). Por lo tanto, el peso máximo de 7.5 toneladas aplica para todos los vehículos salvo los buses y aquellos cargando una entrega('delivery').
Length and time restriction 2.jpg motor_vehicle:conditional=no @ (10:00-18:00 AND length>5) No se les permite circular a los vehículos motorizados con un largo mayor a los 5 metros, entre 10am y 6pm.
UK motor restriction sign with exceptions.jpg highway=tertiary

motor_vehicle=no
motor_vehicle:conditional=yes @ (18:30-07:30)
psv=yes

Una "entrada de bus" verificada por cámara; Los vehículos a motor están prohibidos desde las 7:30hrs hasta las 18:30hrs con la excepción de los vehículos de servicio público. Los horarios necesitan ser ajustados (a lo que aparezca en la señal) si se desea usar motor_vehicle=no como alternativa.
Hgv-no-overtaking-condition.jpg overtaking:hgv:conditional=no @ (Mo-Fr 06:00-19:00) No se permite rebasar a los vehículos de carga pesada de 6-19hrs los días entre semana (ejemplo en una autopista holandesa)
oneway:conditional=yes @ Su

oneway:bicycle=no

La vía es de un solo sentido los días domingo, pero las bicicletas lo pueden utilizar en ambos sentidos todo el tiempo. La segunda etiqueta anula la etiqueta condicional previa, dado a que se especifica a la bicicleta 'bicycle' como un medio de transporte mas específico .
Speed limit of 60 for HGV with weight more than 7.5t.jpg maxspeed=80

maxspeed:hgv:conditional=60 @ (weight>7.5)

Velocidad máxima de 80 kph; la velocidad máxima para los vehículos de carga pesada, con un peso superior a las 7.5 toneladas, es de 60 kph.

Ejemplo de una velocidad límite condicional aplicable a un medio de transporte específico.

fee=no

fee:conditional=yes @ (stay > 2 hours)[1]

Permitido estacionar, sin pagar cuota, por un tiempo máximo de 2 horas.
fee=yes

fee:conditional=no @ (stay < 2 hours)

Permitido estacionar, sin pagar cuota, por un tiempo máximo de 2 horas. Igual que la etiqueta anterior, solo que con una redacción distinta (lo cual hace una diferencia, ya que las restricciones condicionales no siempre son procesadas - es preferible ingresar éstas de forma más segura/con menos elementos sorpresa en un valor por defecto).
amenity=parking

maxstay=1.5 hour

access:conditional=no @ (Su,PH)

Estacionamiento en el cual es permitido estacionar por un período máximo de 90 minutos, con excepción de los domingos y feriados públicos, en los que no se permite el acceso al estacionamiento del todo.
amenity=parking

maxstay=1.5 hour

maxstay:conditional=no @ (Su,PH)

Estacionamiento en el cual es permitido estacionar por un período máximo de 90 minutos, con excepción de los domingos y feriados públicos, durante los cuales se permite estacionar sin limitación de tiempo.
oneway=yes

oneway:conditional=-1 @ (Mo-Fr 07:00-10:00)

Vía habitualmente de un solo sentido, con excepción de los días de lunes a viernes entre 7 y 10 am, tiempo durante el cual se permite circular en el sentido opuesto.
node 472125058 fee=yes

fee:conditional=no @ Mo

Para un punto con acceso gratuito los día lunes - en este caso se trata de un museo, pero puede utilizarse, por ejemplo, para un estacionamiento
based on way 232081251 female=no

female:conditional=yes @ (7 Feb, 25 Mar)

Para un punto en el que usualmente no se permite el acceso a mujeres, con la excepción de algunos días específicos durante el año.
oneway=no + oneway:conditional=yes @ (Sa-Su;PH)

OR
oneway=yes + oneway:conditional=no @ (Mo-Fr;PH off)

For a road that is a oneway active on weekends (Sa-Su) and public holidays (PH)
oneway=no + oneway:conditional=yes @ (Sa-Su;PH)

OR
oneway=yes + oneway:conditional=no @ (Mo-Fr;PH off)

Para una vialidad usualmente de doble sentido, y que se convierte a un solo sentido solamente durante los fines de semana (Sa-Su) y los feriados públicos (PH)
oneway=no + oneway:conditional=yes @ (Mo-Fr;PH off)

OR
oneway=yes + oneway:conditional=no @ (Sa-Su;PH)

Para una vialidad que durante la semana (Mo-FR) es de un solo sentido, y que se convierte a doble sentido solamente durante los fines de semana (Sa-Su) y los feriados públicos (PH)
oneway:conditional=-1 @ (17:00-20:00);yes @ (06:00-08:00) Esta vialidad es usualmente de doble sentido (bi-direccional). Se transforma a un solo sentido en la misma dirección que se ha dibujado de 6-8 AM, y de un solo sentido en dirección opuesta de 5-8 PM.
oneway=yes

oneway:conditional=no @ (Mo-Fr 14:00-21:00;Sa-Su,PH 07:00-10:00)

Esta vialidad es usualmente de un solo sentido. Se transforma a doble sentido los días entre semana (Mo-Fr) de 2-9 PM y los fines de semana (Sa-Su) y los feriados públicos (PH).
Conditional time weight.png hgv:conditional=no @ (06:00-22:00 AND weight>5) Restricciones de horario y peso específicas para vehículos de transporte pesado "hgv".

Etiquetas en desuso

Este esquema suplanta las siguientes etiquetas cuando se utilizan en combinación con etiquetas de restricción.

day_on=*, day_off=*, date_on=*, date_off=*, hour_on=*, hour_off=*

Modos de uso secundario

El presente esquema trata los modos de uso secundario hov=*, emergency=*, hazmat=* y disabled=* como condiciones, no como modos de transporte. Esto permitirá restricciones más complejas como access:conditional=[[Tag:conditional=destination @ (hazmat:A AND weight>7.5)|destination @ (hazmat:A AND weight>7.5)]]. Se recomienda etiquetar tales modos de de uso como condiciones reales en lugar de usar pseudo-modos de transporte, aunque este tipo de etiquetado no está explícitamente desaprobado con este esquema.

Soporte por otros usuarios de datos

OsmAnd soporta (interpreta) los límites de velocidad condicionales en los Países Bajos desde su versión 1.6 en el 2013. [2] Interpretación de los límites de velocidad con parámetros condicionados por horarios, carriles condicionales y restricciones de acceso fueron agregados en el 2019.[3] Puede ser activado desde el menú de configuración de navegación.

CyclOSM hace visibles las restricciones condicionales de acceso para las vialidades o senderos (paths) correspondientes a un nivel de acercamiento de 20 (ejemplo). Las restricciones de acceso ingresadas sobre nodos no se hacen visibles.

Véase también


  1. mailing list thread about syntax
  2. Osmand Free Releases
  3. Commoent by vshcherb on GitHub Issue maxspeed:conditional not working with date ranges