Snap to roads & informe excesos de velocidad

Servicios web

Documentación sobre la funcionalidad Snap to road disponible a través del webservice HTTP-JSON/XML de la plataforma CERCALIA.

La URL base a utilizar es:

* Clave de seguridad. Es la misma KEY que para la API de mapas de Cercalia

Las peticiones HTTP se pueden enviar en GET o POST
Las respuestas son en formato JSON / XML

Ajustar un track GPS a la vía y informe de excesos de velocidad

Petición para obtener la ruta real por la que ha circulado un vehículo, a partir de su track GPS

PETICIÓN:

Ejemplo de petición:

&cmd=geomtrack&mode=regular&TRACK=[2.825850,41.969279@0,45@@70@@@A],[2.822355,41.965995@0,45@@10@@@A],[2.828963,41.968589@0,45@@10@@@B],[2.828278,41.965013@0,45@@10@@@B]&SPEEDING=10&SPEEDTOLERANCE=10&SRS=EPSG:4326


Donde:

TRACK

Lista de puntos ordenados, separados por comas, limitado a un máximo de 5.000 puntos. Cada punto tiene el siguiente formato:

[coordenada{@<compás>}{@@velocidad}{@@@atributo}]

Donde:

  • coordenada: es una lista de ordenadas separadas por coma.
  • compás: Elemento opcional que identifica el rumbo del vehículo. Formato: @tolerance angle, direction tolerance
    • tolerance angle: corresponde al rumbo (en grados). Posibles valores: 0-360
    • direction tolerance: corresponde a la tolerancia (en grados) respecto al rumbo indicado. Posibles valores: 0-180
  • velocidad: Elemento opcional que indica la velocidad del vehículo en el punto indicado en Km/h.
  • atributo: Atributo por el que se separan los tramos en la respuesta. Puede ser numérico o texto.

SRS

Sistema de coordenadas de la lista de puntos. Utilizar EPSG:4326 para coordenadas geográficas

WEIGHT

Peso usado para la resolución (opcional, por defecto distancia)

NET

Red usada para el cálculo (opcional)

GEOMETRYSRS

Sistema de coordenadas de la geometría resultante. Por defecto se usa el mismo que el parámetro SRS. Ej.: EPSG:4326

GEOMETRYTOLERANCE

Indica la tolerancia (simplificación) en metros para la geometría generada (opcional).

POINTS

Obtener las coordenadas originales del track GPS desplazadas encima de la ruta devuelta (opcional)

SPEEDING

Valor booleano. Si cierto se devuelve los tramos de ruta separados por los que se excede la velocidad y los que no. 


Con valor entero se dividen los tramos de exceso de velocidad en franjas. Por ejemplo, con valor 5 km/h se crearán tramos distintos cuando se supere la velocidad máxima en 5 Km/h, 10 km/h, etc. El atributo speedinglevel del tramo indicará la franja a la que pertenece. A este parámetro también le afecta el parámetro speedtolerance. Si por ejemplo, tenemos speedtolerance=10 las dos primeras franjas nunca aparecerán.

SPEEDTOLERANCE

Tolerancia en Km/h sobre la velocidad máxima del tramo. Solo se considerará exceso de velocidad si la velocidad vehículo supera a la velocidad del tramo en más de speedTolerance km/h. Por defecto 0.

Parámetros de control a bajo nivel:

ONLYTRACK

Si true devuelve una geometría multipunto con los puntos de la ruta. Por defecto: false

MAXDIRECTIONSEARCHDISTANCE

Desviación máxima que puede haber entre un punto del track y un punto de la red que respete la orientación del punto. Por defecto: 10

Si no se encuentra ningún punto se procede a buscarlo sin tener en cuenta la orientación.

MAXSEARCHDISTANCE

Desviación máxima que puede haber entre un punto del track y un punto de la red sin tener en cuenta la orientación. Por defecto: 20

Si no se encuentra ningún punto en la red que cumpla con la distancia el punto se añade en línea recta al resultado.

FACTOR

Factor entre la distancia en ruta y la recta entre dos puntos. Si se supera este factor se ignora la ruta y se prefiere la línea recta. Por defecto: 2

RESPUESTA:

<cercalia cmd="geomtrack" version="1">
	<track>
		<geometry speeding="true" speedinglevel="2" distance="123">
			<wkt>
			LINESTRING (-3.7102887167967693 40.42997776054614, -3.7091707575880277 40.42986535088826, -3.7089192293084743 40.429844756839465, -3.708748549404491 40.42983789215513, -3.7077514194391186 40.42973492180528, -3.707419042783995 40.42971432771623, -3.706754289473746 40.42965941011441, -3.706305131831686 40.42961822188338, -3.706161401386227 40.429590763048566)
			</wkt>
		</geometry>
		<geometry speeding="false" distance="123">
			<wkt>
			LINESTRING (-3.7058110584254202 40.42954271006045, -3.7054517323117726 40.42948092759633, -3.705379867089043 40.42947406287456, -3.704751046390159 40.429398550888514, -3.703717983813422 40.429220067672745, -3.7033047587827275 40.429137690642925, -3.7024064434986075 40.42898666582415, -3.7023615277344017 40.428972936278214, -3.701984235315071 40.42892488284522, -3.701409313533235 40.42880131671579, -3.7005109982491153 40.42861596709264, -3.6999360764672793 40.428485535567766, -3.6994150536024897 40.42838942796525, -3.698436860020802 40.428197754472336)
			</wkt>
		</geometry>
		<points>
			<point>
				<from x="-3.074694" y="43.352639"/>
				<to x="-3.0746008408859975" y="43.35254856142673"/>
			</point>
		</points>
	</track>
	<server>http://cercalia-tomcat-lbs-instance3:8080</server>
</cercalia>


Donde:

  • geomtrack= WKT de tipo polilínea (linestring / multilinestring) con la ruta real
  • speeding= 
    • "true" -> indica que para este tramo se ha superado la velocidad máxima de la vía, teniendo en cuenta la tolerancia indicada.
    • "false" -> indica que para este tramo no se ha superado la velocidad máxima de la vía, teniendo en cuenta la tolerancia indicada.
  • speedinglevel= solo informado si speeding="true". Indica la franja de exceso de velocidad para este tramo, vinculado al valor de velocidad indicado en el parámetro &speeding=. Por ejemplo, con un valor &speeding de 10 km/h y sin speedtolerance, si un vehículo circulaba a 55 km/h en un tramo limitado a 50 km/h, el valor de speedinglevel será de 1, mientras que si circulaba a 67 km/h será de 2.
  • distance= indica la distancia del tramo, en metros. Permite generar una estadística de tramos conducidos o no con exceso de velocidad. En el caso que si, diferenciando por tramos de exceso de velocidad.

 

Representación visual de la polilínea:

 

Snap to road