ArcGIS for Desktop

  • Документация
  • Стоимость
  • Поддержка

  • My Profile
  • Справка
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS for Desktop

Полноценная профессиональная ГИС

ArcGIS for Server

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Стоимость
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

Справка

  • Главная
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительно...

Walk

  • Краткая информация
  • Обсуждение
  • Синтаксис
  • Пример кода

Краткая информация

Создает имена данных в структуре каталог/база данных (directory/database) проходом по дереву сверху вниз или снизу вверх. Каждая (структура) каталог/рабочая область (directory/workspace) дает кортеж из трех составляющих: путь к каталогу, имена каталогов и имена файлов.

Обсуждение

Примечание:

Функция Walk стала доступной в пакете обновлений ArcGIS 10.1 Service Pack 1.

Модуль Python os включает функцию os.walk, которая может быть использована для прохода дерева каталогов и поиска данных. Функция os.walk является файловой и не распознает содержание базы данных, такое как классы объектов, таблицы или растры базы геоданных. Функция arcpy.da.Walk может быть использована для каталогизации данных.

Синтаксис

Walk (top, {topdown}, {onerror}, {followlinks}, {datatype}, {type})
ПараметрОбъяснениеТип данных
top

Рабочая область верхнего уровня, которая будет использована.

String
topdown

Если параметр topdown установлен как True или не установлен, то кортеж для каталога генерируется до кортежа для любой из его рабочих областей (рабочие области создаются сверху вниз). Если параметр topdown установлен как False, то кортеж для рабочей области создается после создания кортежей для всех её вложенных рабочих областей (рабочие области создаются снизу вверх).

Когда topdown установлен как True, список dirnames может быть изменён по месту и Walk() будет выполнять рекурсивный обход только тех вложенных рабочих областей, имена которых остаются в dirnames. Это может быть полезно для ограничения поиска, установки определенного порядка посещения или даже для информирования Walk() о тех каталогах, которые вызывающая сторона создает или переименовывает перед возобновлением работы Walk(). Изменение dirnames в том случае, если topdown установлен как False неэффективно, поскольку, при режиме снизу вверх, рабочие области в dirnames создаются до того, как генерируется сам dirpath.

(Значение по умолчанию — True)

Boolean
onerror

По умолчанию, ошибки игнорируются. Функция onerror будет вызвана с экземпляром OSError.

Эта функция может быть использована для отчета об ошибке и продолжения прохода или остановки процесса при получении исключения.

Примечание:

Имя файла доступно в качестве атрибута filename объекта исключения.

(Значение по умолчанию — None)

Function
followlinks

По умолчанию Walk() не проходит файлы подключения. Установите followlinks в значение True для прохода файлов подключения.

(Значение по умолчанию — False)

Boolean
datatype

Тип данных для ограничения возвращаемых результатов. Допустимыми типами данных являются следующие:

  • Any —Возвращаются все типы данных. Эквивалентно использованию None или пропуску аргумента.
  • CadDrawing
  • CadastralFabric
  • Container
  • FeatureClass
  • FeatureDataset
  • Geo
  • GeometricNetwork
  • LasDataset
  • Layer
  • Locator
  • Map
  • MosaicDataset
  • NetworkDataset
  • PlanarGraph
  • RasterCatalog
  • RasterDataset
  • RelationshipClass
  • RepresentationClass
  • Style
  • Table
  • Terrain
  • Text
  • Tin
  • Tool
  • Toolbox
  • Topology

Поддерживается множество типов данных, если они вводятся списком или кортежем.

for dirpath, dirnames, filenames in arcpy.da.Walk(workspace,
    datatype=['MosaicDataset', 'RasterDataset']):

(Значение по умолчанию — None)

String
type

Типы растровых данных и типы данных объектов могут быть далее ограничены типом.

  • All —Возвращаются все типы. Эквивалентно использованию None или пропуску аргумента.
  • Any —Возвращаются все типы. Эквивалентно использованию None или пропуску аргумента.

Допустимыми типами объектов являются следующие:

  • Multipatch — Возвращаются только классы объектов мультипатч.
  • Multipoint —Возвращаются только классы мультиточечных объектов.
  • Point —Возвращаются только классы точечных объектов.
  • Polygon —Возвращаются только классы полигональных объектов.
  • Polyline —Возвращаются только классы полилинейных объектов.

Следующие типы растров являются корректными:

  • BIL — Файл Esri Band Interleaved by Line
  • BIP — Файл Esri Band Interleaved by Pixel
  • BMP — Формат битовой графики для наборов растровых данных
  • BSQ — Файл Esri Band Sequential
  • DAT — Файл ENVI DAT
  • GIF — Графический обменный формат (Graphic Interchange Format) для наборов растровых данных
  • GRID — Формат наборов растровых данных Esri Grid
  • IMG — Формат растровых данных ERDAS IMAGINE
  • JP2 — Формат наборов растровых данных JPEG 2000
  • JPG — Формат наборов растровых данных Joint Photographic Experts Group
  • PNG — Формат наборов растровых данных Portable Network Graphic
  • TIF — Теговый формат файла изображения для набора растровых данных (Tag Image File Format)

Поддерживается множество типов данных, если они вводятся списком или кортежем.

for dirpath, dirnames, filenames in arcpy.da.Walk(workspace,
    datatype='FeatureClass', type=['Polygon', 'Polyline']):

(Значение по умолчанию — None)

String

Возвращено значение

Тип данныхОбъяснение
Generator

Выдает кортеж из трех элементов, который включает рабочую область, имена каталогов и имена файлов (dirpath, dirnames, and filenames).

  • dirpath – путь к рабочей области в виде текстовой строки.
  • dirnames – список имен подкаталогов и других рабочих областей в dirpath.
  • filenames – список имен ресурсов, не являющихся рабочими областями, в dirpath.
Примечание:

Имена в этих списках включают только базовое имя; никакие компоненты пути не включаются. Чтобы получить полный путь (начинающийся с вершины) к файлу или директории в dirpath, выполните os.path.join(dirpath, name).

Пример кода

Walk. Пример 1

Используйте функцию Walk для создания каталога полигональных классов объектов.

import arcpy
import os

workspace = "c:/data"
feature_classes = []

walk = arcpy.da.Walk(workspace, datatype="FeatureClass", type="Polygon")

for dirpath, dirnames, filenames in walk:
    for filename in filenames:
        feature_classes.append(os.path.join(dirpath, filename))
Walk пример 2

Используйте функцию Walk для создания каталога растровых данных. Любые растры в папке с именем back_up будут проигнорированы.

import arcpy
import os

workspace = "c:/data"
rasters = []

walk = arcpy.da.Walk(workspace, topdown=True, datatype="RasterDataset")

for dirpath, dirnames, filenames in walk:
    # Disregard any folder named 'back_up' in creating list of rasters
    if "back_up" in dirnames:
        dirnames.remove('back_up')
    for filename in filenames:
        rasters.append(os.path.join(dirpath, filename))

Связанные темы

  • Создание списков данных
Отзыв по этому разделу?

ArcGIS for Desktop

  • На главную
  • Документация
  • Стоимость
  • Поддержка

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог сотрудников
  • Конференция пользователей
  • Саммит разработчиков
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Конфиденциальность | Правовая информация