Documentation géospatiale: GeoServer, PostGIS, MapStore
This commit is contained in:
15
TODO.md
15
TODO.md
@@ -1,30 +1,30 @@
|
|||||||
# Smart City Digital Twin — TODO List
|
# Smart City Digital Twin — TODO List
|
||||||
|
|
||||||
> Dernière mise à jour : 2026-05-17 11:15
|
> Dernière mise à jour : 2026-05-17 19:30
|
||||||
|
|
||||||
## ✅ Complété
|
## ✅ Complété (4/11)
|
||||||
| ID | Tâche |
|
| ID | Tâche |
|
||||||
|----|-------|
|
|----|-------|
|
||||||
| p1-bunkerm | BunkerM: DNS corrigé (underscores → hyphens) |
|
| p1-bunkerm | BunkerM: DNS corrigé (underscores → hyphens) |
|
||||||
| p2-geoserver | GeoServer: workspace Digitribe + Data Store PostGIS dédié |
|
| p2-geoserver | GeoServer: workspace Digitribe + Data Store PostGIS dédié |
|
||||||
| p2-postgis | PostGIS dédié: conteneur postgis-smartcity UP (PostGIS 3.4) |
|
| p2-postgis | PostGIS dédié: conteneur postgis-smartcity UP (PostGIS 3.4) |
|
||||||
|
| p2-mapstore | MapStore: GeoServer WMS ajouté au CORS, couche sensors créée |
|
||||||
|
| p5-docs | Documentation + commits Gitea |
|
||||||
|
|
||||||
## 🔴 Bloqué
|
## 🔴 Bloqué (3/11)
|
||||||
| ID | Tâche | Raison |
|
| ID | Tâche | Raison |
|
||||||
|----|-------|--------|
|
|----|-------|--------|
|
||||||
| p1-or | OpenRemote agents MQTT | API 403, UI headless ne rend pas |
|
| p1-or | OpenRemote agents MQTT | API 403, UI headless ne rend pas |
|
||||||
| p4-ditto | Ditto.digitribe.fr | MongoDB localhost hardcodé |
|
| p4-ditto | Ditto.digitribe.fr | MongoDB localhost hardcodé |
|
||||||
| p1-prometheus | Prometheus + Grafana | Réseau interne inaccessible |
|
| p1-prometheus | Prometheus + Grafana | Réseau interne inaccessible |
|
||||||
|
|
||||||
## ⏳ En attente
|
## ⏳ En attente (2/11)
|
||||||
| ID | Tâche |
|
| ID | Tâche |
|
||||||
|----|-------|
|
|----|-------|
|
||||||
| p2-mapstore | MapStore: interconnecter avec GeoServer via PostGIS |
|
|
||||||
| p3-analyse | Analyse: GeoMesa + KeplerGL |
|
| p3-analyse | Analyse: GeoMesa + KeplerGL |
|
||||||
| p1-ngsi | NGSI-LD: validation pipeline (basse priorité) |
|
| p1-ngsi | NGSI-LD: validation pipeline (basse priorité) |
|
||||||
| p5-docs | Documentation + commits Gitea |
|
|
||||||
|
|
||||||
## 🔄 En cours
|
## 🔄 En cours (2/11)
|
||||||
| ID | Tâche |
|
| ID | Tâche |
|
||||||
|----|-------|
|
|----|-------|
|
||||||
| p0-chirpstack | ChirpStack: login API gRPC-REST |
|
| p0-chirpstack | ChirpStack: login API gRPC-REST |
|
||||||
@@ -33,3 +33,4 @@
|
|||||||
- **GeoServer**: admin / Digitribe972
|
- **GeoServer**: admin / Digitribe972
|
||||||
- **PostGIS dédié**: smartcity / SmartCity972 (port 5433)
|
- **PostGIS dédié**: smartcity / SmartCity972 (port 5433)
|
||||||
- **ChirpStack**: admin / admin1234
|
- **ChirpStack**: admin / admin1234
|
||||||
|
- **Gitea**: eric / token configuré dans git remote
|
||||||
|
|||||||
73
docs/geospatial.md
Normal file
73
docs/geospatial.md
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
# 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
|
||||||
|
- **URL**: https://mapstore.digitribe.fr
|
||||||
|
- **CORS**: GeoServer ajouté
|
||||||
|
- **Couche GeoServer**: sensors accessible via WMS
|
||||||
|
|
||||||
|
## 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
|
||||||
Reference in New Issue
Block a user