TP8 – Analyses de distance

Introduction

Cet avant-dernier TP du semestre te permet d’expérimenter deux outils basés sur l’analyse de distance: le lissage spatial (appelé dans ArcGIS densité de noyau) et les aires de chalandise (ou aires d’influence).

En dehors du paramétrage des outils (y compris variables d’environnement), cet exercice te permettra de mener une chaîne complète de géo-traitements, en reliant les données issues des deux analyses en une seule couche, avec l’outil de statistiques de zone.

Es-tu prêt-e à plonger dans le monde excitant et merveilleux du canton de Zoug, avec ses zones industrielles, ses Migros ou ses distributeurs de billets? C’est parti!

Blick auf die Stadt Zug im Winter – SuisseTourisme

Ce TP n’aurait pas été possible sans les ressources listées ci-dessous:

  • (Image de couverture) “The Birdeye view of Zug`s Old Town” by LohriPR
1. Préparation des données

Crée un nouveau projet TP8, avec geodatabase associée.

Vérifier dans les propriétés de la carte que le système de référence est bien CH1903+ LV95.

Crée une geodatabase selon le schéma habituel:

Tu peux créer 2 datasets ANALYSE car les deux sont ici bien distinctes:

  • ANALYSE_BATI (pour la partie du TP sur l’analyse du bâti)
  • ANALYSE_DISTANCE (pour la partie du TP sur l’analyse de distance).

Le dataset TEMP te sera utile au point 2. Au moment du rendu final du TP, tu pourras le vider ou le supprimer.

Télécharge les données du TP depuis ce lien et place une copie dans le feature dataset “source”.

Utilise l’outil Project pour reprojeter la couche osm_poi_pnt de WGS84 à CH1903+.

Solution

Informations sur la source des données, toutes de 2023:

  • bati_ZE_pol et gda_lacs_ZE_pol: Swisstopo, swissTLM3D
  • limites_ZE_pol: Swisstopo, swissBOUNDARIES3D
  • osm_poi_pnt: OpenStreetMap (obtenus via Geofabrik)
2. Analyse du bâti

Le but est de réaliser une carte montrant la concentration du bâti dans le canton de Zoug.

2a) Pour réaliser l’analyse de concentration (lissage spatial), on doit convertir nos bâtiments en points, mais on veut conserver une information sur la taille de chaque bâtiment. Pour ce faire:

  • Charger la couche bati_ZE_pol.
  • Calculer un nouveau champ SURFACE avec la surface au sol (en mètres-carrés) de chaque bâtiment à l’aide de l’outil Calculate Geometry Attributes.
  • Transformer les bâtiments en points en calculant leur centroïde avec l’outil Feature to Point. Cocher l’option “Inside” permet de s’assurer que le point se trouvera à l’intérieur de chaque polygone (plus sûr si on réalise ensuite une jointure spatiale). Enregistrer le résultat comme bati_ZE_pnt dans le feature dataset “analyse_bati”. En ouvrant la table attributaire, on voit que le champ SURFACE est toujours là.
Solution

2b) On peut à présent chercher à visualiser au mieux la densité du bâti dans le canton. ArcGIS propose plusieurs outils d’analyse de la densité. Nous allons ici utiliser l’analyse par noyau, qui apprécie les concentrations de points en fonction des distances observées entre les points à l’intérieur d’un rayon de recherche.

Ouvre l’outil Kernel Density

L’outil propose plusieurs paramètres, détaillés dans la documentation.

Fais plusieurs essais en variant la valeur du rayon de recherche (search radius). Pense à garder trace des paramètres en changeant le nom du raster en sortie à chaque fois (par exemple: “concentration_bati_1km”).

⚠️ Le rayon de recherche, dans notre cas est en mètre !

Solution

Il n’est pas pertinent de calculer la densité du bâti dans les lacs. Il serait bien sûr possible de découper après coup le raster de résultat pour “effacer” les zones de lacs. Cependant, l’outil Kernel Density propose une option plus directe: ajouter des obstacles pour limiter la zone traitée (voir illustration ci-dessous).

Analyse par lissage spatial sans (1) ou avec (2) des obstacles, ici un buffer autour des axes routiers, tout à fait pertinent pour une densité d’accidents routiers. ESRI

Dans le cas de Zoug, on va utiliser la couche du périmètre des lacs (tirée de swissTLM3d) comme obstacle.

Charge la couche lacs_ZE_pol dans ton projet et utilise-la dans le paramètre Input barrier feature. Relance l’outil Kernel Density et observe la différence.

Enregistre le résultat le plus convainquant (avec obstacle des lacs) en tant que concentr_bati_XXm (où XX indique le rayon de recherche).

Solution

2c) On aimerait également connaître la densité de grands bâtiments (du point de vue de la surface au sol). Toujours dans Kernel Density, tu peux préciser dans le champ Population field l’attribut à utiliser pour observer des proximités.

Choisis l’attribut SURFACE calculé au point 2a, en conservant les autres paramètres Search radius et Input barrier features identiques à ceux de la couche enregistrée à la fin du point 2b. Observe la différence entre les deux résultats: tu devrais voir des concentrations différentes, par exemple une zone industrielle à Holzhäusern (grands bâtiments, mais peu nombreux).

Enregistre le résultat en tant que concentr_gds_bats_XXm (où XX indique le rayon de recherche).

Solution
3. Analyse de distance: aire de chalandise

Une aire de chalandise correspond à la zone d’influence théorique (uniquement en fonction de la distance euclidienne) d’un service. Le chaland, c’est le client. A l’origine, cet outil permet de localiser au mieux un service commercial. En effet, on peut comparer différentes localisations en regardant par exemple ce qui se trouve dans chaque zone (combien de clients potentiels, avec quelles caractéristiques, etc).

Les polygones de Thiessen (aussi appelés de Voronoi, selon que l’on est plutôt du bloc de l’ouest ou du bloc de l’est) sont un outil simple pour réaliser ce type d’analyse. Comme son nom l’indique, il définit les aires de chalandises de chaque point=service par un polygone. L’aire du point X s’arrête là où elle rencontre l’aire des autres points voisins, à mi-chemin. C’est donc bien une analyse de distance.

Comment on construit géométriquement les polygones de Thiessen (Haggett et al. 1977)

3a) Choisis d’abord dans la couche osm_poi_pnt (qui contient les points d’intérêts issus des données OpenStreetMap, dans un rayon d’environ 10km autour du canton de Zoug) le type de service qui t’intéresse. Tu peux par exemple choisir les distributeurs de billets (fclass=atm), les emplacements Mobility (fclass=car sharing) ou les Migros (name=Migros). Sélectionne les objets avec Select by Attributes.

Ouvre l’outil Create Thiessen Polygons et charge en entrée la couche osm_pois_pnt. Ta sélection s’affiche (il faut au moins 3 points sélectionnés pour que ce soit intéressant). Dans les variables Environments de l’outil, règle l’étendue de l’analyse Extent sur celle de la couche limites_ZE_pol. Tu peux essayer l’outil pour divers types de POI.

Solution

Lorsque le résultat te paraît intéressant:

  • Exporte les POIs sélectionnés dans un nouvelle couche avec le nom du type d’objet (p.ex. poi_Migros_pnt) dans ton feature dataset “analyse_distance”.
  • Afin de la préparer pour la carte finale, découpe la couche des polygones de Thiessen avec celle des limites de la zone d’étude (tu connais l’outil adapté pour faire cela 😉 puis soustrais encore la couche des lacs (un autre outil connu, celui qui correspond à la relation logique NOT). Enregistre le résultat dans le même feature dataset sous le nom thiessen_ZE_pol.

3b) Dernière étape: on veut à présent pouvoir comparer les différentes zones de chalandise, en fonction de la concentration du bâti. A noter qu’on est ici dans le cadre d’un exercice: selon le type de POI choisi, le lien avec la concentration du bâti ne sera pas forcément très pertinent. Mais cela ouvre des pistes à suivre pour un projet personnel de géomatique, non?

Il faut donc récupérer une valeur moyenne depuis notre couche de l’étape 2 concentr_bati_XXm et l’attribuer à chaque zone de chalandise de l’étape 3 thiessen_ZE_pol.

Ouvre l’outil Zonal Statistics. Cet outil permet de calculer des statistiques sur la base de tous les pixels du raster couverts par chaque zone (ici chaque aire de chalandise). Ici, on peut calculer la valeur médiane des concentrations mesurées par le lissage spatial (Kernel Density).

Solution
4. Bonus: analyse en clusters

L’analyse de clusters (agrégats) cherche à définir des groupes d’objets aux caractéristiques similaires. Ce type d’analyse permet de réduire l’information, mais également de rechercher des structures dans un jeu de données.

La couche bati_ZE_pnt permet de tester simplement ce type d’analyse. Les clusters obtenus peuvent par exemple aider à définir des types de quartiers, en fonction de la distribution spatiale du bâti. C’est un bon outil pour créer des typologies.

Ouvre l’outil Density-based Clustering. Ajouter la couche bati_ZE_pnt en entrée et choisis la méthode HDBSCAN (idéale pour une première exploration au hasard). Le dernier paramètre permet de fixer le nombre minimal d’objets pour créer un cluster, par exemple ici 150 permet d’observer les différents centres urbains. Une valeur plus basse créera des clusters plus petits, donc plus détaillés, par exemple 100 permet de voir les différents quartiers de la ville de Zoug.

Solution
5. Cartographie des résultats et finalisation

5a) À l’aide du fichier “Layout_TP8.pagx” (se trouve dans les données téléchargées au début du TP), présente tes résultats avec une carte en diptyque :

  • d’un côté les concentration du bâti ou des grands bâtiments, à choix. Carte raster, échelle continue.
  • de l’autre, les services de ton choix avec leurs aires de chalandise, classées selon la valeur médiane de concentration du bâti dans la zone. Carte choroplèthe.

Tu peux bien sûr ajouter toute couche d’habillage utile.

Le layout contient déjà deux MapFrames, un pour la densité de grands bâtiments et un pour l’analyse de distance. Il te suffira de les ouvrir (open) et d’ajouter dans chaque objet Map les couches respectives. Ici tu trouveras une démarche détaillée similaire (pas identique). N’oublie pas de compléter la carte et de t’assurer que tous les éléments essentielles soient présents : titre, légende, auteur, sources, échelles, flèche du nord, etc.

6. Rendus et paquetage du projet

6a) Tu peux d’ores et déjà soumettre ta carte au format .pdf sur Moodle: Rendus_Carte_TP8. N’oublie pas le format du rendu : nom_prenom_carte_TP8.pdf (tu peux consulter la grille d’évaluation sur Moodle).

6b) Crée un paquetage de projet à partager en suivant les instructions à ce lien.

N’oublie pas d’inclure un résumé (summary) et des balises ou mots-clés (tags) contenant les métadonnées identifiées précédemment. Tu peux cliquer la case “Share outside of organization” et le bouton “Analyze” pour optimiser ton paquetage pour un partage public.

Il se peut que l’historique (Historic Items) de ton projet créé une erreur à l’analyse ou pendant le paquetage, tu peux désélectionner cette option si c’est le cas.

Solution

6c) Une fois le projet paqueté, vérifie que le fichier .ppkx que tu viens de créer te permet bien de réouvrir le projet avec la géodatabase complète (par exemple en double-cliquant dessus).

Solution

6d)  Copie le fichier .ppkx de la machine virtuelle sur ton OneDrive et crée un lien de partage.

6e) Tu peux maintenant te rendre à nouveau sur Moodle pour soumettre ce lien : Rendus_projet_TP8. N’oublie pas le format du rendu : nom_prenom_projet_TP8.ppkx

Félicitation pour ce TP, rendez-vous la semaine prochaine pour le dernier TP sur Modelbuilder. La dernière étape à franchir avant la réalisation des dernières étapes de ton projet personnel !