Python : FileGDB ESRI values via ArcPy

File GDB

La géodatabase fichier Esri (FileGDB) est une base de données basée sur des fichiers pour les données vectorielles et raster. Il peut être identifié comme dossier avec le suffixe .gdb.

Il s’agit d’une base de données basée sur des fichiers prenant en charge de nombreux types de données SIG tels que les points, les lignes, les polygones, la géométrie 3D (multipatch), le raster, etc.

Arcpy

ArcPy est un site-package qui repose sur le module arcgisscripting éprouvé (et lui succède). Son but est de créer le fondement d’une méthode pratique et productive permettant d’effectuer l’analyse, la conversion et la gestion de données géographiques ainsi que de procéder à l’automatisation de cartes avec Python.

L’aide sur ce module peut-être consultée ici 

Codes python

Pour extraire de l’information d’une file GDB, il faut déjà définir quelques variables :

  • Chemin d’accès : D:\RWB\Python\_dev_py3\
  • Nom de la fileGDB : WAS_LaveyMorcles_MN95.gdb
  • Nom du dataset éventuel : WAS
  • Nom du ou des Features Classes
  • Nom du ou des attributs

Espace de travail courant (paramètre d’environnement)

L’espace de travail est défini par la File  GDB

import arcpy

# Set the workspace environment to local file geodatabase arcpy.env.workspace = "D:/RWB/Python/_dev_py3/WAS_LaveyMorcles_MN95.gdb"

ListFeatureClasses

Extrait la liste des Features Classes de la fileGDB

# Use the ListFeatureClasses function to return a list of
# shapefiles.
featureclasses = arcpy.ListFeatureClasses()

# Copy shapefiles to a file geodatabase
for fc in featureclasses:
print fc

 

Python – Modules

Introduction

Un module permet d’organiser logiquement son code Python. Le regroupement de divers codes associés dans un  module facilite la lecture du code, ou permet simplement de mettre à disposition diverses fonctions, classes ou encore variables dans divers codes python.

Un module s’ajoute au code python par la fonction « import ».

#!/usr/bin/python

# Import built-in module math
import math
# Import built-in module pandas
import pandas

Modules utilisés

Ci-dessous, je vous propose une liste non-exhaustive des principaux modules que j’utilise régulièrement :

Arcpy ArcGis for Desktop / ArcGis Pro

ArcPy est un site-package qui repose sur le module arcgisscripting éprouvé (et lui succède). Son but est de créer le fondement d’une méthode pratique et productive permettant d’effectuer l’analyse, la conversion et la gestion de données géographiques ainsi que de procéder à l’automatisation de cartes avec Python.

Pandas (Python Data Analysis Library)

pandas est un package Python fournissant des structures de données rapides, flexibles et expressives conçues pour rendre le travail avec des données «relationnelles» ou «étiquetées» à la fois facile et intuitif. Il vise à être le bloc de construction fondamental de haut niveau pour effectuer une analyse de données pratique et réelle en Python.

XlsxWriter (Création de fichiers Excel)

XlsxWriter est un module Python qui peut être utilisé pour écrire du texte, des nombres, des formules et des liens hypertexte vers plusieurs feuilles de calcul dans un fichier Excel

ezdxf (Création et modification de fichiers DXF)

Un package Python pour créer et modifier des dessins DXF, indépendamment de la version DXF. Vous pouvez ouvrir / enregistrer chaque fichier DXF sans perdre de contenu (sauf les commentaires), les balises inconnues dans le fichier DXF seront ignorées mais conservées pour l’enregistrement. Avec ce comportement, il est possible d’ouvrir également des dessins DXF contenant des données provenant d’applications tierces.

Ce module nécessite au minimum python 3.6

D’autres modules viendront compléter cet article

Python – Langage de programmation

Introduction

Python est un langage de programmation open source qui est bien implanté dans le divers SIG. Grace à divers modules que l’on peut importer au début du code, Python peut s’adapter à tous types de besoins et répondre quel que soit sa complexité.

On trouve sur le web un nombre important de site qui renseignent sur ce langage.

Python est destiné à un usage général et utilisé comme langage de script dans la gamme de logiciel ArcGIS. En version 2.7 avec ArcGis for desktop, et en 3.6 sous ArcGis Pro, il utilise le site-package ArcPy, qui fournit l’accès à des outils de géotraitement ainsi qu’à des fonctions, des classes afin de créer rapidement et facilement des workflow simples ou complexes.

Python et ArcGis

[extrait de l’aide d’ArcGis]

Python est un langage de programmation Open Source, multiplateforme et gratuit, à la fois puissant et facile à appréhender. Il est largement utilisé et pris en charge. Pour en savoir plus sur Python, consultez python.org.

Python a été introduit dans la communauté ArcGIS au niveau de la version 9.0. Depuis lors, il a été accepté comme le langage de script de prédilection des utilisateurs de géotraitement et continue son développement. Chaque version a renforcé l’utilisation de Python, en vous offrant plus de fonctionnalités et une interface plus riche et conviviale.

Python et le BIM

Python est tout à fait capable de traiter tout un lot de données, géographiques ou non, et est donc parfaitement adapter à d’autres types d’utilisation, comme notamment l’analyse de données (Data Analys) ou encore l’AR (Réalité Augmentée).

En résumé

J’ai donc choisit d’utiliser ce langage de programmation depuis quelques années afin de répondre à tous mes besoins nécessitant de la programmation. Si un langage de programmation n’est pas nécessaire, alors l’utilisation du logiciel FME (Feature Manipulate Engine / Safe.com) peux convenir et fait l’objet d’un autre article de présentation.