Passer au contenu
megapromotingDiscutons

Expertise · Données géospatiales

Couches d’observation de la Terre au-dessus d’un territoire, chacune avec la source, l’heure de lecture et la limite écrites à côté.

Nous construisons la carte opérationnelle d’un territoire à partir de sources publiques d’observation de la Terre — Copernicus, OpenStreetMap, catalogues orbitaux, orthophoto gouvernementale — et nous lions à chaque couche la provenance, le moment de la dernière lecture réussie et ce qu’elle ne peut pas montrer. Les mesures sont publiées avec la méthode qui les a produites.

Déjà construitTrei implementări proprii, care se pot deschide azi din exterior. FlowMind rulează pe un VM propriu și are 109 rute API, dintre care nouă vorbesc direct cu Copernicus Data Space Ecosystem (`src/app/api/copernicus/`, verificat prin numărare pe disc). Relieva răspunde 200 și cere imaginea Sentinel live la fiecare încărcare a paginii (680.122 de octeți, verificat cu curl pe 06.09.2026). Orbital Nexus e public pe `https://www.megapromoting.com/satelit/` și propagă local un catalog de aproximativ 11.900 de obiecte. Rezerva care trebuie spusă din prima propoziție: nu deținem niciun satelit și niciun senzor. Copernicus este un program public al Uniunii Europene, iar catalogul orbital vine de la CelesTrak, care redistribuie date întreținute de US Space Force. Ce am construit noi este stratul de deasupra.

Un territoire — une ville, un district, une zone d’infrastructure — peut être lu à partir de données déjà publiquement disponibles : images satellite, géométrie des rues, modèles de terrain, orthophoto cadastrale, catalogues orbitaux. Ce service les rassemble dans une seule carte opérationnelle et, plus important encore, tient à jour la provenance de ce que signifie chaque couche : quel capteur l’a produite, à quelle résolution, à quelle fréquence elle est renouvelée et quand elle a été lue avec succès pour la dernière fois.

Il faut le dire clairement, parce qu’il est facile de mal comprendre et parce que c’est une affirmation que certains avancent sans en avoir le droit : **Copernicus n’est pas à nous.** C’est le programme d’observation de la Terre de l’Union européenne, avec ses satellites, ses capteurs et ses archives. Nous nous authentifions auprès de Copernicus Data Space Ecosystem avec nos propres identifiants de type `client_credentials` et nous demandons des produits traités via l’API. La résolution, la fréquence de revisite, la couverture nuageuse et la qualité radiométrique relèvent de la mission, pas de nous. Il en va de même pour le catalogue orbital : il provient de CelesTrak, avec l’attribution affichée, parce que leur politique l’exige. Ce que nous assurons, c’est l’authentification, la bonne requête, le calcul, le rendu, le gardien de provenance et l’interprétation.

La règle de contenu est la même partout : un chiffre est publié avec la méthode qui l’a produit. La pente d’une rue signifie autre chose si elle a été calculée avec le noyau Horn 3×3 sur un raster de 25 m que si elle a été lue à partir de deux points distants de 30 m. La hauteur d’un bâtiment signifie autre chose si elle est déclarée dans OpenStreetMap que si elle est estimée à partir du nombre d’étages. Le mélange de ces deux catégories sous une même couleur est la manière la plus fréquente de livrer une carte qui paraît juste et ment.

Lorsqu’une source ne répond pas, la couche est marquée OFFLINE, avec le motif, et elle n’est pas remplie avec une valeur plausible. Dans FlowMind, la règle dispose d’un gardien automatique, `noFakeLive`, qui refuse d’étiqueter une couche comme LIVE sans preuve d’une lecture réussie. Un pixel vide signifie « nous n’avons pas observé ici », et non « ici il n’y a rien ».

Ce que cela comprend

Le travail, par composantes

La question choisit le capteur, pas l’inverse

La première étape n’est pas technique. « Où la végétation se dégrade », « où un véhicule à roues peut monter », « où la surface a changé entre deux dates » et « que se passe-t-il la nuit ou sous les nuages » exigent des instruments différents. Optique multispectrale à 10 m pour la végétation et l’eau, radar C pour les conditions où l’optique ne voit pas, bande thermique à l’échelle du kilomètre pour le contraste de surface, modèle de terrain pour la pente. Un capteur mal choisi produit un résultat qui semble correct et ne l’est pas.

Nous demandons le produit traité, sur l’emprise et la fenêtre temporelle demandées

Nous ne téléchargeons pas des scènes entières pour les découper localement. La requête vers Copernicus contient l’emprise géographique, l’intervalle de temps et un script d’évaluation qui indique exactement quelle bande entre et quel pixel sort. Chez FlowMind, les requêtes Sentinel-2 passent par la collection `sentinel-2-l2a` à l’endpoint `https://sh.dataspace.copernicus.eu/api/v1/process`; Sentinel-1 par `sentinel-1-grd`, Sentinel-5P par `sentinel-5p-l2`. NDVI est calculé à partir de B08 et B04, NDWI à partir de B03 et B08 — dans l’evalscrpt, à la source, et non à partir d’une image déjà compressée.

Nous publions le chiffre avec sa méthode collée à lui

Chaque bloc de résultat porte un marquage de provenance. Dans Relieva, il y en a trois : mesuré, à partir de sources et proposé. Sous la carte de pente, il est écrit littéralement « COP-DEM GLO-30 · UTM 35N 25 m · Horn 3×3 », et sous la scène de relief, le relief est exagéré ×3,5, précisément parce qu’un relief exagéré est beau et trompeur. Un acheteur qui veut vérifier un chiffre doit pouvoir remonter tout le chemin jusqu’à lui.

Masque de nuages, pas suppression de nuages

Les requêtes Sentinel-2 rejettent dès le départ les scènes avec plus de 40% de couverture nuageuse (`MAX_CLOUD_COVERAGE = 40`). Dans l’evalscrpt, les pixels que la bande de classification de la scène SCL marque comme nuage, ombre de nuage, cirrus ou neige — les classes 3, 8, 9, 10 et 11 — sont renvoyés entièrement transparents. L’alternative commode, remplir le trou à partir d’une scène plus ancienne, produit une image continue qui mélange deux moments. Nous préférons le trou, parce qu’on peut le lire correctement.

Radar quand l’optique ne peut pas

Sentinel-1 C-SAR traverse les nuages et fonctionne la nuit, à 10 m, avec une revisite de l’ordre de 6–12 jours. Dans nos produits, on utilise le rapport entre les polarisations VV et VH comme filtrage sur une seule scène : il montre des différences de surface et d’humidité. Ce n’est pas de l’interférométrie. Les déplacements millimétriques du terrain exigent des paires ascendant/descendant, des fichiers d’orbite, un modèle de terrain et une étape de dépliage de phase — un travail séparé, marqué comme tel dans notre catalogue de produits, et non quelque chose que nous livrons à partir d’une requête de tile.

Le modèle de surface n’est pas le modèle de terrain — le piège qui ne donne aucune erreur

Copernicus DEM GLO-30 est un modèle numérique de surface : dans un quartier dense, il renvoie l’altitude du toit, pas celle de la chaussée. Rien n’indique le problème ; seules les chiffres sont faux. C’est pourquoi la géométrie qui doit reposer sur le sol est placée sur une surface filtrée, et la pente est mesurée sur une grande base — en dessous d’environ 60 m entre points, on mesure le bruit raster, pas le terrain. La règle complémentaire est tout aussi importante : si les statistiques publiées ont été calculées sur le modèle brut, elles restent sur le modèle brut et la page le dit. Le mélange de ces deux bases dans un seul ensemble de chiffres les rend incohérentes.

La géométrie urbaine d’OpenStreetMap, avec la provenance des hauteurs conservée séparément

Les empreintes de bâtiments et le réseau viaire proviennent d’OpenStreetMap, avec la date de l’instantané indiquée. Dans la scène 3D du centre de Chișinău, sur 9.506 empreintes, seules 1.128 ont la hauteur déclarée dans OSM ; les 8.378 restantes sont estimées à partir du nombre d’étages multiplié par 3,2 m. Les deux catégories sont colorées différemment dans la scène. Chaque bâtiment repose sur la cote de terrain sous lui, et non sur une dalle plate — c’est pourquoi les blocs montent vers le parc de la cathédrale au lieu de sembler alignés.

Positions orbitales calculées localement, avec l’âge des données visible

Les points sur le globe ne sont pas des positions transmises par les satellites. Ce sont des positions calculées : on part des éléments orbitaux valables à un moment du passé et on les propage avec le modèle SGP4 jusqu’à l’horloge courante. L’erreur augmente avec chaque jour écoulé depuis la dernière mise à jour, et l’application l’affiche en kilomètres pour l’objet sélectionné. Dans FlowMind, l’âge des éléments est explicitement étiqueté fresh / stale / expired. Le calcul s’exécute sur un fil séparé, pour que l’interface ne se bloque pas.

Fond cartographique sans clés payantes

La scène 3D drape l’orthophoto gouvernementale de `geodata.gov.md` (WMS, Agence des relations foncières et du cadastre) sur un modèle de terrain à partir de tuiles publiques sur AWS Open Data, rendu avec MapLibre GL. Sans clés API et sans coût par affichage. Le fond sert d’orientation visuelle ; les produits Copernicus restent des couches séparées, chacune avec son satellite, son capteur, sa résolution et ses limitations.

À quoi cela ressemble

Le parcours, étape par étape.

01

Nous délimitons le territoire et écrivons la question à laquelle la carte doit répondre

Une boîte géographique, une courte liste de questions opérationnelles et, pour chacune, le verdict indiquant s’il existe une source publique capable d’y répondre. Nous livrons l’inventaire des sources avec la résolution, la cadence et la limite de chacune — y compris les lignes où il est écrit « il n’existe pas de source publique pour cela ». Ces lignes sont la partie la plus utile de l’inventaire.

02

Nous relions les sources et plaçons le gardien avant la première belle couche

L’authentification, les routes du serveur, le cache et — obligatoirement dans cet ordre — la règle qui interdit de marquer une couche comme LIVE sans preuve d’une lecture réussie. Le gardien s’écrit avant les couches, parce qu’après cela personne ne l’ajoute plus. Nous livrons les routes fonctionnelles et un rapport de santé des sources interrogable.

03

Nous mesurons une fois, complètement, avec la méthode écrite à côté du résultat

Reprojection, calcul, seuils choisis selon des critères explicites — pas esthétiques. Sur la carte des pentes de Chișinău, les seuils sont 8,33 %, c’est-à-dire la rampe d’accessibilité 1:12, et 12 %, au-delà duquel les robots de trottoir cotés à 10–15 % ne montent plus. Nous livrons les chiffres, les scripts qui les régénèrent à partir de la source et une page qui marque chaque bloc comme mesuré, issu de sources ou proposé.

04

Nous livrons avec les limites en avant, pas dans le sous-sol

Ce que la carte ne peut pas montrer, à quel intervalle chaque couche devient obsolète, ce qui se passe si une source publique change ses conditions ou disparaît, et ce qu’exigerait le passage du screening à une mesure fine. Nous livrons la procédure de rafraîchissement et la liste des dépendances externes avec leur point de rupture.

STRAT PE HARTĂAcelași teritoriu, citit pe straturi separate.
Straturile peste același teritoriu, unul peste altul: modelul de teren la bază, geometria stradală și amprentele de clădiri deasupra, imaginea optică și radarul ca straturi separate — fiecare cu eticheta lui de rezoluție, cadență și moment al ultimei citiri reușite.

Les données

Ce que nous touchons, où elles sont et combien de temps elles restent

Les questions que pose toute personne ayant un délégué à la protection des données — posées ici avant qu'il ne les pose.

Quel type de données l’ouvrage touche
En règle générale, des données sur le territoire, pas sur les personnes : réflectance multispectrale, rétrodiffusion radar, cotes de terrain, géométrie viaire, empreintes de bâtiments, éléments orbitaux. Toutes proviennent d’archives publiques — Copernicus Data Space Ecosystem, OpenStreetMap, AWS Open Data, CelesTrak, le portail public des géodonnées de l’État.
Où se trouvent les identifiants et pourquoi ils n’arrivent pas dans le navigateur
L’accès à Copernicus se fait avec un identifiant et un secret client, via le flux OAuth2 `client_credentials` sur `identity.dataspace.copernicus.eu`. La requête de jeton part uniquement du serveur, avec une coupure à 10 secondes et avec le jeton renouvelé 60 secondes avant l’expiration réelle. Le navigateur ne voit jamais le secret ; il demande une route chez nous, et la route demande Copernicus. Sans identifiants configurés, la route renvoie 503 et le reste de la page fonctionne.
Ce est conservé chez nous
Les images en plaques sont conservées dans un cache de processus, avec des en-têtes qui indiquent quel produit et quelle résolution ont été renvoyés. Les grands catalogues sont chargés après que la carte est déjà à l’écran et sont conservés localement, avec un délai : la fiche d’objet du catalogue orbital, d’environ 7 MB, reste dans la mémoire locale du navigateur pendant un jour. Les mesures dérivées — pente, isolignes, profil altimétrique — sont régénérées à partir de la source via des scripts, elles ne sont pas modifiées manuellement.
L’attribution n’est pas facultative
Les sources publiques sont assorties de conditions. La politique de CelesTrak exige l’attribution et interdit la redistribution en masse du catalogue ; c’est pourquoi le panneau des sources dans l’interface est une exigence, pas une décoration. Copernicus et OpenStreetMap ont leurs propres conditions d’utilisation et d’attribution. Dans une livraison, la vérification de ces conditions se fait au début, pas au lancement.
Lorsque des données personnelles apparaissent malgré tout
Cela se produit dans un seul type de couche : les flux vidéo publics et les images prises dans la rue. Là, le travail n’est plus seulement géospatial — il inclut le floutage des visages et des plaques d’immatriculation à la prise, la conservation uniquement de la géométrie dérivée et une évaluation d’impact avant la première caméra. L’image satellite à 10 m n’a pas ce problème : un pixel couvre dix mètres de terrain.

Un cas

Un boulevard plat qui affichait 13,5 % de pente

La situation

Dans un travail propre de mesure du relief de la municipalité de Chișinău, la pente des rues a été calculée directement à partir du modèle numérique public à 30 m, en prenant des points consécutifs sur la géométrie des rues. Le résultat paraissait convaincant et était prêt à être publié.

Ce que nous avons construit

Lors de la vérification, l’un des boulevards centraux — pratiquement plat pour quiconque marche dessus — affichait 13,5 % de pente. La cause était silencieuse : le modèle public est un modèle de surface, donc dans un quadrilatère dense il renvoie la cote du toit. Deux points à 30 m de distance, dont l’un tombe sur une corniche, produisent une différence de cote qui n’existe pas sur la chaussée. Le même défaut apparaissait ailleurs aussi : des bâtiments voisins se retrouvaient sur un « sol » différent d’environ 20 m, et les routes apparaissaient en moyenne 13 m sous les bâtiments et disparaissaient entre les immeubles dans la scène tridimensionnelle, parce que les routes suivent les vallées, tandis que les bâtiments sont sur le plateau.

Ce qui en est sorti

La géométrie a été déplacée sur une surface de terrain approximative, obtenue par filtrage avec une fenêtre plus large qu’un quadrilatère, et la pente se mesure depuis lors sur une base longue, non entre des points consécutifs qui peuvent être à quelques mètres l’un de l’autre — en dessous de la résolution du raster. Les statistiques déjà publiées sont restées déclarées sur le modèle brut, et la page le précise, car déplacer certaines des chiffres sur une autre base les aurait rendus incohérents entre eux.

Ce que le cas ne dit pas

Rien n’avait généré d’erreur. L’interface de programmation avait répondu 200, les fichiers étaient lisibles, la carte s’affichait. C’est le schéma qui nous intéresse le plus dans les données géospatiales : la source fonctionne, et le résultat est subtilement faux. La seule défense qui tienne est la vérification d’une valeur connue — un boulevard que vous savez plat.

Questions

Ce que les gens nous demandent avant d'appeler

Avez-vous vos propres satellites ?

Non, aucun, et aucun capteur non plus. Copernicus est le programme d’observation de la Terre de l’Union européenne — les satellites, les capteurs et l’archive lui appartiennent. Le catalogue orbital vient de CelesTrak, qui redistribue des données maintenues par l’US Space Force. Nous nous authentifions avec nos propres identifiants, demandons des produits traités via l’API et construisons la suite : le calcul, la carte, le gardien de provenance, l’interprétation. Si quelqu’un vous dit qu’il a ses propres satellites en Moldavie, demandez le numéro NORAD.

À quelle fréquence l’image est-elle mise à jour ?

Cela dépend de la mission et des nuages, pas de nous. Optique multispectrale à 10 m : de l’ordre de 2–5 jours lorsqu’il existe une scène non couverte par les nuages. Radar à 10 m : environ 6–12 jours, mais il fonctionne la nuit et à travers les nuages. Bande thermique à l’échelle du kilomètre et produits atmosphériques : quotidiennement ou sur plusieurs jours. En novembre, avec un ciel couvert pendant une semaine, la couche optique n’a tout simplement rien à montrer — et alors cela est écrit, sans emprunter une image plus ancienne.

Que signifie, en pratique, une résolution de 10 m ?

Un pixel couvre dix mètres au sol. On voit un quadrilatère, une parcelle agricole, un terril, un chantier, un changement de surface. On ne voit pas une voiture, une personne ou une plaque d’immatriculation — et c’est pourquoi l’image satellite de cette catégorie ne pose pas la question des données personnelles. Pour les produits atmosphériques, le pixel est à l’échelle du kilomètre : on lit une tendance sur une ville, pas sur une rue.

Pouvez-vous me donner la hauteur exacte de mes bâtiments ?

Pas à partir de ces sources. Le modèle public à 30 m est un modèle de surface — il renvoie la cote du sommet de ce qui s’y trouve, y compris les toits et les cimes des arbres — et il est trop grossier pour un bâtiment individuel. Ce que nous pouvons faire : indiquer à quelle cote de terrain se trouve chaque empreinte et, lorsque OpenStreetMap déclare la hauteur, utiliser la valeur déclarée, marquée séparément de l’estimation. Pour des hauteurs de précision, il faut une autre acquisition : LiDAR ou photogrammétrie par drone. C’est un travail de terrain, pas un travail d’archive.

Pouvez-vous détecter des glissements de terrain ?

Nous pouvons construire une couche de priorisation, pas un verdict. Un écran de risque combine la pente du modèle de terrain, la perte de cohérence radar, le changement de surface en optique et l’accumulation de précipitations — et produit une liste de zones à vérifier. La confirmation d’un déplacement réel demande de l’interférométrie : des paires de scènes ascendantes et descendantes, des fichiers d’orbite, le déroulement de la phase. C’est un travail séparé. Dans nos produits, la distinction est écrite explicitement à côté de la couche, pour que personne ne lise une priorisation comme une détection.

Pourquoi y a-t-il des trous sur la carte ?

Parce que rien d’exploitable n’y a été observé — en général nuage, ombre de nuage, cirrus ou neige, filtrés de la bande de classification de la scène. Le trou est une information, pas un défaut. L’alternative, le remplissage à partir d’une autre date, produit une image continue qui mélange deux moments et que vous ne pouvez pas utiliser pour la comparaison. La même logique s’applique aux sources tombées : la couche affiche OFFLINE et la raison.

La position du satellite sur la carte est-elle la vraie, en temps réel ?

C’est une position calculée, pas une position transmise. On part d’éléments orbitaux publiés à un moment passé et on les propage jusqu’à maintenant avec un modèle standard. L’erreur augmente avec l’ancienneté des éléments, et nous l’affichons en kilomètres pour l’objet sélectionné et marquons l’âge des données. Un objet dont les éléments datent de quelques jours peut se trouver à des dizaines de kilomètres de l’endroit indiqué par le point — c’est pourquoi cela est écrit, et non caché.

Que se passe-t-il si la source publique change ou disparaît ?

C’est le risque réel de ce type de travail et il se traite au contrat, pas à l’incident. Les sources publiques changent leurs formats, leurs quotas d’utilisation et leurs conditions. C’est pourquoi nous livrons la liste des dépendances externes avec leur point de rupture, gardons la couche d’accès isolée en un seul endroit du code et marquons la source tombée dans l’interface au lieu de laisser la carte paraître fonctionnelle. Une plateforme qui cache une source morte est plus dangereuse qu’une plateforme qui s’arrête visiblement.

Les données restent chez vous ou chez le client ?

Les résultats dérivés — cartes, chiffres, couches calculées — appartiennent au client et sont remis avec les scripts qui les régénèrent à partir de la source. Les données sources restent là où elles se trouvent, dans les archives publiques, sous leurs licences et leurs conditions d’attribution ; nous ne les redistribuons pas en masse, parce que certaines licences interdisent précisément cela. Les identifiants d’accès à Copernicus peuvent appartenir au client, sur son compte, s’il veut une indépendance complète vis-à-vis de nous.

Sur quoi reposent les affirmations ci-dessus (21 sources)
  1. https://www.megapromoting.com/satelit/ răspunde 200https://www.megapromoting.com/satelit/ · 2026-09-06
  2. https://relieva.vercel.app răspunde 200 și servește 680.122 de octețihttps://relieva.vercel.app · 2026-09-06

19 d'entre elles sont du code et des fichiers de nos dépôts. Nous n'en publions ni le nom ni la ligne : réunies sur une seule page, elles décriraient trop précisément comment sont construits des systèmes qui ne sont pas seulement les nôtres. Nous les parcourons avec vous, dans le dépôt, sur demande — la vérification reste possible, elle se fait simplement lors d'un échange.

Qu'est-ce que vous voudriez voir mieux fonctionner ?

Racontez-nous votre processus. Ensemble, nous décidons ce qui vaut la peine d'être construit, ce que nous pouvons connecter et comment nous vérifions le résultat.

Discutons