Bandeau haut

Outils pour utilisateurs

Outils du site


manuel:programmation

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
manuel:programmation [//04/03/2023 12:19//] saraivamanuel:programmation [//25/09/2023 23:40//] (Version actuelle) – [Programmation et SIG : Synopsis] joliveau
Ligne 1: Ligne 1:
-===== Programmation et SIG : Synopsis =====+===== Programmation et SIG : un aperçu =====
  
-**Synthèse - Programmation et SIG**+==== Synthèse - Programmation et SIG ====
  
 L'émergence des SIG a permis aux ingénieurs, aux géographes, aux biologistes, et autres professionnels, de travailler en couches, c'est-à-dire de travailler avec la superposition de plusieurs informations relatives à un lieu (densité démographique, utilisation du sol, topologie, et toute autre caractéristique ayant un x et un y) et de réaliser des analyses à partir de la relation entre elles. La programmation permet de réduire le temps nécessaire à la réalisation de ces tâches et d'augmenter l'échelle spatiale des lieux où ces analyses sont effectuées à partir d'automatisations que l'homme ne peut pas réaliser seul. L'émergence des SIG a permis aux ingénieurs, aux géographes, aux biologistes, et autres professionnels, de travailler en couches, c'est-à-dire de travailler avec la superposition de plusieurs informations relatives à un lieu (densité démographique, utilisation du sol, topologie, et toute autre caractéristique ayant un x et un y) et de réaliser des analyses à partir de la relation entre elles. La programmation permet de réduire le temps nécessaire à la réalisation de ces tâches et d'augmenter l'échelle spatiale des lieux où ces analyses sont effectuées à partir d'automatisations que l'homme ne peut pas réaliser seul.
Ligne 14: Ligne 14:
 Voici quelques exemples de comment utiliser la programmation et l’automatisation dans le monde de SIG. Voici quelques exemples de comment utiliser la programmation et l’automatisation dans le monde de SIG.
  
-**Model Builder**+==== Model Builder ====
  
 Pour accéder au ModelBuilder il faut cliquer sur l’onglet « Analysis » et chercher dans l’espace « Geoprocessing » son icon. Une fois cliqué sur l’icon, un nouvel onglet apparaitra. Pour accéder au ModelBuilder il faut cliquer sur l’onglet « Analysis » et chercher dans l’espace « Geoprocessing » son icon. Une fois cliqué sur l’icon, un nouvel onglet apparaitra.
Ligne 43: Ligne 43:
   - Iterate Workspaces est Itérer les espaces de travail.   - Iterate Workspaces est Itérer les espaces de travail.
  
-Comme Itérateurs on a beaucoup d’options et c’est possible d’utiliser des itérations plus connues comme For et While mais aussi des itérations liées aux entités du monde SIG. Il est possible de réaliser une itération par rapport à table attributaire, on utilise « Iterate Feature Selection » pour les couches ou entités et « Iterate Row Selection » pour les tables. For est intéressant pour des analyses repetitives avec un limite, comme par exemple dans l’image suivante, on réaliser plusieurs zones tampon de 500 à 2000.+Comme Itérateurs on a beaucoup d’options et il est possible d’utiliser des itérations plus connues comme For et While mais aussi des itérations liées aux entités du monde SIG. Il est possible de réaliser une itération par rapport à table attributaire, on utilise « Iterate Feature Selection » pour les couches ou entités et « Iterate Row Selection » pour les tables. For est intéressant pour des analyses répétitives avec une limite, comme par exemple dans l’image suivante, on réalise plusieurs zones tampon de 500 à 2000.
  
 {{ :manuel:image3.png?600 |}} {{ :manuel:image3.png?600 |}}
Ligne 49: Ligne 49:
    
 On peut aussi réaliser des itérations par rapport aux champs d’une couche présents dans l’espace Contenu avec l’itérateur « Iterate Fields », ça permet de les filtrer par type (Texte, Réel, Court, Long, étc) et aussi de les sélectionner par nom. À travers l’itérateur « Iterate Fields Values », on peut aller plus loin et réaliser des itérations à propos des valeurs de chaque champ. On peut aussi réaliser des itérations par rapport aux champs d’une couche présents dans l’espace Contenu avec l’itérateur « Iterate Fields », ça permet de les filtrer par type (Texte, Réel, Court, Long, étc) et aussi de les sélectionner par nom. À travers l’itérateur « Iterate Fields Values », on peut aller plus loin et réaliser des itérations à propos des valeurs de chaque champ.
-L’itérateur « Iterate Multivalue » est capable d’itérer des plusieurs classes d’entités dedans différents fichiers geodatabase. Cet itérateur va parcourir chaque classe d’entité et réaliser une action sur elle. Dans l’image suivante on peut voir que chaque classe d’entité (InputFC1, InputFC2, InputFC3) sera projeter à travers l’outil « Project ».+L’itérateur « Iterate Multivalue » est capable d’itérer des plusieurs classes d’entités dedans différents fichiers geodatabase. Cet itérateur va parcourir chaque classe d’entité et réaliser une action sur elle. Dans l’image suivante on peut voir que chaque classe d’entité (InputFC1, InputFC2, InputFC3) sera projetée à travers l’outil « Project ».
  
 {{ :manuel:image4.png?600 |}} {{ :manuel:image4.png?600 |}}
Ligne 62: Ligne 62:
   - « *Grand » - on filtre tous les entités qui finissent par « Grand », sans considérer l’extension du fichier.   - « *Grand » - on filtre tous les entités qui finissent par « Grand », sans considérer l’extension du fichier.
   
-Dans l’image suivante on peut trouver un exemple lequel l’itérateur « Iterate Feature Classes » sélectionne les entités du type polygone d’un geodatabase appelé « Output.gdb ». Ensuite, pour chaque entité il est ajouté et calculé un nouveau champ à travers l’outil « Add Field » et « Calculate field », respectivement.+Dans l’image suivante on peut trouver un exemple où l’itérateur « Iterate Feature Classes » sélectionne les entités du type polygone d’un geodatabase appelé « Output.gdb ». Ensuite, pour chaque entité il est ajouté et calculé un nouveau champ à travers l’outil « Add Field » et « Calculate field », respectivement.
  
 {{ :manuel:image5.png?600 |}} {{ :manuel:image5.png?600 |}}
 Source :  ([[https://pro.arcgis.com/fr/pro-app/latest/tool-reference/modelbuilder-toolbox/examples-of-using-iterators-in-modelbuilder.htm#GUID-C0E9F998-C1DE-4D52-9FCE-13543FBC0FCB |ESRI]]). Source :  ([[https://pro.arcgis.com/fr/pro-app/latest/tool-reference/modelbuilder-toolbox/examples-of-using-iterators-in-modelbuilder.htm#GUID-C0E9F998-C1DE-4D52-9FCE-13543FBC0FCB |ESRI]]).
  
-L’itérateur « Iterate Files » permet de travailler avec des fichiers dedans un dossier. Également comme « Iterate Feature Classes », il est possible de réaliser des filtres à travers des mots (utilisation d’un mot plus le caractère « * ») et aussi l’extension du fichier (par exemple, pour travailler avec des fichiers du type texte, il faut remplir « TXT »). +L’itérateur « Iterate Files » permet de travailler avec des fichiers dans un dossier. Également comme « Iterate Feature Classes », il est possible de réaliser des filtres à travers des mots (utilisation d’un mot plus le caractère « * ») et aussi l’extension du fichier (par exemple, pour travailler avec des fichiers du type texte, il faut remplir « TXT »). 
  
 {{ :manuel:image6.png?600 |}} {{ :manuel:image6.png?600 |}}
Ligne 81: Ligne 81:
   - Pour consulter tous les outils possibles sur ModelBuilder : https://pro.arcgis.com/fr/pro-app/latest/tool-reference/modelbuilder-toolbox/an-overview-of-the-modelbuilder-toolbox.htm ;   - Pour consulter tous les outils possibles sur ModelBuilder : https://pro.arcgis.com/fr/pro-app/latest/tool-reference/modelbuilder-toolbox/an-overview-of-the-modelbuilder-toolbox.htm ;
  
-**GeoPandas**+==== GeoPandas ====
  
 La première chose à faire avant d’utiliser les commandes de la librairie GeoPandas est l’installation et pour la faire il faut savoir quelle plateforme IDE vous utilisez (Jupyter Notebook, Google Colab, Anaconda, etc). Dans tout le cas la page de documentation de GeoPandas fourni des consignes comment faire son installation : https://geopandas.org/en/stable/getting_started/install.html. Pour Jupyter Notebook il faut faire comme dans l’image suivante et installer tous les libraires nécessaires avant d’installer geopandas, c’est-à-dire shapely, fiona, pyproj et packaging. La première chose à faire avant d’utiliser les commandes de la librairie GeoPandas est l’installation et pour la faire il faut savoir quelle plateforme IDE vous utilisez (Jupyter Notebook, Google Colab, Anaconda, etc). Dans tout le cas la page de documentation de GeoPandas fourni des consignes comment faire son installation : https://geopandas.org/en/stable/getting_started/install.html. Pour Jupyter Notebook il faut faire comme dans l’image suivante et installer tous les libraires nécessaires avant d’installer geopandas, c’est-à-dire shapely, fiona, pyproj et packaging.
Ligne 91: Ligne 91:
 {{ :manuel:image8.png?800 |}} {{ :manuel:image8.png?800 |}}
    
-Une fois installé, il faut importer cette librairie en écrivant « import geopandas ». Ensuite on peut finalement commencer à utiliser les commandes du GeoPandas. Cette librairie permet de travailler avec les fichiers du type GeoPackage, GeoJSON et Shapefile et tous les autres types contenant une table attributaire et une geometrie. Dans l’image on voit qu’autres librairies ont étés installés, c’est normal parce qu’on aura besoin pour la séquence du tutoriel.+Une fois installé, il faut importer cette librairie en écrivant « import geopandas ». Ensuite on peut finalement commencer à utiliser les commandes du GeoPandas. Cette librairie permet de travailler avec les fichiers du type GeoPackage, GeoJSON et Shapefile et tous les autres types contenant une table attributaire et une geometrie. Dans l’image on voit que d’autres librairies ont étés installés, c’est normal parce qu’on aura besoin pour la séquence du tutoriel.
  
 {{ :manuel:image9.png?800 |}} {{ :manuel:image9.png?800 |}}
    
-Pour lire des fichiers il faut utiliser la commande « geopandas.read_file() » et ajouter dedans les parenthèses le chemin du fichier avec son nom et son extension (*.shp, *.geojson ou *.gpkg par exemple). Au final on écrit geopandas.read_file(« chemin du fichier/nom.extension »). On peut aussi stocker dans une variable pour faciliter l’utilisation de cette commande, « variable = geopandas.read_file(« chemin du fichier/nom.extension »). Le résultat est une table avec les champs de la table attributaire comme colonne et à la fin une dernière colonne qui montre la géométrie (polygon, ligne ou point par exemple) comme dans l’image ci-suivante.+Pour lire des fichiers il faut utiliser la commande « geopandas.read_file() » et ajouter entre les parenthèses le chemin du fichier avec son nom et son extension (*.shp, *.geojson ou *.gpkg par exemple). Au final on écrit geopandas.read_file(« chemin du fichier/nom.extension »). On peut aussi stocker dans une variable pour faciliter l’utilisation de cette commande, « variable = geopandas.read_file(« chemin du fichier/nom.extension »). Le résultat est une table avec les champs de la table attributaire comme colonne et à la fin une dernière colonne qui montre la géométrie (polygon, ligne ou point par exemple) comme dans l’image ci-suivante.
  
 {{ :manuel:image10.png?800 |}} {{ :manuel:image10.png?800 |}}
Ligne 107: Ligne 107:
 {{ :manuel:image12.png?800 |}} {{ :manuel:image12.png?800 |}}
    
-La commande to_file() sert à deux possibilités, soit créer des nouveaux fichiers soit convertir des fichiers existants. Il faut seulement donner comme arguments le chemin, avec le nom et extension, et l’extension (argument « driver »). Un exemple est montré dans l’image suivante, dans ce cas on faire une conversion Shapefile > Geopackage. Pour quelques formats il faut savoir la forme abregée qui GeoPandas accepte, ce que peut être consulter dans la page docummentation (Lien : https://geopandas.org/en/stable/docs/user_guide/io.html ).+La commande to_file() sert à deux possibilités, soit créer des nouveaux fichiers soit convertir des fichiers existants. Il faut seulement donner comme arguments le chemin, avec le nom et extension, et l’extension (argument « driver »). Un exemple est montré dans l’image suivante, dans ce cas on faire une conversion Shapefile > Geopackage. Pour quelques formats il faut savoir la forme abregée qui GeoPandas accepte, ce que peut être consulter dans la page documentation (Lien : https://geopandas.org/en/stable/docs/user_guide/io.html ).
  
 {{ :manuel:image13.png?800 |}} {{ :manuel:image13.png?800 |}}
Ligne 121: Ligne 121:
 {{ :manuel:image15.png?800 |}} {{ :manuel:image15.png?800 |}}
    
-Comme GeoPandas est une sous-classe de Pandas on peut utiliser tous les fonctions Pandas. Ça nous donne la possibilité de faire des sélections par attribut en utilisant les commandes .loc[] e .iloc[]. L’image suivante contient un exemple de comment sélectionner les entités avec une surface plus grand que 5000 km².+Comme GeoPandas est une sous-classe de Pandas on peut utiliser toutes les fonctions Pandas. Ça nous donne la possibilité de faire des sélections par attribut en utilisant les commandes .loc[] e .iloc[]. L’image suivante contient un exemple de comment sélectionner les entités avec une surface plus grand que 5000 km².
  
 {{ :manuel:image16.png?800 |}} {{ :manuel:image16.png?800 |}}
Ligne 131: Ligne 131:
 D’autres fonctions et commandes sont possible avec la librairie GeoPandas et on peut les trouver sur son page de Documentation (Lien : https://geopandas.org/en/stable/docs.html). Dans cette page, il contient les informations utilisées pour réaliser ce tutoriel. D’autres fonctions et commandes sont possible avec la librairie GeoPandas et on peut les trouver sur son page de Documentation (Lien : https://geopandas.org/en/stable/docs.html). Dans cette page, il contient les informations utilisées pour réaliser ce tutoriel.
  
-**GDAL/OGR**+==== GDAL/OGR ====
  
-A travers la librairie GDAL/OGR on peut travailler avec des fichiers vectoriels. Il faut utiliser OGR. Avant de commencer il faut dire que la librairie OGR n’est pas si « user friendly » que GeoPandas et elle travaille dans une façon qui demande à l'utilisateur de fournir toutes les informations, alors que GeoPandas est capable de comprendre tout seul.+A travers la librairie GDAL/OGR on peut travailler avec des fichiers vectoriels. Il faut utiliser OGR. Avant de commencer il faut dire que la librairie OGR n’est pas si « user friendly » que GeoPandas et elle travaille d'une manière qui demande à l'utilisateur de fournir toutes les informations, alors que GeoPandas est capable de comprendre tout seul.
  
 L’importation est assez simple. L’importation est assez simple.
Ligne 159: Ligne 159:
 {{ :manuel:image23.png?800 |}} {{ :manuel:image23.png?800 |}}
    
-La surface est déterminé à partir de la fonction « Area() ». Le résultat est donné en fonction du système de coordonnées, comme il s’agit de Lambert 93, l’unité est m².+La surface est déterminée à partir de la fonction « Area() ». Le résultat est donné en fonction du système de coordonnées, comme il s’agit de Lambert 93, l’unité est m².
  
 {{ :manuel:image24.png?800 |}} {{ :manuel:image24.png?800 |}}
Ligne 205: Ligne 205:
 La librairie GDAL/OGR contient plusieurs fonctions qui peuvent être utilisé avec fichier vectoriels et rasters, et pour les découvrir il faut consulter la page de documentation sur le lien suivant https://gdal.org/index.html. Et pour les fichiers raster, on peut consulter la page https://gdal.org/programs/index.html. Dans cette page, il contient les informations utilisées pour réaliser ce tutoriel. La librairie GDAL/OGR contient plusieurs fonctions qui peuvent être utilisé avec fichier vectoriels et rasters, et pour les découvrir il faut consulter la page de documentation sur le lien suivant https://gdal.org/index.html. Et pour les fichiers raster, on peut consulter la page https://gdal.org/programs/index.html. Dans cette page, il contient les informations utilisées pour réaliser ce tutoriel.
  
-**Rasterio**+==== Rasterio ====
  
 Comme pour la librairie GeoPandas, il faut installer la librairie Rasterio. Pour en faire on doit écrire seulement « !pip install rasterio -q ». Pour quelques problèmes d’installation qui peuvent apparaître, Rasterio fournit une page en montrant comme installer proprement https://rasterio.readthedocs.io/en/stable/installation.html#. Comme pour la librairie GeoPandas, il faut installer la librairie Rasterio. Pour en faire on doit écrire seulement « !pip install rasterio -q ». Pour quelques problèmes d’installation qui peuvent apparaître, Rasterio fournit une page en montrant comme installer proprement https://rasterio.readthedocs.io/en/stable/installation.html#.
manuel/programmation.1677928775.txt.gz · Dernière modification : //04/03/2023 12:19// de saraiva

Bandeau bas