Argis вызывает собственный набор инструментов системы через arcpy Python, определяет, существует ли файл, получает атрибуты (тип имени) файла функций и перечисляет использование функций данных.

предисловие

На самом деле, я не знаю, что сказать в предисловии, я раньше говорил треш-ток, а теперь не могу говорить треш-ток, но это существенное содержание!

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()

Guess you like

Origin blog.csdn.net/qq_47188967/article/details/131512114