предисловие
На самом деле, я не знаю, что сказать в предисловии, я раньше говорил треш-ток, а теперь не могу говорить треш-ток, но это существенное содержание!
1. Вызвать панель инструментов системы
Я использую инструмент обрезки в качестве примера, другие инструменты аналогичны.
Так как же нам узнать, как называется функция в arcpy инструмента, который я хочу использовать? На самом деле это очень просто.Нажимаем правой кнопкой мыши нужный нам инструмент в arcgis и нажимаем Help:
Когда мы скользим вниз, мы можем увидеть имя функции и конкретное использование, а также примеры для подражания:
пример кода, который я написал, выглядит следующим образом:
import arcpy
# 设置工作空间
arcpy.env.workspace = r'E:\arcpy_study\我得学城\图层裁剪数据'
# 被裁剪的要素
source_feature = 'JFB.shp'
# 用来裁剪的要素
enter_feature = '裁剪面.shp'
# 输出要素
output_feature = '输出测试.shp'
# 裁剪要素(被裁剪的要素, 用来裁剪的要素, 裁剪完成输出的要素)
arcpy.Clip_analysis(source_feature, enter_feature, output_feature)
print '要素裁剪完成'
Не только системные инструменты, через arcpy можно вызывать и наши пользовательские инструменты, как показано на рисунке, это помощь моих пользовательских инструментов:
Во-вторых, проверьте, существует ли файл
Используйте arcpy.Exists(要素文件名)
функцию, чтобы определить, существует ли файл в текущей рабочей области. Прежде чем использовать эту функцию, нам нужно сначала установить рабочую область. Пример кода выглядит следующим образом:
import arcpy
import os
# 检测当前工作空间是否存在该文件
def exits():
if arcpy.Exists('JFB.shp'):
print 'JFB.shp', 'YES'
if arcpy.Exists('裁剪面.shp'):
print '裁剪面.shp', 'YES'
if arcpy.Exists('输出测试.shp'):
print '输出测试.shp', 'YES'
if __name__ == '__main__':
# 设置工作空间
arcpy.env.workspace = r'E:\arcpy_study\我得学城\图层裁剪数据'
exits()
3. Получите атрибут файла функций (тип имени)
Используйте arcpy.Describe(要素文件)
функцию для получения или атрибута файла объекта, включая имя объекта, тип объекта и т. д. Методы, которыми обладает функция, следующие:
Пример кода выглядит следующим образом:
# 要素文件的描述信息
def describe():
desc = arcpy.Describe('JFB.shp')
# 名称
print desc.name
# 要素类型
print desc.featureType
# shape类型
print desc.shapeType
if __name__ == '__main__':
# 设置工作空间
arcpy.env.workspace = r'E:\arcpy_study\我得学城\图层裁剪数据'
describe()
В-четвертых, перечислите использование функций данных
Всего перечислено девять функций данных, как показано на рисунке ниже:
Конкретное использование можно понять, проверив официальную документацию.Я не буду объяснять их здесь.Пример кода выглядит следующим образом:
# 列出数据
def list():
# 列出工作空间中的所有数据集
print arcpy.ListDatasets()
# 列出所有要素类
print arcpy.ListFeatureClasses()
# 列出所有字段
featureName = 'JFB.shp'
fields = arcpy.ListFields(featureName)
for field in fields:
print field.name,
# 列出所有文件
print arcpy.ListFiles()
# 其他列出数据函数请自行查看帮助文档
if __name__ == '__main__':
# 设置工作空间
arcpy.env.workspace = r'E:\arcpy_study\我得学城\图层裁剪数据'
list()