Integración de Geocodificador con GpsGate usando HTTP

Este artículo demostrará cómo integrar un servicio de geocodificación a través de HTTP con GpsGate. Se define un protocolo simple basado en XML que permite la integración de terceros. Mostramos cómo configurar GpsGate para comunicarse con el servicio de geocodificación y cómo usar las herramientas adecuadas para probar la integración.

Introducción

GpsGate incluye varios tipos de proveedores de geocodificación listos para usar. Por ejemplo, Punto de Interés, Geocerca, Google y más. También hay un codificador disponible que se puede configurar para realizar solicitudes de servicio web a una URL utilizando un protocolo simple basado en XML. Se llama "Geocodificador HTTP". Con este geocodificador, se puede realizar una integración de terceros implementando un servicio web utilizando, por ejemplo, PHP, JSP o cualquier otro motor de scripts para páginas web generadas dinámicamente. Los siguientes ejemplos utilizarán un servicio web ficticio, MyMap, implementado con PHP y ubicado en http://your-server.com/Geocoder.php.

Protocolos

Protocolo de Geocodificación Inversa

Cuando el proveedor de geocodificación MyMap realiza una solicitud de geocodificación inversa, utilizará el siguiente formato de URL:

http://your-server.com/Geocoder.php?op=ReverseGeocode&longitude=103.851718&latitude=1.290655

La parte en negrita es configurable, como veremos en un momento.

Se espera que el resultado de la solicitud sea xml con el siguiente formato:

1
2
3
4
5
6
7
8
9
10
11
<Location>
  <Address>Address</Address>
  <AdministrativeAreaName>AdministrativeAreaName</AdministrativeAreaName>
  <CityName>CityName</CityName>
  <CountryName>CountryName</CountryName>
  <PostalCodeNumber>PostalCodeNumber</PostalCodeNumber>
  <StreetBox>StreetBox</StreetBox>
  <StreetName>StreetName</StreetName>
  <StreetNumber>StreetNumber</StreetNumber>
  <SubAdministrativeAreaName>SubAdministrativeAreaName</SubAdministrativeAreaName>
</Location>

Los elementos reconocidos dentro del elemento Location son: Address, AdministrativeAreaName, CityName, CountryName, PostalCodeNumber, StreetBox, StreetName, StreetNumber, SubAdministrativeAreaName, Longitude, Latitude y Altitude.

Geocodificación

Una solicitud de geocodificación se realiza de manera similar. Aquí enviamos una consulta utilizando el siguiente formato de URL:

http://your-server.com/Geocoder.php?op=Geocode&Query=CITY+HALL

Se espera que el resultado sea una lista de ubicaciones:

1
2
3
4
5
6
7
8
9
10
11
12
<LocationList>
  <Location>
    <Longitude>103.851717793137</Longitude>
    <Latitude>1.29065480099533</Latitude>
    <Address>CITY HALL</Address>
  </Location>
  <Location>
    <Longitude>103.852542627029</Longitude>
    <Latitude>1.29298990999197</Latitude>
    <Address>CITY HALL MRT STATION</Address>
  </Location>
</LocationList>

Conclusión

Esto concluye la guía sobre cómo integrar un servicio de geocodificación de terceros. La configuración dentro de GpsGate es bastante sencilla y todas las herramientas para probar están disponibles. Lo que queda es crear un servicio de integración utilizando un lenguaje de secuencias de comandos del lado del servidor de su elección (o cualquier tecnología de servidor, para el caso).