Aunque utilicé Leaflet en mi aplicación webGIS, OpenLayers tiene muchas más ventajas sobre Leaflet. Por ejemplo, si desea utilizar su aplicación en dispositivos móviles, OpenLayers es imprescindible por el momento.
Hay muchos recursos relacionados con OpenLayers, sin embargo, creo que desarrollar aplicaciones con Leaflet es más fácil que OpenLayers (es más fácil leer un código y comprender la estructura). Si tiene un límite de tiempo y tiene un poco de experiencia con Javascript, usar Leaflet podría ser una mejor solución para hacerlo más rápido. O si desea desarrollar una aplicación muy simple, Leaflet puede ser mucho más fácil de adaptar al principio.
Pero después de desarrollar una aplicación con Leaflet, ahora digo que desearía haber usado OpenLayers al principio. Porque cuando su aplicación se vuelve compleja (como llamar a capas complejas desde una base de datos, desarrollar una aplicación móvil robusta, etc.), Leaflet comienza a limitar sus habilidades. Por lo tanto, creo que pasar un poco más de tiempo para comprender y aprender la estructura de OpenLayers en la etapa de aprendizaje finalmente valdrá la pena.
Como se consideraron los detalles del proyecto;
Use la interfaz del mapa para obtener información de la característica:
Tanto Leaflet como OpenLayers pueden hacer eso perfectamente. El punto aquí es obtener las coordenadas del evento de clic y enviar la solicitud al servidor. El enlace de solicitud será el mismo para ambas aplicaciones.
Cree una herramienta personalizada que tome el lat / lon del usuario en cuanto a dónde él / ella hace clic en el mapa y luego recupera los datos climáticos del ráster (que es manejado por un script py en el servidor):
Lo logré yo mismo en Leaflet (por cierto, también estaba llamando a los datos climáticos). No estaba obteniendo los datos ráster de un servidor, pero el punto aquí es crear un enlace de solicitud, que es fácil para ambas aplicaciones. Sin embargo, si desea seleccionar un polígono en esta etapa, es un poco difícil para Leaflet lograrlo.
Permite al usuario cargar Excel, que se envía al script py, que devuelve un GeoJSON, que crea funciones vectoriales en el mapa:
Aproximadamente la misma línea de trabajo para Leaflet y OpenLayers. No puedo decir cuál es mejor.
Permitir al usuario crear polígonos vectoriales, que buscarán las características que intersecta desde la capa WFS:
No tengo idea de las capacidades de edición de OpenLayers, pero Leaflet tiene un complemento llamado Leaflet Draw, que es fácil de usar y manipular los dibujos (en el lado de JavaScript) después de que se complete el dibujo. También Leaflet tiene soporte WFS-T si desea manipular los datos espaciales en el servidor WFS. OpenLayers podría ser mejor que eso, no lo sé.
Obtiene la capa del almacén de datos PostGIS en GeoServer y muestra las capas en el mapa:
Definitivamente OpenLayers es mejor para este trabajo, ya que es más fácil conectar el servidor PostGIS.
Por cierto, hay una suite de aplicaciones llamada OpenGeo Suite que incluye OpenLayers, GeoServer y PostGIS; que resolverá todos los problemas que tiene un desarrollador de aplicaciones SIG basado en la web.