Embora eu tenha usado o Leaflet no meu aplicativo webGIS, o OpenLayers tem muito mais vantagens sobre o Leaflet. Por exemplo, se você deseja usar seu aplicativo em dispositivos móveis, o OpenLayers é obrigatório no momento.
Existem muitos recursos relacionados ao OpenLayers, no entanto, acho que o desenvolvimento de aplicativos com o Leaflet é mais fácil que o OpenLayers (é mais fácil ler um código e entender a estrutura). Se você tem um limite de tempo e tem pouca experiência com Javascript, usar o Leaflet pode ser uma solução melhor para fazê-lo mais rapidamente. Ou se você deseja desenvolver um aplicativo muito simples, o Leaflet pode ser muito mais fácil de se adaptar a princípio.
Mas depois que desenvolvi um aplicativo com o Leaflet, agora digo que gostaria de ter usado o OpenLayers no início. Como quando seu aplicativo se torna complexo (como chamar camadas complexas de um banco de dados, desenvolver um aplicativo móvel robusto etc.), o Leaflet começa a limitar suas habilidades. Então, acho que gastar um pouco mais de tempo para entender e aprender a estrutura do OpenLayers no estágio de aprendizado acabará valendo a pena.
Conforme os detalhes do projeto considerados;
Use a interface do mapa para buscar informações sobre os recursos:
O Leaflet e o OpenLayers podem fazer isso perfeitamente. O objetivo aqui é obter as coordenadas do evento click e enviar a solicitação ao servidor. O link de solicitação será o mesmo para os dois aplicativos.
Crie uma ferramenta personalizada que leva o usuário lat / lon até onde ele clica no mapa e, em seguida, busca os Dados Climáticos da varredura (que é tratada por um script py no servidor):
Consegui isso no Leaflet (a propósito, eu também estava chamando os dados climáticos). Eu não estava buscando os dados rasterizados de um servidor, mas o objetivo aqui é criar um link de solicitação, o que é fácil para os dois aplicativos. No entanto, se você deseja selecionar um polígono nesta fase, é um pouco difícil de obter no Leaflet.
Permite que o usuário faça upload do excel, que é enviado para o script py, que retorna um GeoJSON, que cria recursos vetoriais no mapa:
Aproximadamente a mesma linha de trabalho para o Leaflet e o OpenLayers. Não sei dizer qual é o melhor.
Permita que o usuário crie polígonos vetoriais, que buscarão os Recursos que ele cruza na Camada WFS:
Não tenho idéia das habilidades de edição do OpenLayers, mas o Leaflet possui um plugin chamado Leaflet Draw, que é fácil de usar e manipular os desenhos (no lado do javascript) após a conclusão do desenho. O Leaflet também oferece suporte ao WFS-T se você deseja manipular os dados espaciais no servidor WFS. OpenLayers pode ser melhor que isso, eu não sei.
Busca a camada do armazenamento de dados PostGIS no GeoServer e exibe as camadas no mapa:
Definitivamente o OpenLayers é melhor para este trabalho, pois é mais fácil conectar o servidor PostGIS.
A propósito, existe um conjunto de aplicativos chamado OpenGeo Suite que inclui OpenLayers, GeoServer e PostGIS; que resolverá todos os problemas que um desenvolvedor de aplicativos GIS baseado na web tem.