Files
smart-city-digital-twin-mar…/docs/geospatial.md
2026-05-17 19:55:40 -04:00

2.7 KiB

Smart City Digital Twin — Documentation Infrastructure

Dernière mise à jour : 2026-05-17 20:00

Architecture Géospatiale

Services déployés

Service URL Statut Credentials
GeoServer https://geoserver.digitribe.fr UP admin / Digitribe972
PostGIS dédié postgis-smartcity:5432 UP smartcity / SmartCity972
MapStore https://mapstore.digitribe.fr UP -

GeoServer

Workspace: Digitribe

  • Data Store: postgis-smartcity → PostgreSQL/PostGIS dédié
  • Couche: sensors — 55 capteurs IoT importés depuis OpenRemote
  • WMS/WFS: Activés via le plugin GeoMesa (à installer)

Données importées

55 capteurs IoT depuis OpenRemote (table openremote.asset, type IOTSensor) :

  • Types : traffic, airquality, parking, noise, weather, light
  • Coordonnées GPS : lat/lon (EPSG:4326)
  • Table PostGIS : public.sensors (id, name, type, location, attributes)

PostGIS dédié

  • Conteneur: postgis-smartcity
  • Image: postgis/postgis:15-3.4
  • Port host: 5433
  • Base: smartcity
  • Schéma: public
  • Table sensors: 55 lignes, index GIST sur location

MapStore

Services Bloqués

OpenRemote Agents MQTT

  • Problème: API REST retourne 403 malgré tous les tokens Keycloak
  • Cause: OpenRemote a son propre système d'authorization indépendant
  • Solution: Se connecter manuellement via un navigateur réel

Ditto Digital Twin

  • Problème: MongoDB localhost hardcodé dans le JAR Ditto 3.8.12
  • Cause: Les variables d'environnement MONGO_HOST ne sont pas reconnues
  • Solution: Modifier le JAR ou utiliser un hostname localhost → MongoDB

Prometheus + Grafana

  • Problème: Réseau interne inaccessible depuis le conteneur Prometheus
  • Solution: Reconfigurer le réseau ou utiliser les endpoints exposés

GeoMesa + KeplerGL

  • GeoMesa: Installation complexe (Maven, binaires pré-construits nécessaires)
  • KeplerGL: Image Docker incomplète, build npm trop long
  • Solution: Prévoir une session dédiée pour l'installation

Fichiers de configuration

  • docker-compose.postgis.yml — PostGIS dédié
  • docker-compose.kepler.yml — KeplerGL (non fonctionnel)
  • docker-compose.ditto.yml — Ditto (MongoDB à corriger)
  • traefik-config/dynamic/routes.yml — GeoServer ajouté au CORS MapStore

Prochaines étapes

  1. GeoMesa : télécharger les binaires pré-construits (geomesa-gt-postgis)
  2. KeplerGL : build Docker multi-stage ou image officielle
  3. OpenRemote : connexion manuelle via navigateur réel
  4. Ditto : corriger la config MongoDB