En los últimos días me he estado entreteniendo en la implementación de un Servicio Web que permita el cálculo de operaciones geométricas comunes a muchos SIG. Este desarrollo lo incluyo en la iniciativa GeoWE, y está disponible en el repositorio de GitHub geowe-geometry-service (GGS), donde se pueden ver los detalles.
Los objetivos que me he planteado se pueden resumir en 3 puntos:
- Tener un punto común para la realización de operaciones geométricas. De esta manera se podrán realizar estas operaciones desde diferentes sistemas, sin necesidad de incorporar un motor topológico a cada uno de ellos, con diferentes implementaciones y seguramente produciendo resultados dispares.
- Tener un sistema interoperable. Esto facilitará el uso extendido del servicio por multitud de sistemas.
- Tener un sistema desacoplado. Lo que permitirá escalarlo según necesidades, y ser portado a diferentes plataformas, independientemente de los clientes que hagan uso de él.
En el repositorio del proyecto, además del código se pueden encontrar las instrucciones para construir el software y desplegarlo, así como pruebas tanto unitarias como de JMeter. También se puede ver la APi implementada hasta el momento aqui.
A modo de ejemplo de uso del servicio he desarrollado un pequeño proyecto, usando Openlayers, cuyo código también está disponible en el repositorio de GitHub ggs-ol3-demo-client. Este cliente muestra las operaciones implementadas en el servicio GGS. Se pueden probar y visualizar en un mapa las diferentes operaicones geométrias, y pone de manifiesto la usabilidad del servicio GGS para clientes ligeros (como son los mapas en la Web, móvil, etc.), permitiéndoles realizar avanzadas operaciones geométricas manteniendo su implementación ligera.
Todos los comentarios, propuestas y mejoras son bienvenidas.
Comentarios