Servicios web
Documentación sobre la funcionalidad Geocodificación inversa 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*>
* 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
Geocoding inverso
Petición:
Ejemplo de petición (coordenadas lat,long 37.777041,-3.785477):
&cmd=prox&mocs=gdd&mo=37.777041,-3.785477&rqge=adr
Para agrupar diferentes coordenadas en una sola petición, utilizar el siguiente formato:
&cmd=prox&mocs=gdd&molist=[37.77741,-3.785477],[37.87704,-3.78577]&rqge=adr
* El número de posiciones máximo por petición es de 100.
Donde:
cmd= tipo de petición de Cercalia
mocs=gdd indica que el sistema de coordenadas en el que están las coordenadas que se envían. En este caso geográficas (latitud,longitud)
mo= Y,X en el caso de geográficas, X,Y en el resto de sistemas de coordenadas
rqge= nivel de detalle de la información que de desea obtener.
Posibles valores rqge:
Valor | Significado |
---|---|
cadr | Dirección postal (solo devuelve calles o carreteras con nombre, no códigos de carretera) |
adr | Dirección postal / carretera (incluyendo códigos de carretera) y PK si disponible |
st | Calle / carretera |
ct | Ciudad / localidad |
pcode | Código postal |
mun | Municipio |
subreg | Sub-Región |
reg | Región |
ctry | País |
Respuesta:
Para una coordenada que se encuentra en una calle, el formato de la respuesta es el siguiente:
<cercalia cmd="prox" version="1">
<proximity center="-421397,4521799" num="1" type="adr">
<gelist num="1" type="adr">
<location>
<municipality id="ESP230503">Jaén</municipality>
<subregion id="ESP23">Jaén</subregion>
<region id="ESPAND">Andalucía</region>
<country id="ESP">España</country>
</location>
<ge article="de" dist="42" frc="ep" height="505" id="ESP230503000090371" kmh="50" name="Avenida de Madrid" pos="1" prefix="Avenida" sname="Madrid" zonename="Jaén" zonetype="U">
<housenumber>66</housenumber>
<intersection article="de" dist="51" id="ESP230503000090318" name="Calle de Isaac Albéniz" prefix="Calle" sname="Isaac Albéniz">
<coord x="-421403" y="4521748"/>
</intersection>
<postalcode country_id="ESP" id="23008"/>
<city id="ESP17240006020330">Jaén</city>
<municipality id="ESP230503">Jaén</municipality>
<subregion id="ESP23">Jaén</subregion>
<region id="ESPAND">Andalucía</region>
<country id="ESP">España</country>
<coord x="-421378" y="4521837"/>
</ge>
</gelist>
</proximity>
</cercalia>
Donde:
dist= indica la distancia en metros (línea recta) entre la coordenada indicada y el elemento encontrado (dirección)
kmh= indica la velocidad máxima teórica del tramo de calle o carretera (según TomTom). En países anglosajones, este valor está en millas por hora (no km/h)
name= Nombre completo de la calle
prefix= Prefijo del nombre de la calle
sname= Nombre de la calle
article= Artículo del nombre de la calle
housenumber= Número de portal (si disponible)
height= altura en metros del punto
zonetype= indica si se encuentra en una zona urbana ("U") o industrial ("I")
zonename= nombre de la población o el polígono industrial donde se encuentra
district= distrito (división infra-municipal, disponible solo en algunos países)
municipality indica el municipio (ID y nombre)
subregion indica la provincia (ID y nombre)
region indica la comunidad autónoma (ID y nombre)
country indica el país (ID y nombre)
Adicionalmente, se añade el nodo
Para una coordenada que se encuentra en una carretera, el formato de la respuesta es el siguiente:
<cercalia cmd="prox" version="1">
<proximity center="-404736,4937053" num="1" type="adr">
<gelist num="1" type="adr">
<location>
<municipality id="ESP281296">San Agustín del Guadalix</municipality>
<subregion id="ESP28">Madrid</subregion>
<region id="ESPMAD">Comunidad de Madrid</region>
<country id="ESP">España</country>
</location>
<ge dist="0" frc="na2" height="666" kmh="90" name="M-104" pos="1">
<km>2</km>
<postalcode country_id="ESP" id="28750"/>
<city dist="2225" id="ESP17240002420619">San Agustín del Guadalix</city>
<municipality id="ESP281296">San Agustín del Guadalix</municipality>
<subregion id="ESP28">Madrid</subregion>
<region id="ESPMAD">Comunidad de Madrid</region>
<country id="ESP">España</country>
<coord x="-404736" y="4937053"/>
</ge>
</gelist>
</proximity>
</cercalia>
Donde los parámetros son iguales que en el caso de calle, con la excepción de los registros que hacen referencia a la vía.
Name= código de la vía
km= punto quilométrico (si disponible). Puede contener letras, en casos especiales (ej: <km>31F</km>)
direction= sentido de la vía (PK ascendente -A- o descentende -D-). Solamente disponible para vías desdobladas
frc= tipo de eje viario.
Posibles valores frc:
Valor frc | Tipo de vía |
---|---|
ap | Autopista (peaje) |
av | Autovía |
na1 | Nacional & autonómica de primer orden |
a2 | Autonómica de segundo orden |
pl | Provincial y local |
ep | Eje urbano principal |
cl | Calle |
pt | Calle peatonal |
Obtener las poblaciones / municipios / regiones que intersectan un polígono
Petición:
Ejemplo de petición:
&cmd=prox&rqge=mun&cs=4326&wkt=POLYGON((2.149028778076172%2041.39586980544921,2.146625518798828%2041.41930231731321,2.1816444396972656%2041.41981722266227,2.1813011169433594%2041.398187683195694,2.149028778076172%2041.39586980544921))
Donde:
cmd= tipo de petición de Cercalia.
cs=4326 Coordenadas de la geometría expresadas en geográficas (LonLat).
wkt= Polígono o multi-polígono expresado en formato WKT
rqge= tipo de información solicitada.
Posibles valores rqge:
Valor rqge | Significado |
---|---|
ct | localidades |
mun | municipios |
subreg | provincias |
reg | comunidades |
Respuesta:
<cercalia cmd="prox" version="1">
<proximity buffer="0.0" cs="4326" tolerance="0.0" type="mun" wkt="POLYGON((2.149028778076172 41.39586980544921,2.146625518798828 41.41930231731321,2.1816444396972656 41.41981722266227,2.1813011169433594 41.398187683195694,2.149028778076172 41.39586980544921))">
<gelist num="1" type="mun">
<ge id="ESP080193" name="Barcelona" pos="1">
<subregion id="ESP08">Barcelona</subregion>
<region id="ESPCAT">Cataluña</region>
<country id="ESP">España</country>
<coord x="241554" y="5041472"/>
</ge>
</gelist>
</proximity>
</cercalia>
Obtener la sección censal de una coordenada
Petición:
Ejemplo de petición:
&cmd=prox&mo=40.3446890,-3.653151816&mocs=gdd&rqpoicats=d00seccen
Donde:
mo= coordenadas (Y,X).
Respuesta:
Formato:
<cercalia cmd="prox" version="1">
<proximity center="-3.653151816470334,40.34468901375571" num="1" type="poi">
<poilist num="1">
<poi category_id="D00SECCEN" dist="0" geometry="Z" id="DC00SC2807918002" pos="1" subcategory_id="-1">
<name>2807918002</name>
<info>2807918002</info>
<ge>
<city id="ESP57240362251934">Madrid</city>
<municipality id="ESP280796">Madrid</municipality>
<subregion id="ESP28">Madrid</subregion>
<region id="ESPMAD">Comunidad de Madrid</region>
<country id="ESP">España</country>
</ge>
<coord x="-3.6520019729066613" y="40.356833273872574" />
</poi>
</poilist>
</proximity>
</cercalia>
Donde:
name= ID de sección censal
info= ID de sección censal
*Ambos contienen la misma información
Obtener la parcela SIGPAC de una coordenada
Petición:
Ejemplo de petición:
&cmd=prox&mo=41.426362180,2.038241447&mocs=gdd&rqpoicats=d00sigpac
Donde:
mo= coordenadas (Y,X).
Respuesta:
Formato:
<cercalia cmd="prox" version="1">
<proximity center="2.038241447055829,41.42636217964459" num="1" type="poi">
<poilist num="1">
<poi category_id="D00SIGPAC" dist="0" geometry="Z" id="D00_08122_0_0_4_9000_1" pos="1" subcategory_id="-1">
<name>08122:0:0:4:9000:1</name>
<info>08122|ZU|19.254569471||0</info>
<ge>
<city id="ESP17240008188399">Molins de Rei</city>
<municipality id="ESP081234">Molins de Rei</municipality>
<subregion id="ESP08">Barcelona</subregion>
<region id="ESPCAT">Cataluña</region>
<country id="ESP">España</country>
</ge>
<coord x="2.039759599885991" y="41.42864740772865"></coord>
</poi>
</poilist>
</proximity>
<server>http://c1.cercalia.com</server>
</cercalia>
Donde:
name= ID de parcela SIGPAC.
info= información asociada a la parcela SIGPAC, estructurada de la siguiente forma:
campo1|campo2|campo3|campo4|campo5
campo1= ID municipio (código INE)
campo2= Uso parcela
campo3= Superficie parcela (Ha)
campo4= Tipo de zona vulnerable
campo5= Código de zona vulnerable
Obtener la zona horaria de una coordenada
Petición:
Ejemplo de petición:
&cmd=prox&mocs=gdd&mo=52.252025183,20.995254141&rqge=timezone&clientid=0123456789&datetime=2019-09-27T14:30:12Z
Donde:
mo=gdd coordenadas (Y,X) a resolver
datetime= día y hora a comprobar (opcional). Si se especifica, devuelve la hora local en la región donde se encuentran las coordenadas
Respuesta:
<cercalia cmd="prox" version="1">
<proximity center="2337181,6812015" num="1" type="timezone">
<gelist num="1" type="timezone">
<ge daylightsavingtime="3600000" dist="0" id="Europe/Warsaw" localdatetime="2019-09-27T16:30:12+02:00" name="Central European Summer Time" pos="1" utcdatetime="2019-09-27T14:30:12Z" utctimeoffset="3600000"/>
</gelist>
</proximity>
</cercalia>
Donde:
id= ID del huso horario
name= Nombre del huso horario
localdatetime= día y hora local
utcdatetime= día y hora en formato UTC
utctimeoffset= offset entre hora local y hora UTC
daylightsavingtime= indica si para esta fecha se está en horario de verano o invierno