Makina Blog

Le blog Makina-corpus

Cartes historiques de Toulouse avec TileMill


Présentation des outils et techniques utilisés pour représenter des données cartographiques historiques avec un style de l'époque.

Toulouse Métropole a récemment libéré deux jeux de données qui m'ont particulièrement intéressé : les parcelles cadastrales de 1680 et de 1830. J'en ai réalisé deux cartes en ligne, en souhaitant m'approcher des représentations cartographiques de l'époque : Toulouse en 1680 et Toulouse en 1830. J'explique dans cet article de blog certaines des techniques que j'ai utilisées pour créer la carte de 1680 avec l'outil TileMill.

Trouver l'inspiration

La première étape a été de trouver l'inspiration en analysant :

  • des cartes historiques de l'époque. Les Archives de la Mairie de Toulouse proposent par exemple de consulter une collection de cartes anciennes de la ville.
  • les données disponibles, en l'occurrence les données vectorielles représentant le cadastre de 1680. Il s'agit de repérer les attributs intéressants pour la représentation graphique, et de les regrouper en thématiques. Deux attributs m'ont semblé particulièrement pertinents : typologie qui décrit le type de bâtiment de la parcelle, Maison ou Eglise par exemple, et fonction qui décrit la profession de la personne propriétaire.

Préparer l'esquisse des bâtiments

Les bâtiments à proprement parler ne sont pas disponibles : seules les parcelles le sont, mais celles-ci peuvent être contenir également des jardins. Sans traitement, les bâtiments auraient été représentés comme dans l'image de gauche de l'illustration suivante ; plusieurs opérations permettent d'obtenir l'image de droite et sont expliquées par la suite.

  

Aggréger des bâtiments

Les géométries des bâtiments ont été aggrégées par leur typologie, c'est-à-dire que toutes les parcelles adjacentes pour lesquelles le type de bâtiment est le même ont été fusionnées en un seul objet.

Créer les jardins

Une zone tampon négative a été appliquée aux blocs de bâtiments ainsi créés : elle permet de définir les polygones des jardins. Par différence, on obtient également la géométrie de l'anneau de bâti autour du jardin.

Planter les arbres

Des points aléatoires ont été créés dans les jardins pour représenter les arbres. Ils ont un attribut aléatoire dont la valeur peut être 1, 2 ou 3 permettant de placer un des trois types d'arbre.

Élever le bâtiment

L'effet de relief sur les bâtiments a été créé en utilisant les fonctions existantes de TileMill pour cela. Il suffit de définir une hauteur dans l'unité de la carte et une couleur :

building-height: 0.00002;
building-fill: @building-color;

Le toit a ensuite été ajouté en translatant la géométrie de l'anneau de la hauteur du bâtiment dans PostGIS, et en y appliquant la texture souhaitée.

Dessiner les traits au crayon

Le trait par défaut pour les contours des bâtiments a une largeur fixe et ne correspond donc pas à l'aspect crayonné recherché. Pour obtenir cela, plusieurs traits ont été superposés. Comme on peut le voir ci-dessous, ils sont composés de pointillés irréguliers, ils sont légèrement décalés par rapport au trait original et ont une légère opacité.

::inner1 {
  line-color:@building-line-color;
  line-dasharray:3,1.5,7,1.5,5;
  line-offset:-0.3;
  line-width:1;
  line-opacity:0.8;
}
::inner2 {
  line-color:@building-line-color;
  line-dasharray:3.5,1.5,7,1.5,5;
  line-offset:-0.4;
  line-width:1;
  line-opacity:0.8;
}

Appliquer la peinture

L'aspect aquarellé des textures a été obtenu en appliquant une image d'aquarelle dont la teinte a été modulée pour les trois types de surfaces : bâtiments, bâtiments publics et jardins.

Prendre sa plus belle plume

Outre le choix de la police de caractères, des expressions régulières ont été utilisées pour embellir et adapter les textes :

    • Le caractère s a été remplacé par ſ pour imiter la graphie de l'époque ;
    • Pour les bâtiments publics, le nom complet était écrit sous la forme "Eglise St Barhélémy (L')'. Ce texte est converti en 'L'Eglise St Barthélémy' grâce à la possiblité d'utiliser des expressions réguilères directement dans TileMill :
text-name: "[nom_prenom].replace('(.+)\s\((.+)\)','$2 $1')";

Coucher la carte sur le papier

Enfin, des textures ont été appliquées sur la carte :

  • l'une permet d'ajouter du grain grâce à une texture de parchemin :
  • #paper::grain {
      polygon-pattern-file: url(symbols/parchment.png);
      polygon-pattern-comp-op: soft-light;
    }
  • l'autre ajoute les plis de la carte et elle provient du style geography-class de MapBox.
  • #paper::folds {
      polygon-pattern-file: url(symbols/paperfolds_512.png);
      polygon-pattern-comp-op: color-burn;
    }

Formations associées

Formations SIG / Cartographie

Formation QGIS

Toulouse Du 1 au 3 octobre 2025

Voir la Formation QGIS

Formations SIG / Cartographie

Formation PostGIS

Toulouse Du 22 au 24 octobre 2025

Voir la Formation PostGIS

Formations SIG / Cartographie

Formation Leaflet

Toulouse Du 4 au 5 décembre 2025

Voir la Formation Leaflet

Actualités en lien

Geotrek et OpenS­treet­Map : Mise en place d’une passe­relle pour une connais­sance du terri­toire enri­chie

08/09/2025

Dans l’uni­vers des logi­ciels open-source, les plus belles inno­va­tions naissent souvent de la rencontre entre des commu­nau­tés qui partagent les mêmes valeurs. Aujour­d’hui, nous célé­brons une avan­cée majeure pour Geotrek : la créa­tion d’une passe­relle avec OpenS­treet­Map (OSM), la plus grande base de données carto­gra­phique colla­bo­ra­tive au monde. Plus qu’une simple fonc­tion­na­lité, ce projet est le fruit d’un travail d’in­gé­nie­rie et de recherche appro­fondi.
Voir l'article
Image
Logo d'illustration pour la passerelle entre OSM et Geotrek

Instal­ler Geotrek : avec ou sans segmen­ta­tion dyna­mique ?

08/09/2025

Geotrek-admin propose deux modes de fonc­tion­ne­ment pour gérer les objets liés aux tronçons : avec ou sans segmen­ta­tion dyna­mique. Ce choix a un impact impor­tant sur la manière dont sont stockées et gérées les données, et sur les possi­bi­li­tés d’édi­tion, de cohé­rence topo­lo­gique et d’in­ter­opé­ra­bi­lité avec d’autres systèmes. Dans cet article, on vous explique ce qu’est la segmen­ta­tion dyna­mique ainsi que le réfé­ren­ce­ment linéaire, ses avan­tages, ses limites, et dans quels cas il est perti­nent (ou non) de les utili­ser.
Voir l'article
Image
Réseau de tronçons dans Geotrek

Makina Corpus spon­so­rise State of the Map 2025

05/06/2025

Du 13 au 15 juin 2025 à Tours, Makina Corpus a le plai­sir d’an­non­cer sa parti­ci­pa­tion à State of the Map 2025 et d’ap­por­ter son soutien à l’évé­ne­ment de la commu­nauté OpenS­treet­Map en le spon­so­ri­sant.
Voir l'article
Image
State of the Map Tours

Inscription à la newsletter

Nous vous avons convaincus