Servicios web
Documentación sobre la funcionalidad de cálculo de cumplimiento de visita de zonas disponible a través del webservice HTTP-JSON/XML de la plataforma CERCALIA.
La URL base a utilizar es:
- JSON: http://ws.cercalia.com/services/json?markattributes=true&key=<clave API*>
- XML: http://ws.cercalia.com/services/xmlgeo?key=<clave API*>
Cálculo del % de cumplimiento de visita de zonas
Calcular en qué % un vehículo ha pasado por todas las calles y plazas planificadas, mediante tecnología de análisis raster.
Para el análisis se utilizan los tracks GPS del vehículo (las trazas de los recorridos históricos a analizar), y las geometrías (líneas y polígonos) de las calles y plazas por donde debería pasar el vehículo. El objetivo de este análisis es detectar si el vehículo ha circulado por las zonas indicadas, independientemente del orden del recorrido.
PETICIÓN:
La petición se debe enviar en formato POST. Parámetros de la llamada:
CMD=coverage |
Petición de cálculo de cobertura |
KEY |
Clave de seguridad. Es la misma KEY que para la API de mapas de Cercalia |
COVERAGEXML |
XML siguiendo el formato indicado por cercaliaCoverage.xsd |
Formato del documento XML:
Donde:
El tag <trips> contiene una lista de geometrías en formato WKT de tipo LINESTRING o MULTILINESTRING, correspondientes al track GPS del vehículo a analizar. Estas geometrías se pintarán con el grueso indicado en el atributo width.
El tag <zones> contiene la lista de calles y áreas para las que se analizará si el vehículo ha circulado. Cada zona se identifica con un identificador y una lista de geometrías pudiendo ser estas de tipo MULTILINESTRING, LINESTRING, POLYGON y MULTIPOLYGON. Como máximo se pueden especificar 24 zonas diferentes (por ejemplo, una zona correspondiente a todas las calles, mediante MULTILINESTRING, y 23 áreas o polígonos).
Cada píxel de la imagen representa 1 metro cuadrado y no se pueden generar imágenes superiores a 10000 x 10000 píxeles. Por lo que se debe asegurar que el bounding box conjunto de todas las geometrías del XML no superen los 10 km2.
Ejemplo de XML:
<coverage srs=”EPSG:4326”>
<trips width=”2”>
<geometry>LINESTRING()</geometry>
<geometry>LINESTRING()</geometry>
<geometry>MULTILINESTRING()</geometry>
</trips>
<zones>
<zone id=”1”>
<geometry>LINESTRING()</geometry>
<geometry>LINESTRING()</geometry>
<geometry>MULTILINESTRING()</geometry>
</zone>
<zone id=”2”>
<geometry>POLYGON(())</geometry>
</zone>
<zone id=”3”>
<geometry>POLYGON(())</geometry>
</zone>
</zones>
</coverage>
RESPUESTA:
Ejemplo de respuesta en XML:
<cercalia cmd="coverage" version="1">
<coverage percent=”56.4”>
<zones>
<zone id=”1” percent=”10.11”>
<zone id=”2” percent=”50.12”>
<zone id=”3” percent=”75.12”>
</zones>
<img center="314323,5129642" format="png" height="250" href="/MapesNG/Cercalia/map/map65/48126316709.png" width="350">
<extent>
<coord x="310850" y="5132122">
<coord x="317795" y="5127162">
</extent>
</img>
</coverage>
En el tag coverage de la respuesta se obtiene el porcentaje global de cobertura sobre todas las zonas. Dentro de cada zona también se indica el porcentaje de cobertura sobre ella.
Además, en el tag img se indican las dimensiones de la imagen generada y de la extensión que alberga. Esta imagen se puede recuperar formando una URL con el host que ha atendido la petición y el contenido del tag href. Siguiendo el ejemplo se recuperaría con:
http://ws.cercalia.com/MapesNG/Cercalia/map/map65/48126316709.png