Пути используются для поиска данных и наборов инструментов. В этом разделе представлено детальное описание путей, приведено определение видов путей и показан порядок работы с ними в ArcGIS.
пути
Путь
Путь – это разделенное символами обратной косой черты имя директории или файла. Директория – это тоже самое, что и папка в проводнике Windows.
Пример | Описание |
---|---|
E:\Data\MyStuff | Путь, оканчивающийся на имени каталога. |
E:\Data\MyStuff\roads.shp | Путь, оканчивающийся на имени файла. |
Системный путь и путь каталога
ArcGIS оперирует термином "путь каталога" или "путь ArcCatalog". Путь каталога – это путь, распознаваемый только ArcGIS. К примеру, рассмотрим такой путь:
D:\Data\Final\Infrastructure.gdb\EastValley\powerlines
Класс объектов с именем powerlines находится в наборе классов EastValley в файловой базе геоданных Infrastructure. Этот путь не является корректным системным путем с точки зрения операционной системы, поскольку Windows не распознает наборы и классы пространственных данных, расположенные внутри файловой базы геоданных.
Рабочая область и базовое имя
Пути каталога состоят из двух частей: рабочей области и базового имени, как показано ниже:
Прямые и обратные косые черты
В Windows обратная косая черта (\) используется в качестве разделителя при указании пути. UNIX-системы используют прямую косую черту (/). В ArcGIS не имеет значения, какая косая черта используется при указании пути. ArcGIS всегда будет правильно считывать путь, какой бы знак в нем не использовался.
Обратная косая черта в Python
Языки программирования берут свое начало в UNIX, а язык С, как и Python, рассматривает обратную косую черту (\) как знак перехода. К примеру, \n соответствует возврату каретки. Поскольку пути могут содержать обратные косые черты, необходимо избегать их распознавания как знака перехода. Обычным делом является использование двойной обратной косой черты, например:
the_path = "E:\\data\\telluride\\newdata.gdb\\slopes"
Ниже показан другой вариант преобразования путей в строки Python с помощью с помощью префикса r. Благодаря этому Python будет игнорировать обратные косые черты.
the_path = r"E:\data\telluride\newdata.gdb\slopes"
Абсолютные и относительные пути
Абсолютный, или полный путь
Абсолютный (или полный) путь начинается с буквы диска, за которой следует двоеточие, например, D:.
Относительный путь
Относительный путь ссылается на местоположение относительно текущего каталога. Относительные пути используют два специальных символа: точку (.) и двойную точку (..), которые используются для перехода в текущий и родительский каталог, соответственно. Двойные точки используются для перехода на один уровень вверх. Одна точка означает текущую директорию.
В приведенной ниже структуре папок, предположим, что вы воспользовались Проводником Windows для перехода к D:\Data\Shapefiles\Soils. После перехода в данный каталог относительный путь будет использовать директорию D:\Data\Shapefiles\Soils в качестве текущей (пока вы не перейдете в новый каталог и он не станет текущей директорией). Текущую директорию иногда называют корневой папкой.
Если вы хотите перейти к папке Landuse из текущей директории (Soils), вам нужно ввести следующий текст в адресную строку Проводника Windows:
..\Landuse
Windows Explorer перейдет к D:\Data\Shapefiles\Landuse. Другие примеры использования папки D:\Data\Shapefiles\Landuse в качестве текущей представлены ниже:
Путь | Результат |
---|---|
.. | D:\Data\Shapefiles |
..\.. | D:\Data |
..\..\Final | D:\Data\Final |
. | D:\Data\Shapefiles\Landuse – текущая папка. |
.\..\Soils | D:\Data\Shapefiles\Soils |
..\..\.\Final\..\Shapefiles\.\Landuse | D:\Data\Shapefiles\Landuse |
Абсолютные и относительные пути в ArcMap
При создании документа ArcMap (либо ArcScene, либо ArcGlobe) вы можете указать, что сохраняться будут относительные пути. Для установки этой опции выберите Файл > Свойства документа карты. Здесь вы можете указать, будете ли вы хранить абсолютные или относительные пути.
При сохранении документа с относительными путями приложение преобразует пути в относительные (используя точку и двойную точку) в зависимости от того, где вы сохранили документ (т.е. от текущей директории). Например, если ваш документ хранится в D:\Maps\Posters\Newmap.mxd, а данные в одном из слоев - D:\Data\Final\Infrastructure.gdb\Streets, то в Newmap.mxd будет хранится ..\..\Data\Final\Infrastructure.gdb\Streets.
Когда вы снова открываете Newmap.mxd, ArcMap преобразует сохраненные относительные пути (с обозначением с помощью точки и двух точек) обратно в абсолютные, которые отображаются как источник данных слоя. Эта конвертация всегда зависит от местоположения документа карты (текущей директории).
Преобразуются только пути, относящиеся к одному диску
Относительные пути не могут менять диски. То есть в случае, если корневой каталог находится на диске D, вы не сможете использовать относительные пути для перехода к директории на диске E. Если вы сохраняете документ карты с использованием относительных путей, преобразованы и сохранены будут только относящиеся к одному и тому же диску.
Абсолютные и относительные пути в инструментах модели
Так же как и в ArcMap вы можете указывать, что в инструментах модели будут сохраняться относительные пути.
Текущая папка, используемая для относительных путей, это папка, в которой находится соответствующий набор инструментов. Опция относительного пути конвертирует и сохраняет пути к:
- Данным модели
- Растровым изображениям модели
- Используемым в модели инструментам
- Файлам, на которые ссылаются метаданные инструмента и справка
- Таблицам стилей
- Файлам слоя (.lyr), использующимся для условных обозначений
- Компилированным файлам справки (.chm)
Для сохранения относительных путей щелкните правой кнопкой мыши инструмент модели, выберите Свойства , а затем перейдите на вкладку Общие. В нижней части диалогового окна включите опцию Сохранить относительные пути, как показано ниже.
Преобразуются только пути, относящиеся к одному диску
Относительные пути не могут менять диски. То есть в случае, если корневой каталог находится на диске D, вы не сможете использовать относительные пути для перехода к директории на диске E. Если вы сохраняете вашу модель с использованием относительных путей, преобразованы и сохранены будут только пути, относящиеся к одному и тому же диску.
Абсолютные и относительные пути в инструментах-скриптах
При использовании мастера Добавить скрипт опция сохранения относительных путей появится на первой панели. Вы также можете установить эту опцию, щелкнув правой кнопкой мыши инструмент-скрипт, выбрав Свойства, а затем закладку Общие. В нижней части диалогового окна выберите Сохранить относительные пути.
Текущая папка, используемая для относительных путей, это папка, в которой находится соответствующий набор инструментов. Опция относительного пути конвертирует и сохраняет пути к:
- Скрипту
- Наборам данных, которые используются в свойстве значения по умолчанию
- Файлам, на которые ссылаются метаданные инструмента и справка
- Файлам слоя (.lyr), используемым для свойства условных обозначений
- Компилированным файлам справки (.chm)
- Таблицам стилей
Преобразуются только пути, относящиеся к одному диску
Относительные пути не могут менять диски. То есть в случае, если корневой каталог находится на диске D, вы не сможете использовать относительные пути для перехода к директории на диске E. Если вы сохраняете ваш инструмент-скрипт с использованием относительных путей, преобразованы и сохранены будут только пути, относящиеся к одному и тому же диску.
Пути в скрипте не преобразуются
Нельзя использовать точку и двойную точку в скриптах. Например, следующий вариант не будет работать, потому что ..\redlands.gdb\streets - это относительный путь:
arcpy.AddField_management("..\redlands.gdb\streets", "ref_ID", "TEXT",
field_length=10)
Какой смысл в использовании относительных путей вместо абсолютных?
Использование абсолютных путей характеризуется следующим:
- Вы можете перемещать документ или набор инструментов в любое местоположение на вашем компьютере и данные будут по-прежнему найдены, когда вы откроете документ или инструмент.
- На большинстве компьютеров расположение данных обычно не меняется. То есть, вы обычно не перемещаете ваши данные на собственном ПК. Как правило, используются абсолютные пути.
- Вы можете ссылаться на данные, которые находятся на других дисках.
С использованием относительных путей может понадобиться внесение следующих корректировок:
- При перемещении документа карты или набора инструментов необходимо перенести также и данные, на которые он ссылается.
- При передаче документов, наборов инструментов и данных другому пользователю должны использоваться относительные пути. Иначе возникнет необходимость, чтобы компьютер пользователя имел такую же структуру каталогов, как и ваш.
К примеру, возьмем представленную ниже структуру папок. В данном примере D:\Tools\Toolboxes\Toolbox1содержит инструмент-скрипт, который использует D:\Tools\Scripts\MyScript.py.
При использовании абсолютных путей в случае, если вы перемещаете набор инструментов D:\Tools\Toolboxes\Toolbox1 на другой диск, например, в E:\Final\Toolbox1, ArcGIS найдет D:\Tools\Scripts\MyScript.py и все будет прекрасно работать. Если же вы используете относительные пути, ArcGIS не найдет скрипт и инструмент работать не будет. Диалоговое окно инструмента появится, но инструмент выдаст ошибку при выполнении, поскольку он не сможет найти этот скрипт. Вам необходимо открыть свойства инструмента и ввести корректный путь к скрипту.
С другой стороны, если вы работаете с относительными путями, вы можете просто скопировать папку D:\Tools в любое место на любом компьютере и все будет работать. Это не сработает при использовании абсолютных путей, поскольку другой пользователь может скопировать папку в каталог F:\NewTools и путь D:\Tools\Scripts\MyScript.py на его компьютере найден, естественно, не будет.
Суммарная информация
- Относительные пути не могут менять диски.
- Абсолютные пути лучше применять, если данные не будут переноситься, как это обычно и происходит на дисках персональных компьютеров.
- Относительные пути полезно использовать в случае, когда вы передаете документы и данные другому пользователю.
- Относительные пути используют обозначения точки и двойной точки. Вы можете вводить относительные пути с такими обозначениями в Проводнике Windows и командной строке Windows.
- ArcGIS не позволяет вводить относительные пути с использованием обозначений точки и двойной точки. Чаще в документе и наборе инструментов хранятся относительные пути (после того как вы отметили опцию сохранения относительных путей).
- Относительные пути "отсчитываются" от текущей папки, являющейся местоположением сохраненного документа или набора инструментов.
Пути UNC
UNC расшифровывается как Universal (или Uniform, или Unified) Naming Convention – Конвенция об универсальных наименованиях, и является синтаксисом для доступа к директориям и файлам в компьютерных сетях. Синтаксис выглядит так:
\\<computer name>\<shared directory>\
В этой структуре пути может быть указано любое количество папок и название директории или имя файла, например:
\\pondermatic\public\studyarea.gdb
\\omni\shared_stuff\wednesday\tools
Имя компьютера отделяется с помощью двойной обратной косой черты (\\).
В UNC имя компьютера также называется именем хоста.
Есть несколько правил для путей UNC:
- Пути UNC не могут содержать меток тома (таких как D).
- Невозможен переход в директорию выше уровнем, чем общая директория.
- Опция Сохранять относительные пути для документов и инструментов неприменима к путям UNC.
В ArcGIS вы можете использовать путь UNC при любом запросе пути. Это особенно удобно для общедоступных данных в локальной вычислительной сети (LAN). Данные могут храниться на одном компьютере, и любой пользователь, имеющий к нему доступ, может эти данные использовать, пока компьютер не будет выключен или отсоединен от сети.
В Windows возможно открывать доступ к папкам, чтобы другие пользователи в сети могли с ними работать. В ArcCatalog или Проводнике Windows щелкните правой кнопкой мыши Общий доступ и безопасность и следуйте дальнейшим указаниям открывающегося диалогового окна.
URL
URL расшифровывается как Uniform Resource Locator – Универсальный локатор ресурса и уникально описывает адрес любого документа в Интернете. Компонентами URL являются:
- Протокол, используемый для доступа к ресурсу, такой как HTTP (HyperText Transfer Protocol) или FTP (File Transfer Protocol)
- Хост (сервер), с которым происходит общение
- Путь к файлу на хосте
Пример:
http://www.esri.com/products.html
Веб-браузеры позволяют вам ввести в адресную строку www.esri.com, а https:// браузер добавит автоматически. Более правильным является явное указание протокола, например, https.
В ArcGIS вы можете использовать пути URL там, где это является допустимым. В общем, в пользовательском интерфейсе содержатся подсказки, где возможно или необходимо использование URL. При использовании URL в ArcGIS Explorer рекомендуется включать тип протокола как в https://www.esri.com вместо www.esri.com.
Путь к файлу подключения ArcSDE
Инструменты геообработки используют путь к файлу подключения (.sde) для доступа к данным, хранящимся в многопользовательской базе данных.
D:\Data\Final\Connection to ArcSDE.sde\EastValley\powerlines
Информация о подключения в файле .sde используется для создания подключения к многопользовательской базе геоданных, при этом база геоданных ищет запрашиваемые данные так же как и для файловой и персональной баз геоданных.