Академический Документы
Профессиональный Документы
Культура Документы
Automatiser ArcGIS
avec Python
Gatan LAVENU
Simple maintenir
Cross-platform
Fonctions et Modules
-
Type
Description
Exemple
Listes
Une collection
ordonne
flexible
Une collection
fige (non
modifiable)
Paires
Cl/Valeur
D = {"ProductName": "desktop",
Tuples
Dictionnaires
"InstallDir": c:\\ArcGIS\\Desktop10.0"}
import arcpy
def increaseExtent(extent, factor):
"""Increases the extent by the given factor"""
XMin = extent.XMin - (factor * extent.XMin)
YMin = extent.YMin - (factor * extent.YMin)
XMax = extent.XMax + (factor * extent.XMax)
YMax = extent.YMax + (factor * extent.YMax)
Dfinir votre
fonction
Retourne un
rsultat
oldExtent = arcpy.Describe("boundary").extent
newExtent = increaseExtent(oldExtent, .1)
On appelle
la fonction
Dmo 1
Types
et Fonctions Python
Module
arcgisscripting
9.3 version
Pythonisation Site-package ArcPy
Python 2.5
Support des oprations de
Mapping et Map Algebra
Fentre Python
Python 2.6
ArcPy
What is ArcPy?
ArcPy
Les curseurs
Les classes
Dmo 2
Utiliser
Environnement de gotraitement
General settings
-
Et beaucoup d'autres
arcpy.env.workspace
arcpy.env.outputCoordinateSystem
arcpy.env.extent
arcpy.env.cellSize
# Dmarrer un bloc
try:
arcpy.Buffer_analysis("c:/ws/roads.shp", "c:/outws/roads10.shp", 10)
# Si une erreur se produit lors de l'excution de l'outil alors on affiche
# le message
except arcpy.ExecuteError:
print arcpy.GetMessages(2)
# Si un autre type d'erreur se produit, on capture l'exception et on l'affiche
except Exception as e:
print e.message
Dmo 3
Dfinir l'environnement de
gotraitement
Retourner des messages
Crer un bloc
tryexcept
Automatisation = Productivit
Automatisation
cartographique
Analyse de
donnes
Conversion
de donnes
Gestion de
donnes
Fonctions
etc
Traitement en batch
Rfrence Spatiale
Dmo 4
Traitement en batch
Classes
Classes
En version 10
pt = arcpy.Point(5,10)
Description
SearchCursor
UpdateCursor
InsertCursor
Les curseurs
En version 10
for row in arcpy.SearchCursor(myTable)
print row.getValue(Code_PLU)
Les curseurs
while pnt:
print pnt.X, pnt.Y
pnt = part.next()
if not pnt:
pnt = part.next()
if pnt:
interiorRing = True
Exemple
Dmo 5
import arcpy
import random
cursor = arcpy.InsertCursor(table)
# Write a 100 new rows with random values
for x in range(1,100):
row = cursor.newRow()
row.setValue("Pop", random.random())
cursor.insertRow(row)
Crer un nouvel
enregistrement
Assigner une valeur
alatoire (pour l'exemple)
dans le champ "Pop"
Insrer l'enregistrement
dans la table
Effacer les objets utiliss
pour ne pas maintenir la
table verrouille
arcpy.env.workspace = c:/data/base.gdb
# Retourne une liste d'objets Geometry
gList = arcpy.CopyFeatures_management(rivers, arcpy.Geometry())
# Affiche l'tendue de la premire gomtrie de la liste
print gList[0].extent
contains
crosses
disjoint
equals
overlaps
touches
within
Exemple
Le module arcpy.mapping
Un accs en Python :
-
Dmo 6
Automatisation
cartographique
Messages
AddMessage()
AddWarning()
AddError()
import arcpy
# Rcupre la classe d'entits ou la couche en entre
in_features = arcpy.GetParameterAsText(0)
# Rcupre le nom du champ en entre
in_fieldName = arcpy.GetParameterAsText(1)
Valeur
-
Dmo 7
Crer
un Script Tool
http://help.arcgis.com/fr/arcgisdesktop/10.0/help/index.htm
l#/Calculate_Field/00170000004m000000/
Resource Center
-
http://resources.arcgis.com/geoprocessing/
(Franais ou Anglais)
Tutoriaux en ligne
http://python.developpez.com/cours/TutoSwinnen/
http://fr.wikibooks.org/wiki/Apprendre_%C3%A0_programmer_
avec_Python
http://www.inforef.be/swi/download/apprendre_python3.pdf
Dmo 8
Pause