Proximidad

Servicios web

Documentación sobre la funcionalidad Proximidad 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

Obtener los N puntos más próximos a un centro

PETICIÓN:

Ejemplo de petición:

&cmd=prox&mo=42.369140,-3.489919|CENTRO&mocs=gdd&rqmolist=40.369140,-3.589919|ID1,40.367223,-3.583056|ID2&num=2

Donde:

  • cmd= Tipo de petición de cercalia
  • mocs=gdd Coordenadas expresadas en geográficas (LatLon)
  • mo= Coordenada en geográficas del centro con formato lat,lon|ID
  • rqmolist= Lista de puntos (coordenadas) que se desea ordenar por proximidad en formato [lat1,lon1|ID1], [lat2,lon2|ID2], ...
  • rpoicats= (alternativo a rqmolist) Lista de categorías de POIs (separados por coma) que se desea buscar ordenados por proximidad
  • num= Número máximo de puntos a devolver (opcional)
  • rad= Radio máximo de búsqueda, en metros (opcional)

RESPUESTA:

<cercalia cmd="prox" version="1">
   <proximity center="-3.4899189461929763,42.36914099810293" num="2" type="mo">
      <molist num="2">
         <mo dist="222546" id="A" pos="1">
            <coord x="-3.5899194036211615" y="40.36914023237501"/>
         </mo>
         <mo dist="222739" id="B" pos="2">
            <coord x="-3.5830562748504877" y="40.36722321688161"/>
         </mo>
      </molist>
   </proximity>
   <server>lb3.cercalia.com</server>
</cercalia>

Donde:

  • dist: distancia proyectada en línea recta, en metros
  • pos: orden de proximidad en la lista de puntos devueltos (de más a menos cercano)


Obtener los N puntos más próximos por ruta a un centro

PETICIÓN:

Ejemplo de petición:

&cmd=prox&mo=42.369140,-3.489919|CENTRO&mocs=gdd&rqmolist=40.369140,-3.589919|ID1,40.367223,-3.583056|ID2&weight=time&num=2

Donde:

  • cmd= Tipo de petición de cercalia
  • mocs=gdd Coordenadas expresadas en geográficas (LatLon)
  • mo= Coordenada en geográficas del centro con formato lat,lon|ID
  • rqmolist= Lista de puntos (coordenadas) que se desea ordenar por tiempo en ruta en formato [lat1,lon1|ID1], [lat2,lon2|ID2], ...
  • weight= tipo de ruta:
    • time (más rápida)
    • distance (más corta)
    • money (evitar peajes)
    • realtime (más rápida, en base al estado actual del tráfico y las vías cerradas)
  • iweight=realtime -> Complementaria a &weight=. Utilizar este parámetro para obtener el tiempo de la ruta, en base al estado actual del tráfico, pero sin modificar el recorrido de la ruta.
  • num= Número máximo de puntos a devolver (opcional)
  • rad= Radio máximo de búsqueda, en metros (opcional)
  • inverse= Opcional. Si:
    • 0 -> los tiempos de ruta son del centro a la lista de puntos
    • 1 -> los tiempos de ruta son de la lista de puntos hasta el centro

 

Cálculo de rutas en función de la hora de salida:

  • weight= tipo de ruta:
    • sptime (más rápida en función de la hora de salida)
    • spmoney (más rápida en función de la hora de salida sin pasar por vías de peaje)
  • departuretime= Fecha y hora de salida en formato ISO 8601. Ejemplo para hora UTC:  2019-10-16T07:30:12Z  *Solamente funciona si se indican los valores de weight indicados.


RESPUESTA:

<cercalia cmd="prox" version="1">
   <proximity center="-388496,5187633" inverse="0" num="2" type="mo" weight="time">
      <molist num="2">
         <mo dist="222739" id="B" pos="1" routedist="268639" routerealtime="9618936" routetime="9618936" routeweight="9618936">
            <coord x="-398864" y="4891770"/>
         </mo>
         <mo dist="222546" id="A" pos="2" routedist="268238" routerealtime="9637116" routetime="9637116" routeweight="9637116">
            <coord x="-399628" y="4892049"/>
         </mo>
      </molist>
   </proximity>
   <server>http://cercalia-tomcat-lbs-instance4:8080</server>
</cercalia>

Donde:

  • dist: distancia proyectada en línea recta, en metros
  • routedist: distancia en ruta especificada en metros
  • routetime: tiempo en ruta especificada en milisegundos


Obtención del buffer de una o más geometrías en formato WKT

PETICIÓN:

Parámetros de petición:

&cmd=buffergeoms

GEOMS

Lista de geometrías separadas por comas. Cada geometría tiene el siguiente formato: [wkt|id]

Donde:

wkt: Formato wkt de la geometría
id: Identificador de la geometría

Todas las geometrías de la lista deben ser de uno de los siguientes tipos:

  • Point
  • PolyLine
  • Polygon
  • MultiPoint

SRS

Sistema de coordenadas de las geometrías.

Por defecto geográficas (EPSG:4326)

Ej.: EPSG:4326

BUFFER

Buffer en metros que la geometría se debe expandir.

TOLERANCE

Error máximo en metros que se puede cometer al simplificar las geometrías devueltas. (Por defecto no se simplifican: 0 metros)

RESPUESTA:

Ejemplo de respuesta:

<cercalia cmd="buffergeoms" version="1">
   <buffergeoms>
      <geometry id="1"> POLYGON((-3.708452 40.411246, -3.708434 40.411191, -3.706925 40.411582, -3.705362 40.412022, -3.708362 40.411294, -3.708452 40.411246))</geometry >
      <geometry id="2"> POLYGON((-3.708452 40.411246, -3.708434 40.411191, -3.706925 40.411582, -3.705362 40.412022, -3.708362 40.411294, -3.708452 40.411246))</geometry>
   </buffergeoms>
</cercalia>

 

Geofencing: Obtener los puntos que se encuentran dentro de una o varias geometrías

PETICIÓN:

Parámetros de petición:

&cmd=insidegeoms

GEOMS

Lista de geometrías separadas por comas. Cada geometría tiene el siguiente formato: [wkt|id]

Donde:

wkt: Formato wkt de la geometría (polígono) o bien CIRCLE(X Y, radio en metros)
id: Identificador de la geometría

SRS

Sistema de coordenadas de las geometrías.

Por defecto geográficas (EPSG:4326)

Ej.: EPSG:4326

MOLIST

Lista de puntos en formato MO [x,y|id].

Donde:

x,y: Coordenadas de cada punto
id: Identificador de cada punto

MOCS

Sistema de coordenadas de los puntos (MOLIST). Por defecto geográficas (EPSG:4326)

RESPUESTA:

Para cada geometría especificada con el parámetro geoms se devuelven los puntos especificados en el parámetro molist que están dentro.

Por ejemplo, para la petición:

&cmd=insidegeoms&geoms=[CIRCLE(2.2090 41.4141, 12)|ID1],[CIRCLE(2.3090 41.4141, 5)|ID2]&srs=epsg:4326&molist=[2.2090,41.4141|P1],[2.3090,41.4141|P2]&mocs=gdd


se devuelve:

<cercalia cmd="insidegeoms" version="1">
   <insidegeoms>
      <geometry id=”ID1”> 
         <wkt> CIRCLE(2.2090 41.4141, 12)</wkt>
         <molist num=”1”>
            <mo id=”P1”>
               <coord x=”2.2090” y=”41.4141”>
            </mo>
         </molist>
      </geometry>
      <geometry id=”ID2”> 
         <wkt> CIRCLE(2.3090 41.4141, 5)</wkt>
         <molist num=”1”>
            <mo id=”P2”>
               <coord x=”2.3090” y=”41.4141”>
            </mo>
         </molist>
      </geometry>
   </insidegeoms>
</cercalia>