Estoy buscando en Google durante algunas semanas, pero tengo algunas dificultades para determinar dónde comenzar mi proyecto y qué parte de las pilas Geo disponibles son obligatorias para mis necesidades.
Tengo una sólida experiencia en Java, algo de interés por Python y totalmente abierto para aprender algunas nuevas tecnologías.
Como pasatiempo y debido a que está estrechamente relacionado con mi trabajo, planeo desarrollar un juego de guerra estratégico web MMO basado en gran medida en mapas interactivos (básicamente para mostrar la situación táctica y dar órdenes a las unidades).
Esto es lo que estaba pensando:
- Geoservidor para servir mapas y capas.
- PostGIS para almacenar geodatas.
- GeoExt para mostrar en un navegador
- Apache Click como servidor de aplicaciones Java (resolución de combate, gestión de unidades)
Logré implementar un GeoServer (guerra en tomcat, más fácil es difícil) Logré instalar PostGreSQL Ejecuto algunos tutoriales sobre GeoExt. Necesito experimentar Javascript un poco. Jugué con Apache Click para servir páginas y formularios.
Aquí está el flujo en el que estaba pensando:
- GeoServer sirve los fondos del mapa y las capas construidas a partir de datos PostGIS para objetos estáticos (ciudades, puntos de victoria, territorios, ...)
- Apache Click genera páginas HTML + GeoExt en el navegador del cliente.
- Apache Click envía comandos CRUD a PostGIS en respuesta a la acción del usuario.
- [algo] se actualiza regularmente PostGIS (movimientos, resolución de combate, gestión de características de la unidad ...)
- Apache Click genera dinámicamente archivos KML para actualizar en vivo el navegador (KML NetworkLink?) Para unidades que se muestran con iconos, zonas (rango, detección ...) ...
Y ahora, el ladrillo perdido en mi pequeña pared:
- ¿Cómo puedo implementar una capa "mar / tierra"? Por ejemplo, para invalidar un movimiento de un barco que pasa por tierra? Capa GeoServer? ¿Zonas definidas en PostGIS?
- ¿Es el siguiente flujo lo suficientemente reactivo para actualizar el mapa después de una acción del usuario: evento HTML / GeoExt -> proceso de Apache Click -> actualización PostGIS -> actualización de la capa GeoServer -> visualización HTML / GeoExt
El punto principal es: ¿dónde están los datos si quiero usarlos para el cálculo y la actualización? Capa estática GeoServer o tablas PostGIS?