ParseTableName (arcpy)
Резюме
Анализирует имя таблицы по его компонентам (база данных, имя владельца, таблица) в зависимости от рабочей области. ParseFieldName возвращает строку, содержащую анализ имени таблицы, содержащего имя базы данных, имя владельца и имена таблицы, разделенные запятыми. Это рабочая область должна быть персональной, файловой или ArcSDE базой геоданных.
Синтаксис
ParseTableName (name, {workspace})
Параметр | Объяснение | Тип данных |
name |
Определяет, имя какой таблицы будет разложено на компоненты. | String |
workspace |
Определяет рабочую область для полного описания имени таблицы. Рабочая область может быть персональной, файловой или базой геоданных ArcSDE. | String |
Тип данных | Объяснение |
String |
Возвращает имя таблицы, разложенное на компоненты (имя владельца, имя базы данных, имя таблицы), которые перечислены через запятую. |
Пример кода
Пример ParseTableName
Разложить имя таблицы на компоненты.
import arcpy
from arcpy import env
import os
# Get the full name of the feature class and
# set the workspace for parsing the name.
#
fc = arcpy.GetParameterAsText(0)
env.workspace = os.path.dirname(fc)
# Parse the feature class name into its components
#
fullName = arcpy.ParseTableName(os.path.basename(fc))
nameList = fullName.split(",")
databaseName = nameList[0]
ownerName = nameList[1]
fcName = nameList[2]
# Qualify the name of the feature class that will be appended to and set
# the workspace using the administrator's connection.
#
env.workspace = "Database Connections/Trans_admin.sde"
appendFCName = arcpy.ValidateTableName("common", "roads")
try:
if ownerName == "grace":
arcpy.CalculateField(fullName, "AppendedBy", ownerName)
arcpy.Append_management(fullName, appendFCName)
elif ownerName == "reed":
arcpy.CalculateField(fullName, "AppendedBy", ownerName)
arcpy.Append_management(fullName, appendFCName)
else:
arcpy.AddError("Unknown owner of feature class. Not appended.")
except:
arcpy.AddError(arcpy.GetMessages(2))
Связанные темы
9/10/2013