AML 関数に対応する Python の構文

ArcGIS のジオプロセシングは、既存の情報から新しい情報を作成するツールの実行からなります。この実行結果は、通常、ワークフロー(一般に、データ管理、空間解析、データ変換の各タスクまたはこれら 3 つすべてのタスクの組み合わせに関係する)を自動化するために後続のツールの入力として使用されます。長年の間、ジオプロセシングでは、多様な GIS 演算のコレクション、つまりコマンドのコレクションと、それらを使用するための柔軟なフレームワークである AML(ARC Macro Language)を提供する最初の製品の 1 つとして ArcInfo Workstation を使用してきました。

ArcGIS 9 では、新しい GIS 演算子のセットとそれらを使用するための新規フレームワークが導入されました。これらの演算子は、[ユニオン(Union)] や [クリップ(Clip)] など、可能な限り名前が同じに維持されているため、その多くが ArcInfo Workstation ユーザにとってなじみのあるものになっています。また、ArcGIS 9.0 では、Python などのスクリプト言語もサポートされるようになり、したがって、AML でよく使用されるより複雑なワークフローも記述できるようになりました。しかも、非独占的な言語の使用によって AML よりも豊富な機能が提供されています。

ArcInfo Workstation と ArcGIS 9 間でコマンドとツール名の関係を維持しようという取り組みはスクリプト モデルにも適用され、多くの手順では、特性がほとんど同じまま維持されています。可能な場合は、ワークスペースでのデータのリスト表示やデータセットのプロパティの記述など、AML の使いやすさが ArcGIS でも維持されています。目的とするところは、どの AML ユーザも、ArcGIS でジオプロセシング スクリプトを簡単に記述できるようになることです。

このような移行をサポートするために、以下の対応する構文では、Python を使用した場合の AML 関数の実行方法について概説します。必ずしもすべての AML 関数およびディレクティブが新規のモデルに適用されるわけではありません。直接、ArcInfo Workstation の環境に関連付けられているものもあれば(SHOW 関数など)、ArcGIS ジオプロセシング コンポーネントではなく Python 自体でより適切にサポートされているものもあります(LISTFILE など)。多くの例で、一般的な Python モジュールが ArcGIS Python 機能と併せて使用されています。

AML ディレクティブに対応する Python の構文の詳細

AML 関数に対応する構文

ABS < x >

AML 関数
abs(x)

ACCESS < path >

AML 関数
import arcpy
arcpy.TestSchemaLock(path)

ACOS < x >

AML 関数
import math
math.acos(x)

AFTER < s > < search_s >

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

ANGRAD

AML 関数

<該当なし>

ASIN < x >

AML 関数
import math
math.asin(x)

ATAN < x >

AML 関数
import math
math.atan(x)

ATAN2 < y > < x >

AML 関数
import math
math.atan2(y, x)

BEFORE < s > < search_s >

AML 関数
s[:s.find(search_s)]

CALC < expression >

AML 関数
import arcpy
arcpy.CalculateValue_management(expression)

CLOSE < file_unit >

AML 関数
file_unit.close()

COLUMNINFO

AML 関数

<該当なし>

COPY < input > < output >

AML 関数
import arcpy
arcpy.Copy_management(input, output)

COS < x >

AML 関数
import math
math.cos(x)

CVTDISTANCE

AML 関数

<該当なし>

DATE -DEFAULT

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

DATE -FULL

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

DATE -USA

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

DATE -UFULL

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

DATE -VFULL

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

DATE -DAY

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

DATE -MONTH

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

DATE -YEAR

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

DATE -VIS

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

DATE -TIME

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

DATE -AMPM

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

DATE -DOW

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

DATE -CAL

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

DATE -TAG

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

DATE -FTAG

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

DATE -DFMT

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 >

AML 関数
import arcpy
arcpy.Delete_management(path)

DIGNUM

AML 関数

<該当なし>

DIR < file >

AML 関数
import os
os.path.dirname(file)

ENTRYNAME < file > -EXT

AML 関数
import os
os.path.basename(file)

ENTRYNAME < file > -NOEXT

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

ENTRYNAME < file > -EXTONLY

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

EXISTS < file >

AML 関数
import arcpy
arcpy.Exists(file)

EXP < x >

AML 関数
import math
math.exp(x)

EXTRACT < pos > < elements >

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

EXTRACT < pos > < elements >

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

FILELIST

AML 関数

<該当なし>

FORMAT < format > { exp1 exp2 }

AML 関数
"First %s, second %s" % (exp1, exp2)

FORMATDATE

AML 関数

<該当なし>

GETCHAR < prompt >

AML 関数
raw_input(prompt)

GETCHOICE < choices > < prompt > <-SORT>

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>

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

AML 関数

<該当なし>

GETDATALAYER

AML 関数

<該当なし>

GETDEFLAYERS

AML 関数

<該当なし>

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

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>

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>

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>

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>

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>

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>

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

AML 関数

<該当なし>

GETLIBRARY

AML 関数

<該当なし>

GETSTACK

AML 関数

<該当なし>

GETSYMBOL

AML 関数

<該当なし>

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

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 >

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

AML 関数

<該当なし>

IACCONNECT

AML 関数

<該当なし>

IACDISCONNECT

AML 関数

<該当なし>

IACOPEN

AML 関数

<該当なし>

IACREQUEST

AML 関数

<該当なし>

INDEX < s > < search >

AML 関数
s.find(search) + 1

INVANGLE < x1 y1 x2 y2 >

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 >

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

ITEMINFO < specifier > < item >

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

AML 関数
import os
os.path.join(obj1, obj2)

JOINFILE < obj1 > < obj2 >-ext

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

KEYWORD < search_string > < keywords >

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 >

AML 関数
len(string)

LISTFILE

AML 関数

<該当なし>

LISTITEM < specifier >

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

LISTUNIQUE < specifier > < item >

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 >

AML 関数
s.lower()

LOG < x >

AML 関数
import math
math.log(x)

LOG10 < x >

AML 関数
import math
math.log10(x)

MAX < x > < y >

AML 関数
max(x, y)

MENU

AML 関数

<該当なし>

MIN < x > < y >

AML 関数
min(x, y)

MOD < x > < y >

AML 関数
x % y

NULL < string >

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

OKANGLE

AML 関数

<該当なし>

OKDISTANCE

AML 関数

<該当なし>

OPEN < file > -READ

AML 関数
f = open(file, "r")

OPEN < file > -WRITE

AML 関数
f = open(file, "w")

OPEN < file > -APPEND

AML 関数
f = open(file, "a")

PATHNAME < file >

AML 関数
# Assumes arcpy.env.workspace is set
#
import arcpy
import os

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

QUERY

AML 関数

<該当なし>

QUOTE

AML 関数

<該当なし>

QUOTEEXISTS

AML 関数

<該当なし>

RADANG

AML 関数

<該当なし>

RANDOM

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

RANDOM < seed >

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

RANDOM < begin > < end >

AML 関数
import random
random.randint(begin, end)

RANDOM < seed > < begin > < end >

AML 関数
import random
random.seed(seed)
random.randint(begin, end)

READ <f ile_unit >

AML 関数
file_unit.readline()

RENAME < input > < output >

AML 関数
import arcpy

arcpy.Rename_management(input, output)

RESPONSE < prompt > -NOECHO

AML 関数
import getpass
getpass.getpass(prompt)

RESPONSE < prompt >

AML 関数
import getpass
getpass.default_getpass(prompt)

ROUND < n >

AML 関数
long(round(n))

SCRATCHNAME

AML 関数
import arcpy

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

SEARCH < s > < search_s >

AML 関数
s.find(search_s) + 1

SHOW

AML 関数

<該当なし>

SIN < x >

AML 関数
import math
math.sin(x)

SORT < elements > -ASCEND

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

SORT < elements > -DESCEND

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

SORT < elements > -ASCEND

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

SORT < elements > -DESCEND

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

SQRT < x >

AML 関数
import math
math.sqrt(x)

SUBST < s > < search_s > < replace_s >

AML 関数
s.replace(search_s, replace_s)

SUBST < s > < search_s >

AML 関数
s.replace(search_s, "")

SUBSTR < s > < pos >

AML 関数
s[pos - 1:]

SUBSTR < s > < pos > < num_chars >

AML 関数
s[pos - 1:pos + num_chars - 1]

TAN < x >

AML 関数
import math
math.tan(x)

TASK

AML 関数

<該当なし>

TOKEN < elements > -COUNT

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

TOKEN < elements > -FIND < e >

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

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

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

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

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

TOKEN < elements > -DELETE < pos >

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

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

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

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

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

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

TOKEN < elements > -FIND < e >

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

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

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

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

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

TOKEN < elements > -DELETE < pos >

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

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

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

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

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 >

AML 関数
string.upper()

TRANSLATE < string > < new old >

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

TRIM <s> -BOTH < trim_char >

AML 関数
s.strip(trim_char)

TRIM <s> -LEFT < trim_char >

AML 関数
s.lstrip(trim_char)

TRIM <s> -RIGHT < trim_char >

AML 関数
s.rstrip(trim_char)

TRIM < s > -BOTH

AML 関数
s.strip()

TRIM < s > -LEFT

AML 関数
s.lstrip()

TRIM < s > -RIGHT

AML 関数
s.rstrip()

TRUNCATE < x >

AML 関数
long(x)

TYPE < object >

AML 関数
type(object)

UNQUOTE

AML 関数

<該当なし>

UPCASE < s >

AML 関数
s.upper()

USERNAME

AML 関数
import getpass
getpass.getuser()

VALUE

AML 関数

<該当なし>

VARIABLE

AML 関数

<該当なし>

VERIFY < search_string > < string >

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 >

AML 関数
file_unit.write(string)

関連トピック

5/10/2014