Equivalents Python des fonctions AML

Le géotraitement dans ArcGIS correspond à l'exécution d'un outil pour créer de nouvelles informations à partir d'informations existantes. En général, les résultats sont utilisés comme entrée dans d'autres outils pour automatiser un workflow mettant généralement en jeu la gestion des données, l'analyse spatiale, la conversion des données ou une combinaison de ces trois types de tâches. Le géotraitement est utilisé depuis de nombreuses années, Workstation ArcInfo étant l'un des premiers produits à fournir une riche collection d'opérations SIG, appelées commandes, et un cadre flexible permettant de les utiliser, appelé langage AML (Arc Macro Language).

ArcGIS 9 comportait un nouvel ensemble d'opérateurs SIG et une nouvelle structure destinée à leur utilisation. Un grand nombre des opérateurs sont familiers à un utilisateur de Workstation ArcInfo, tels que Agréger ou Découpage, car les noms ont été conservés autant que possible. ArcGIS 9.0 intégrait également la prise en charge de langages de script, tels que Python, qui permettaient de rédiger des workflows plus complexes souvent utilisés dans AML, mais faisant appel à des langages non propriétaires qui fournissaient des capacités supérieures à AML.

L'effort de conserver une relation entre les noms des commandes et des outils entre ArcInfo Workstation et ArcGIS 9 a également été étendu au modèle de script, dans lequel de nombreuses procédures restent semblables en nature. Là où cela était possible, la simplicité d'utilisation d'AML a été maintenue dans ArcGIS, comme pour répertorier les données d'un espace de travail ou décrire les propriétés d'un jeu de données. Le but est que tout utilisateur d'AML puisse apprendre rapidement à écrire un script de géotraitement avec ArcGIS.

Pour faciliter cette transition, les équivalents ci-dessous indiquent comment exécuter des fonctions AML, mais en utilisant Python. Toutes les fonctions et les directives AML ne s'appliquent pas nécessairement au nouveau modèle, car certaines étaient directement liées à l'environnement Workstation ArcInfo (telles que la fonction SHOW), tandis que d'autres (telles que LISTFILE) sont mieux prises en charge par Python que par les composants de géotraitement d'ArcGIS. De nombreux exemples utilisent les modules Python généraux conjointement avec la fonctionnalité Python d'ArcGIS.

Pour en savoir plus sur les équivalents Python des directives AML

Equivalents des fonctions AML

ABS < x >

Fonction AML
abs(x)

ACCESS < path >

Fonction AML
import arcpy
arcpy.TestSchemaLock(path)

ACOS < x >

Fonction AML
import math
math.acos(x)

AFTER < s > < search_s >

Fonction AML
s[s.find(search_s) + 1:]

ANGRAD

Fonction AML

<non applicable>

ASIN < x >

Fonction AML
import math
math.asin(x)

ATAN < x >

Fonction AML
import math
math.atan(x)

ATAN2 < y > < x >

Fonction AML
import math
math.atan2(y, x)

BEFORE < s > < search_s >

Fonction AML
s[:s.find(search_s)]

CALC < expression >

Fonction AML
import arcpy
arcpy.CalculateValue_management(expression)

CLOSE < file_unit >

Fonction AML
file_unit.close()

COLUMNINFO

Fonction AML

<non applicable>

COPY < input > < output >

Fonction AML
import arcpy
arcpy.Copy_management(input, output)

COS < x >

Fonction AML
import math
math.cos(x)

CVTDISTANCE

Fonction AML

<non applicable>

DATE -DEFAULT

Fonction AML
import time
time.strftime("%y-%m-%d", time.localtime())

DATE -FULL

Fonction AML
import time
time.strftime("%y-%m-%d.%H:%M:%S.%a", time.localtime())

DATE -USA

Fonction AML
import time
time.strftime("%m/%d/%y", time.localtime())

DATE -UFULL

Fonction AML
import time
time.strftime("%m/%d/%y.%H:%M:%S.%a", time.localtime())

DATE -VFULL

Fonction AML
import time
time.strftime("%d %b %y %H:%M:%S %A", time.localtime())

DATE -DAY

Fonction AML
import time
time.strftime("%d", time.localtime())

DATE -MONTH

Fonction AML
import time
time.strftime("%B", time.localtime())

DATE -YEAR

Fonction AML
import time
time.strftime("%Y", time.localtime())

DATE -VIS

Fonction AML
import time
time.strftime("%d %b %y", time.localtime())

DATE -TIME

Fonction AML
import time
time.strftime("%H:%M:%S", time.localtime())

DATE -AMPM

Fonction AML
import time
time.strftime("%I:%M %p", time.localtime())

DATE -DOW

Fonction AML
import time
time.strftime("%A", time.localtime())

DATE -CAL

Fonction AML
import time
time.strftime("%B %d, %Y", time.localtime())

DATE -TAG

Fonction AML
import time
time.strftime("%y%m%d", time.localtime())

DATE -FTAG

Fonction AML
import time
time.strftime("%y%m%d.%H%M%S", time.localtime())

DATE -DFMT

Fonction AML
import time
time.strftime(s, time.localtime())
# Format string (s) using below
#   %% same as % 
#   %a day of week, using locale's abbreviated weekday names 
#   %A day of week, using locale's full weekday names 
#   %b,%h month, using locale's abbreviated month names 
#   %B month, using locale's full month names #%c date and time as %x %X 
#   %d day of month (01-31) 
#   %H hour (00-23) 
#   %I hour (00-12) 
#   %j day number of year (001-366) 
#   %m month number (01-12) 
#   %M minute (00-59) 
#   %p locale's equivalent of AM or PM, whichever is appropriate 
#   %r time as %I:%M:%S %p 
#   %S seconds (00-59) 
#   %U week number of year (01-52), Sunday is the first day of the week 
#   %w day of week; Sunday is day 0 
#   %W week number of year (01-52), Monday is the first 
#   %x date, using locale's date format 
#   %X time, using locale's time format 
#   %y year within century (00-99) 
#   %Y year, including century (for example, 1994) 
#   %Z time zone abbreviation

DELETE < path >

Fonction AML
import arcpy
arcpy.Delete_management(path)

DIGNUM

Fonction AML

<non applicable>

DIR < file >

Fonction AML
import os
os.path.dirname(file)

ENTRYNAME < file > -EXT

Fonction AML
import os
os.path.basename(file)

ENTRYNAME < file > -NOEXT

Fonction AML
import os
os.path.splitext(file)[0]

ENTRYNAME < file > -EXTONLY

Fonction AML
import os
os.path.splitext(file)[1]

EXISTS < file >

Fonction AML
import arcpy
arcpy.Exists(file)

EXP < x >

Fonction AML
import math
math.exp(x)

EXTRACT < pos > < elements >

Fonction AML
#elements are blank separated
elements.split()[pos - 1]

EXTRACT < pos > < elements >

Fonction AML
#elements are comma separated
elements.split(",")[pos - 1]

FILELIST

Fonction AML

<non applicable>

FORMAT < format > { exp1 exp2 }

Fonction AML
"First %s, second %s" % (exp1, exp2)

FORMATDATE

Fonction AML

<non applicable>

GETCHAR < prompt >

Fonction AML
raw_input(prompt)

GETCHOICE < choices > < prompt > <-SORT>

Fonction AML
from Tkinter import *
def PopupList(title, list):
    root = Tk()
    root.title(title)
    root.protocol("WM_DELETE_WINDOW", root.quit)
    frame = Frame(root)
    vScrollbar = Scrollbar(frame, orient=VERTICAL)
    hScrollbar = Scrollbar(frame, orient=HORIZONTAL)
    listbox = Listbox(frame, selectmode=SINGLE, xscrollcommand=hScrollbar.set, yscrollcommand=vScrollbar.set)
    vScrollbar.config(command=listbox.yview)
    vScrollbar.pack(side=RIGHT, fill=Y)
    hScrollbar.config(command=listbox.xview)
    hScrollbar.pack(side=BOTTOM, fill=Y)
    listbox.pack(side=LEFT, fill=BOTH, expand=1)
    frame.pack()
    for a in list:
        listbox.insert(END, a)
    listbox.bind("<Double-Button-1>", PopupList_callback)
    listbox.selection_set(0)
    root.mainloop()
    index = listbox.curselection()
    entry = listbox.get(index)
    root.destroy()
    return entry
def PopupList_callback(event):
    event.widget.quit()

list = choices.split()
list.sort()
print PopupList(prompt, list)

GETCOVER < workspace > < wildcard > < prompt > <-SORT>

Fonction AML
from Tkinter import *
def PopupList(title, list):
    root = Tk()
    root.title(title)
    root.protocol("WM_DELETE_WINDOW", root.quit)
    frame = Frame(root)
    vScrollbar = Scrollbar(frame, orient=VERTICAL)
    hScrollbar = Scrollbar(frame, orient=HORIZONTAL)
    listbox = Listbox(frame, selectmode=SINGLE, xscrollcommand=hScrollbar.set, yscrollcommand=vScrollbar.set)
    vScrollbar.config(command=listbox.yview)
    vScrollbar.pack(side=RIGHT, fill=Y)
    hScrollbar.config(command=listbox.xview)
    hScrollbar.pack(side=BOTTOM, fill=Y)
    listbox.pack(side=LEFT, fill=BOTH, expand=1)
    frame.pack()
    for a in list:
        listbox.insert(END, a)
    listbox.bind("<Double-Button-1>", PopupList_callback)
    listbox.selection_set(0)
    root.mainloop()
    index = listbox.curselection()
    entry = listbox.get(index)
    root.destroy()
    return entry
def PopupList_callback(event):
    event.widget.quit()

import arcpy

arcpy.env.workspace = workspace

list = arcpy.ListDatasets(wildcard, "cover")
list.sort()
print PopupList(prompt, list)

GETDATABASE

Fonction AML

<non applicable>

GETDATALAYER

Fonction AML

<non applicable>

GETDEFLAYERS

Fonction AML

<non applicable>

GETFILE < wildcard > <-INFO> < prompt > <-SORT>

Fonction AML
# Assumes arcpy.env.workspace is set
#
from Tkinter import *
def PopupList(title, list):
    root = Tk()
    root.title(title)
    root.protocol("WM_DELETE_WINDOW", root.quit)
    frame = Frame(root)
    vScrollbar = Scrollbar(frame, orient=VERTICAL)
    hScrollbar = Scrollbar(frame, orient=HORIZONTAL)
    listbox = Listbox(frame, selectmode=SINGLE, xscrollcommand=hScrollbar.set, yscrollcommand=vScrollbar.set)
    vScrollbar.config(command=listbox.yview)
    vScrollbar.pack(side=RIGHT, fill=Y)
    hScrollbar.config(command=listbox.xview)
    hScrollbar.pack(side=BOTTOM, fill=Y)
    listbox.pack(side=LEFT, fill=BOTH, expand=1)
    frame.pack()
    for a in list:
        listbox.insert(END, a)
    listbox.bind("<Double-Button-1>", PopupList_callback)
    listbox.selection_set(0)
    root.mainloop()
    index = listbox.curselection()
    entry = listbox.get(index)
    root.destroy()
    return entry
def PopupList_callback(event):
    event.widget.quit()

import arcpy

list = arcpy.ListTables(wildcard, "INFO")
list.sort()
print PopupList(prompt, list)

GETFILE < wildcard > <-WORKSPACE> < prompt > <-SORT>

Fonction AML
# Assumes arcpy.env.workspace is set
#
from Tkinter import *
def PopupList(title, list):
    root = Tk()
    root.title(title)
    root.protocol("WM_DELETE_WINDOW", root.quit)
    frame = Frame(root)
    vScrollbar = Scrollbar(frame, orient=VERTICAL)
    hScrollbar = Scrollbar(frame, orient=HORIZONTAL)
    listbox = Listbox(frame, selectmode=SINGLE, xscrollcommand=hScrollbar.set, yscrollcommand=vScrollbar.set)
    vScrollbar.config(command=listbox.yview)
    vScrollbar.pack(side=RIGHT, fill=Y)
    hScrollbar.config(command=listbox.xview)
    hScrollbar.pack(side=BOTTOM, fill=Y)
    listbox.pack(side=LEFT, fill=BOTH, expand=1)
    frame.pack()
    for a in list:
        listbox.insert(END, a)
    listbox.bind("<Double-Button-1>", PopupList_callback)
    listbox.selection_set(0)
    root.mainloop()
    index = listbox.curselection()
    entry = listbox.get(index)
    root.destroy()
    return entry
def PopupList_callback(event):
    event.widget.quit()

import arcpy

list = arcpy.ListWorkspaces(wildcard, "COVERAGES")
list.sort()
print PopupList(prompt, list)

GETFILE <wildcard> <-FILE> < prompt > <-SORT>

Fonction AML
# Assumes arcpy.env.workspace is set
#
from Tkinter import *
def PopupList(title, list):
    root = Tk()
    root.title(title)
    root.protocol("WM_DELETE_WINDOW", root.quit)
    frame = Frame(root)
    vScrollbar = Scrollbar(frame, orient=VERTICAL)
    hScrollbar = Scrollbar(frame, orient=HORIZONTAL)
    listbox = Listbox(frame, selectmode=SINGLE, xscrollcommand=hScrollbar.set, yscrollcommand=vScrollbar.set)
    vScrollbar.config(command=listbox.yview)
    vScrollbar.pack(side=RIGHT, fill=Y)
    hScrollbar.config(command=listbox.xview)
    hScrollbar.pack(side=BOTTOM, fill=Y)
    listbox.pack(side=LEFT, fill=BOTH, expand=1)
    frame.pack()
    for a in list:
        listbox.insert(END, a)
    listbox.bind("<Double-Button-1>", PopupList_callback)
    listbox.selection_set(0)
    root.mainloop()
    index = listbox.curselection()
    entry = listbox.get(index)
    root.destroy()
    return entry
def PopupList_callback(event):
    event.widget.quit()

import arcpy
import dircache
import os

list = arcpy.ListFiles()
list.sort()
print PopupList(prompt, list)

GETFILE <wildcard> <-DIRECTORY> < prompt > <-SORT>

Fonction AML
# Assumes arcpy.env.workspace is set
#
def PopupList(title, list):
    root = Tk()
    root.title(title)
    root.protocol("WM_DELETE_WINDOW", root.quit)
    frame = Frame(root)
    vScrollbar = Scrollbar(frame, orient=VERTICAL)
    hScrollbar = Scrollbar(frame, orient=HORIZONTAL)
    listbox = Listbox(frame, selectmode=SINGLE, xscrollcommand=hScrollbar.set, yscrollcommand=vScrollbar.set)
    vScrollbar.config(command=listbox.yview)
    vScrollbar.pack(side=RIGHT, fill=Y)
    hScrollbar.config(command=listbox.xview)
    hScrollbar.pack(side=BOTTOM, fill=Y)
    listbox.pack(side=LEFT, fill=BOTH, expand=1)
    frame.pack()
    for a in list:
        listbox.insert(END, a)
    listbox.bind("<Double-Button-1>", PopupList_callback)
    listbox.selection_set(0)
    root.mainloop()
    index = listbox.curselection()
    entry = listbox.get(index)
    root.destroy()
    return entry
def PopupList_callback(event):
    event.widget.quit()

import arcpy 
import dircache
import os

list = arcpy.ListFiles()
list.sort()
print PopupList(prompt, list)

GETGRID < workspace > < wildcard > < prompt > <-SORT>

Fonction AML
from Tkinter import *
def PopupList(title, list):
    root = Tk()
    root.title(title)
    root.protocol("WM_DELETE_WINDOW", root.quit)
    frame = Frame(root)
    vScrollbar = Scrollbar(frame, orient=VERTICAL)
    hScrollbar = Scrollbar(frame, orient=HORIZONTAL)
    listbox = Listbox(frame, selectmode=SINGLE, xscrollcommand=hScrollbar.set, yscrollcommand=vScrollbar.set)
    vScrollbar.config(command=listbox.yview)
    vScrollbar.pack(side=RIGHT, fill=Y)
    hScrollbar.config(command=listbox.xview)
    hScrollbar.pack(side=BOTTOM, fill=Y)
    listbox.pack(side=LEFT, fill=BOTH, expand=1)
    frame.pack()
    for a in list:
        listbox.insert(END, a)
    listbox.bind("<Double-Button-1>", PopupList_callback)
    listbox.selection_set(0)
    root.mainloop()
    index = listbox.curselection()
    entry = listbox.get(index)
    root.destroy()
    return entry
def PopupList_callback(event):
    event.widget.quit()

import arcpy

arcpy.env.workspace = workspace

list = arcpy.ListRasters(wildcard, "GRID")
list.sort()
print PopupList(prompt, list)

GETIMAGE < workspace > < wildcard > < type > < prompt > <-SORT>

Fonction AML
# Type mapping:
#  -ALL use "" (blank)
#  -BMP use bmp
#  -TIFF use tiff
#  -IMAGINE use img	

from Tkinter import *
def PopupList(title, list):
    root = Tk()
    root.title(title)
    root.protocol("WM_DELETE_WINDOW", root.quit)
    frame = Frame(root)
    vScrollbar = Scrollbar(frame, orient=VERTICAL)
    hScrollbar = Scrollbar(frame, orient=HORIZONTAL)
    listbox = Listbox(frame, selectmode=SINGLE, xscrollcommand=hScrollbar.set, yscrollcommand=vScrollbar.set)
    vScrollbar.config(command=listbox.yview)
    vScrollbar.pack(side=RIGHT, fill=Y)
    hScrollbar.config(command=listbox.xview)
    hScrollbar.pack(side=BOTTOM, fill=Y)
    listbox.pack(side=LEFT, fill=BOTH, expand=1)
    frame.pack()
    for a in list:
        listbox.insert(END, a)
    listbox.bind("<Double-Button-1>", PopupList_callback)
    listbox.selection_set(0)
    root.mainloop()
    index = listbox.curselection()
    entry = listbox.get(index)
    root.destroy()
    return entry
def PopupList_callback(event):
    event.widget.quit()

import arcpy

arcpy.env.workspace = workspace

list = arcpy.ListRasters(wildcard, type)
list.sort()
print PopupList(prompt, list)

GETITEM < path > < prompt > <-SORT>

Fonction AML
from Tkinter import *
def PopupList(title, list):
	root = Tk()
	root.title(title)
	root.protocol("WM_DELETE_WINDOW", root.quit)
	frame = Frame(root)
	vScrollbar = Scrollbar(frame, orient=VERTICAL)
	hScrollbar = Scrollbar(frame, orient=HORIZONTAL)
	listbox = Listbox(frame, selectmode=SINGLE, xscrollcommand=hScrollbar.set, yscrollcommand=vScrollbar.set)
	vScrollbar.config(command=listbox.yview)
	vScrollbar.pack(side=RIGHT, fill=Y)
	hScrollbar.config(command=listbox.xview)
	hScrollbar.pack(side=BOTTOM, fill=Y)
	listbox.pack(side=LEFT, fill=BOTH, expand=1)
	frame.pack()
	for a in list:
		listbox.insert(END, a)
		listbox.bind("<Double-Button-1>", PopupList_callback)
		listbox.selection_set(0)
	root.mainloop()
	index = listbox.curselection()
	entry = listbox.get(index)
	root.destroy()
	return entry
def PopupList_callback(event):
        event.widget.quit()

import arcpy

list = []
pFields = arcpy.ListFields(path)
for field in pFields:
        list.append(pField.name)
list.sort()
print PopupList(prompt, list)

GETLAYERCOLS

Fonction AML

<non applicable>

GETLIBRARY

Fonction AML

<non applicable>

GETSTACK

Fonction AML

<non applicable>

GETSYMBOL

Fonction AML

<non applicable>

GETTIN < workspace > < wildcard > < prompt > <-SORT>

Fonction AML
from Tkinter import *
def PopupList(title, list):
    root = Tk()
    root.title(title)
    root.protocol("WM_DELETE_WINDOW", root.quit)
    frame = Frame(root)
    vScrollbar = Scrollbar(frame, orient=VERTICAL)
    hScrollbar = Scrollbar(frame, orient=HORIZONTAL)
    listbox = Listbox(frame, selectmode=SINGLE, xscrollcommand=hScrollbar.set, yscrollcommand=vScrollbar.set)
    vScrollbar.config(command=listbox.yview)
    vScrollbar.pack(side=RIGHT, fill=Y)
    hScrollbar.config(command=listbox.xview)
    hScrollbar.pack(side=BOTTOM, fill=Y)
    listbox.pack(side=LEFT, fill=BOTH, expand=1)
    frame.pack()
    for a in list:
        listbox.insert(END, a)
    listbox.bind("<Double-Button-1>", PopupList_callback)
    listbox.selection_set(0)
    root.mainloop()
    index = listbox.curselection()
    entry = listbox.get(index)
    root.destroy()
    return entry
def PopupList_callback(event):
    event.widget.quit()

import arcpy

arcpy.env.workspace = workspace

list = arcpy.ListDatasets(wildcard, "tin")
list.sort()
print PopupList(prompt, list)

GETUNIQUE < path > < item > < prompt >

Fonction AML
from Tkinter import *
def PopupList(title, list):
    root = Tk()
    root.title(title)
    root.protocol("WM_DELETE_WINDOW", root.quit)
    frame = Frame(root)
    vScrollbar = Scrollbar(frame, orient=VERTICAL)
    hScrollbar = Scrollbar(frame, orient=HORIZONTAL)
    listbox = Listbox(frame, selectmode=SINGLE, xscrollcommand=hScrollbar.set, yscrollcommand=vScrollbar.set)
    vScrollbar.config(command=listbox.yview)
    vScrollbar.pack(side=RIGHT, fill=Y)
    hScrollbar.config(command=listbox.xview)
    hScrollbar.pack(side=BOTTOM, fill=Y)
    listbox.pack(side=LEFT, fill=BOTH, expand=1)
    frame.pack()
    for a in list:
        listbox.insert(END, a)
    listbox.bind("<Double-Button-1>", PopupList_callback)
    listbox.selection_set(0)
    root.mainloop()
    index = listbox.curselection()
    entry = listbox.get(index)
    root.destroy()
    return entry
def PopupList_callback(event):
    event.widget.quit()

import arcpy

list = []
rows = arcpy.da.SearchCursor(path, [item])
for row in rows:
    list.append(row[0])

list.sort()
count = len(list)
pos = 1
prev = list[0]
while pos < count:
    if prev == list[pos]:
        del(list[pos])
        count = count - 1
    else:
        prev = list[pos]
        pos = pos + 1
print PopupList(prompt, list)

IACCLOSE

Fonction AML

<non applicable>

IACCONNECT

Fonction AML

<non applicable>

IACDISCONNECT

Fonction AML

<non applicable>

IACOPEN

Fonction AML

<non applicable>

IACREQUEST

Fonction AML

<non applicable>

INDEX < s > < search >

Fonction AML
s.find(search) + 1

INVANGLE < x1 y1 x2 y2 >

Fonction AML
import math
dx = x2 - x1
dy = y2 - y1
if dx == 0.0 and dy == 0.0:
    angle = 0
else:
    angle = math.atan2(math.fabs(dy), math.fabs(dx))
    if dx < 0.0:
        angle = 180.0 - angle
    if dy < 0.0:
        angle = 360.0 - angle

INVDISTANCE < x1 y1 x2 y2 >

Fonction AML
import math
dist = math.sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1))

ITEMINFO < specifier > < item >

Fonction AML
import arcpy

fields = arcpy.ListFields(specifier)
for field in fields:
    if field.name.lower() ==  item.lower():
        print field.name
        print field.length
        break

JOINFILE < obj1 > < obj2 > -file -sub

Fonction AML
import os
os.path.join(obj1, obj2)

JOINFILE < obj1 > < obj2 >-ext

Fonction AML
if obj2[0] == ".":
    obj1+ obj2
else:
    obj1 + "." + obj2

KEYWORD < search_string > < keywords >

Fonction AML
import re

def keyword(search_string, keywords):
    found = 0
    search_string = search_string.upper()
    for cnt, s in enumerate([kw.upper() for kw in keywords], start=1):
        if search_string == s:
            return cnt
        else:
            f = re.findall("\A{0}".format(search_string), s)
            if len(f) == 1:
                if found:
                    return -1
                else:
                    found = cnt
    return found

print keyword('LINE', ['LINE', 'POINT', 'POLYGON'])
print keyword('point', ['LINE', 'POINT', 'POLYGON'])
print keyword('L', ['LINE', 'POINT', 'POLYGON'])
print keyword('K', ['LINE', 'POINT', 'POLYGON'])
print keyword('PO', ['LINE', 'POINT', 'POLYGON'])
print keyword('ABC', ['abcd', 'abc', 'abcd', 'efh', 'abc'])
print keyword('"A A"', ['a', '"a b"', '"a c"', '"a a"', '"a e"'])
print keyword('1', ['a12234a', '224556'])
print keyword('1', ['23456', '213456'])
print keyword('1', ['23456', '1', '213456'])
print keyword('1', ['23456', '2', '1456'])

LENGTH < string >

Fonction AML
len(string)

LISTFILE

Fonction AML

<non applicable>

LISTITEM < specifier >

Fonction AML
import arcpy
fieldNames = []
fields = arcpy.ListFields(specifier)
for field in fields:
    fieldNames.append(field.name)

LISTUNIQUE < specifier > < item >

Fonction AML
import arcpy

list = []
rows = arcpy.da.SearchCursor(specifier, [item])
for row in rows:
    list.append(row[0])

list.sort()
count = len(list)
pos = 1
prev = list[0]
while pos < count:
    if prev == list[pos]:
        del(list[pos])
        count = count - 1
    else:
        prev = list[pos]
        pos = pos + 1

LOCASE < s >

Fonction AML
s.lower()

LOG < x >

Fonction AML
import math
math.log(x)

LOG10 < x >

Fonction AML
import math
math.log10(x)

MAX < x > < y >

Fonction AML
max(x, y)

MENU

Fonction AML

<non applicable>

MIN < x > < y >

Fonction AML
min(x, y)

MOD < x > < y >

Fonction AML
x % y

NULL < string >

Fonction AML
if string == None or string.strip() == "":
    ".TRUE."
else:
    ".FALSE."

OKANGLE

Fonction AML

<non applicable>

OKDISTANCE

Fonction AML

<non applicable>

OPEN < file > -READ

Fonction AML
f = open(file, "r")

OPEN < file > -WRITE

Fonction AML
f = open(file, "w")

OPEN < file > -APPEND

Fonction AML
f = open(file, "a")

PATHNAME < file >

Fonction AML
# Assumes arcpy.env.workspace is set
#
import arcpy
import os

os.path.join(arcpy.env.workspace, file)

QUERY

Fonction AML

<non applicable>

QUOTE

Fonction AML

<non applicable>

QUOTEEXISTS

Fonction AML

<non applicable>

RADANG

Fonction AML

<non applicable>

RANDOM

Fonction AML
import random
random.randint(1, 2**31 - 1)

RANDOM < seed >

Fonction AML
import random
random.seed(seed)
random.randint(1, 2**31 - 1)

RANDOM < begin > < end >

Fonction AML
import random
random.randint(begin, end)

RANDOM < seed > < begin > < end >

Fonction AML
import random
random.seed(seed)
random.randint(begin, end)

READ <f ile_unit >

Fonction AML
file_unit.readline()

RENAME < input > < output >

Fonction AML
import arcpy

arcpy.Rename_management(input, output)

RESPONSE < prompt > -NOECHO

Fonction AML
import getpass
getpass.getpass(prompt)

RESPONSE < prompt >

Fonction AML
import getpass
getpass.default_getpass(prompt)

ROUND < n >

Fonction AML
long(round(n))

SCRATCHNAME

Fonction AML
import arcpy

# Assumes arcpy.env.workspace is already set
arcpy.CreateScratchName()

SEARCH < s > < search_s >

Fonction AML
s.find(search_s) + 1

SHOW

Fonction AML

<non applicable>

SIN < x >

Fonction AML
import math
math.sin(x)

SORT < elements > -ASCEND

Fonction AML
# Elements are blank separated
#
list = elements.split()
list.sort()

SORT < elements > -DESCEND

Fonction AML
# Elements are blank separated
#
list = elements.split()
list.sort(None, None, True)

SORT < elements > -ASCEND

Fonction AML
# Elements are comma separated
#
list = elements.split(",")
list.sort()

SORT < elements > -DESCEND

Fonction AML
# Elements are comma separated
#
list = elements.split(",")
list.sort(None, None, True)

SQRT < x >

Fonction AML
import math
math.sqrt(x)

SUBST < s > < search_s > < replace_s >

Fonction AML
s.replace(search_s, replace_s)

SUBST < s > < search_s >

Fonction AML
s.replace(search_s, "")

SUBSTR < s > < pos >

Fonction AML
s[pos - 1:]

SUBSTR < s > < pos > < num_chars >

Fonction AML
s[pos - 1:pos + num_chars - 1]

TAN < x >

Fonction AML
import math
math.tan(x)

TASK

Fonction AML

<non applicable>

TOKEN < elements > -COUNT

Fonction AML
# Elements are blank separated
#
len(elements.split())

TOKEN < elements > -FIND < e >

Fonction AML
# Elements are blank separated
#
elements.split().index(e) + 1

TOKEN < elements > -MOVE < from > < to >

Fonction AML
# Elements are blank separated
#
list = elements.split()
list.insert(To-1, list[From-1])
del(list[To])

TOKEN < elements > -INSERT < pos > < s >

Fonction AML
# Elements are blank separated
#
list = elements.split()
list.insert(pos-1,s)

TOKEN < elements > -DELETE < pos >

Fonction AML
# Elements are blank separated
#
list = elements.split()
del(list[pos-1])

TOKEN < elements > -REPLACE < pos > < s >

Fonction AML
# Elements are blank separated
#
list = elements.split()
list[pos-1] = s

TOKEN < elements > -MOVE <from> <to>

Fonction AML
# Elements are blank separated
#
list = elements.split()
fvalue = list[From-1]
tvalue = list[To-1]
list[From-1] = tvalue
list[To-1] = fvalue

TOKEN < elements > -COUNT

Fonction AML
# Elements are comma separated
#
len(elements.split(""))

TOKEN < elements > -FIND < e >

Fonction AML
# Elements are comma separated
#
elements.split().index(e) + 1

TOKEN < elements > -MOVE <from> <to>

Fonction AML
# Elements are comma separated
#
list = elements.split("")
list.insert(To-1, list[From-1])
del(list[To])

TOKEN <elements> -INSERT <pos> <s>

Fonction AML
# Elements are comma separated
#
list = elements.split("")
list.insert(pos-1,s)

TOKEN < elements > -DELETE < pos >

Fonction AML
# Elements are comma separated
#
list = elements.split("")
del(list[pos-1])

TOKEN < elements > -REPLACE <pos> <s>

Fonction AML
# Elements are comma separated
#
list = elements.split("")
list[pos-1] = s

TOKEN < elements > -MOVE < from > < to >

Fonction AML
# Elements are comma separated
#
list = elements.split("")
fvalue = list[From-1]
tvalue = list[To-1]
list[From-1] = tvalue
list[To-1] = fvalue

TRANSLATE < string >

Fonction AML
string.upper()

TRANSLATE < string > < new old >

Fonction AML
for i in old:
    if string.find(i) > -1:
        string = string.replace(i,new[old.find(i)])

TRIM <s> -BOTH < trim_char >

Fonction AML
s.strip(trim_char)

TRIM <s> -LEFT < trim_char >

Fonction AML
s.lstrip(trim_char)

TRIM <s> -RIGHT < trim_char >

Fonction AML
s.rstrip(trim_char)

TRIM < s > -BOTH

Fonction AML
s.strip()

TRIM < s > -LEFT

Fonction AML
s.lstrip()

TRIM < s > -RIGHT

Fonction AML
s.rstrip()

TRUNCATE < x >

Fonction AML
long(x)

TYPE < object >

Fonction AML
type(object)

UNQUOTE

Fonction AML

<non applicable>

UPCASE < s >

Fonction AML
s.upper()

USERNAME

Fonction AML
import getpass
getpass.getuser()

VALUE

Fonction AML

<non applicable>

VARIABLE

Fonction AML

<non applicable>

VERIFY < search_string > < string >

Fonction AML
count = 0
for i in range(len(search_string)):
    if string.find(search_string[i]) == -1:
        count = i + 1
        break

WRITE < file_unit > < string >

Fonction AML
file_unit.write(string)

Thèmes connexes

5/10/2014