No description
Find a file
2023-10-22 18:41:34 +02:00
LICENSE Initial commit 2023-10-15 23:07:09 +02:00
plugins intéressants.md Actualiser plugins intéressants.md 2023-10-20 10:49:12 +02:00
README.md resolve merge conflict 2023-10-22 18:33:05 +02:00

OpenDiachronicMaps

ODM est un projet inspiré de OSM appliqué à l'étude cartographique diachronique. L'objectif est de permettre aux contributeurs volontaires d'ajouter, de géo-référencer, de nettoyer, de vectoriser des cartographies anciennes à l'échelle de la France et d'assembler ce processus de traitement en plusieurs cartographies cohérentes offrant une vue et une compréhension à l'échelle de l'ensemble et de chacune de ses parties. Cet assemblage et ces ressources ainsi que leurs modifications sont ensuite rendues accessibles et coordonnées au plus grand nombre en fonction des capacités de chacun par l'intermédiaire d'une plateforme permettant d'intégrer les ressources de ce patrimoine à des outils de traitement géomatique et un travail collaboratif de l'étude historique du territoire, et ce, de manière compatible et complémentaire avec les travaux de recherches "professionnelles" des organismes comme Alpage ou l'IGN.

Fonctionnement

Concrètement, il s'agit d'une plateforme de webmapping chargeant des tuiles de différents jeux de feuillets (ou de données vectorielles) ajoutés et traités par les utilisateurs afin de générer une carte selon les réglages de fourchette de temps et de nature des feuillets ou données affiché. De là, il est possible de télécharger l'ensemble de ces données dans un seul fichier assemblé par la plateforme dans la zone choisie. Il est alors possible de l'exploiter pour un projet indépendant ou bien de le traiter dans un logiciel tiers avant d'intégrer les modifications dans la base de ODM. À terme certaines modifications devraient être accessibles directement sur la plateforme pour s'adresser au plus grand nombre.

Principe de grille d'avancement

chaque jeux est ajouté ou complété selon differentes etapes d'avancement definies et normés par la plateforme. Chaque jeux de feuillets issu typiquement d'une campagne de cartographie datant de l'epoque concernée est ajouté a la plateforme et associé a une commune actuelle, une commune ancienne et eventuellent un lieu-dit. Une base est créée par l'utilisateur qui renseigne les données suivantes (localisation, date, auteur de la carte, feuillets ou carte entière, sources... Si une base similaire existe dejà, l'utilisateur en est informé et il lui est permis le cas echeant de combler les manques grace a un apercue dans la carte de ce qui existe déjà.

À titre indicatif, les etapes d'avancement pourrait etre:

Raster

  • Scan et ajout d'un jeu à une base unique par campagne carthographique
    • Il serai necessaire de pouvoire relier les bases dune meme campagne sur l'emprise de chaque ville a une base "meta" reliant les sous bases dune meme campagne couvrant plusieurs villes.
  • Nettoyage/homogenisation graphique
  • Geolocalisation
    • Il serai necessaire de pouvoir réaliser la géolocalisation avant le traitement graphique car c'est une etape plus accessible et satisfaisante. Les fichiers raster geolocalisé sont classiquement de type geoTIFF ou jpeg20000(jp2). le geotiff est lourd et la geolocalisation est ecrasé par photoshop lors des traitement graphique. ( experience personnelle + voir https://georezo.net/forum/viewtopic.php?id=3240) il serai egalement necessaire de pouvoir conserver la liste des points et l'algorithme de deformation utilisé. une maniere simple est de demander a lutilisateur de fournir le fichier .points creee par QGIS lors de cette operation et de renseigner la projection.
  • Rognage des superpositions3
    • Cette operation pourrait se faire manuellement coté utilisateur avec la production d'un png de meme dimension que le geoTIFF ou bien automatiquement coté serveur a partir des tracés des routes ( premiere etape de vectorisation )

Vecteur

  • Tracé filaire des routes et caracterisation.
  • Tracé des ilots
  • Tracé des parcelles.
  • Tracé des espaces publics
  • Tracé des bâtiments
    • Une liste de calques non-vide doit etre presente pour qu'un fichier dxf soit accepté.

Fonctionnalités du projet

  • Gestion de l'affichage de la carte assemblée. ( ajout et reglages des calques raster et vectoriels sur Leaflet )
  • Gestion de la creation de base unique par campagne carthographique et par ville.
  • Affichage du gestionaire d'états d'avancement global d'un jeu et feuillet par feuillet.
  • Selection a l'échelle/detection de la zone spatiotemporelle de travail et generation des données disponibles et de leur etat d'avancement.
  • Selection des données à telecharger et generation de fichiers d'assemblage en jpg, dxf, qgz.
  • Gestion d'un systeme de controle qualité par les pairs par l'intermediaire d'une grille de notation (qualité de l'assemblage des tuiles, qualité de la superposition avec l'existant actuel); ceci permettant de n'afficher que les jeux ayant l'avancement mais aussi une qualité egale ou supperieur au choix de l'utilisateur.
  • Creation, partage et notation de prereglages des calques de la carte afin de selectionner les plus populaires/meilleures aux yeux de la communauté. Enregistrement des reglages utilisateur dabord par fichier config sur son ordinateur puis par hebergement sur le site via un compte utilisateur.
  • Gestion des comptes utilisateurs ( necessaire pour pouvoir editer les cartes) l'ajout anonyme est possible mais l'IP est surveillé pour reperer les frequences de commit anormales.
  • Optimisation des performances d'affichages: generation journaliere de fichier image basse resolution assemblage couvrant une grande zone pour l'affichage de carte tres dezoomée. Ces meta-tuile sont generées pour les principaux preset ( les mieux notés) Cf tuiles pyramidales.
  • Integration et generation de flux wms.
  • Plusieurs onglets pourraient etres proposés avec differents services connexes et services simplifiés destiné aux utilisateurs moins chevronnés. Onglet de quests/jeux faisant avancer l'avancement des cartes.

Étapes de développement

Intégration de Leaflet

  • Ajout d'une carte Leaflet
  • Charger des images dans Leaflet
  • Échelle de visibilité/chargement dans la rame.
  • Système de calques et réglage d'affichages( transparence, couleurs...)
  • Extraire l'emprise de la vue actuelle
  • Charger un flux wms/wmts
  • Création d'un panneau de réglage avec des boutons et des sliders.
  • Interpréter un lien wms-getcapabilities et proposer des boutons en conséquences.

Création de bases uniques

(D'abord avec une donnée "campagne globale" puis avec metabase si nécessaire.)

  • Définition des caractéristiques principales d'une base.
  • Affichage de l'avancement dune base.
  • Détection de base similaire (plus avancée : date) ou déjà existante.

Projections

Leaflet peut-il gérer plusieurs projections : https://kartena.github.io/Proj4Leaflet/

Géolocalisation

  • Intégrer une image géolocalisée dans Leaflet
  • Intégrer plusieurs images sans lag?
  • Détecter l'emprise d'une image géolocalisée et afficher un fichier plus simple (jpg)?
  • Intégrer un outil de géolocalisation dans la plateforme.

Données vectorielle

  • Chargement d'un calque dans Leaflet
  • Vérification et ajout dans la base de donnée
  • Génération de fichier.

Traitement d'image

  • Filtrer bandes de couleurs
  • Images similaires dans une même base.

Environnement

  • Impact de la taille de la fenêtre
  • Utilisateur flateforme

Optimisation de l'affichage

  • Génération de mega tuile pour les échelle dezoomé. cf tuile pyramidale