Описание путей: абсолютных, относительных, UNC и URL

Вы сталкиваетесь с путями каждый день для поиска ваших данных и наборов инструментов. В этом разделе представлено детальное описание путей, приведено определение различных видов путей и показан порядок работы с ними в ArcGIS.

пути

Путь (Path)

Путь – это разделенное символами обратной косой черты имя директории или файла. Директория – это тоже самое, что и папка в проводнике Windows.

E:\Data\MyStuff            (path terminating in a directory name)
E:\Data\MyStuff\roads.shp  (path terminating in a file name)

путь

Вы можете столкнуться с двумя написаниями пути: "pathname" и "path name". Все варианты написания пути (Path, pathname и path name) являются синонимами.

Системный путь и путь каталога

ArcGIS оперирует термином "путь каталога" или "путь ArcCatalog". Путь каталога – это путь, распознаваемый только ArcGIS. Например:

D:\Data\Final\Infrastructure.gdb\EastValley\powerlines

относится к классу пространственных объектов powerlines в наборе объектов EastValley файловой базы геоданных Infrastructure. Этот путь не является корректным системным путем с точки зрения операционной системы, поскольку Windows не распознает наборы и классы пространственных данных, расположенные внутри файловой базы геоданных. Само собой, ArcGIS работает с путями каталога.

Рабочая область и базовое имя

Пути каталога состоят из двух частей: рабочей области и базового имени, как показано ниже:

Имя набора данных

Местоположение

Местоположение (Location) является общим термином (см., например: "Укажите местоположение ваших данных" или "Введите местоположение ваших данных").

Прямые и обратные косые черты

В Windows обратная косая черта (\) используется в качестве разделителя при указании пути. UNIX системы используют прямую косую черту (/). В ArcGIS не имеет значения, какая косая черта используется при указании пути. ArcGIS всегда будет правильно считывать путь, какой бы знак в нем не использовался.

Обратная косая черта при написании скрипта

Языки программирования, уходящие корнями в UNIX и язык C, такие как Python, рассматривают обратную косую черту (\) в качестве управляющего символа. К примеру, \n соответствует возврату каретки. Поскольку пути могут содержать обратные косые черты, необходимо избегать их распознавания как знак перехода. Обычным делом является использование двойной обратной косой черты, например:

thePath = "E:\\data\\telluride\\newdata.gdb\\slopes"

Другой вариант преобразования путей в строки Python с помощью директивы r показан ниже. Благодаря этому Python будет игнорировать обратные косые черты.

thePath = r"E:\data\telluride\newdata.gdb\slopes"

Абсолютные и относительные пути

Абсолютный, или полный путь

Абсолютный (или полный) путь начинается с буквы диска, за которой следует двоеточие, например, D:.

Относительный путь

Относительный путь ссылается на местоположение относительно текущего каталога. Относительные пути используют два специальных символа: точку (.) и двойную точку (..), которые используются для перехода в текущий и родительский каталог, соответственно. Двойные точки используются для перехода на один уровень вверх. Одна точка означает собственно текущую директорию.

В приведенной ниже структуре папок, предположим, что вы воспользовались Проводником Windows для перехода в папку D:\Data\Shapefiles\Soils. После перехода в данный каталог относительный путь будет использовать директорию D:\Data\Shapefiles\Soils в качестве текущей (пока вы не перейдете в новый каталог и он не станет текущей директорией). Текущую директорию иногда называют корневой папкой.

Пример структуры папок

Если вы хотите перейти к папке Landuse из текущей директории (Soils), вам нужно ввести следующий текст в адресную строку Проводника Windows:

..\Landuse

Проводник Windows перейдет в папку D:\Data\Shapefiles\Landuse. Другие примеры использования папки D:\Data\Shapefiles\Landuse в качестве текущей представлены ниже:

..               (D:\Data\Shapefiles)
..\..            (D:\Data)
..\..\Final      (D:\Data\Final)
.                (D:\Data\Shapefiles\Landuse - the current directory)
.\..\Soils       (D:\Data\Final\Soils)
..\..\.\Final\..\Shapefiles\.\Landuse  (D:\Data\Shapefiles\Landuse)
ПримечаниеПримечание:

Вы не сможете вводить относительные пути (с использованием точки и двойной точки) в приложениях ArcGIS.

Относительный путь не может распространяться на другие диски. К примеру, если ваша текущая папка находится на диске D, вы не можете использовать относительные пути для перехода к какой-либо директории на диске E.

Абсолютные и относительные пути в ArcMap

При создании документа ArcMap (либо ArcScene, либо ArcGlobe) вы можете указать, что сохраняться будут относительные пути. Для установки этой опции выберите Файл (File)>Свойства документа карты (Map Document Properties). Здесь вы можете указать, будете ли вы хранить абсолютные или относительные пути.

Установка относительных или абсолютных путей

При сохранении документа с относительными путями приложение преобразует пути в относительные (используя точку и двойную точку) в зависимости от того, где вы сохранили документ (т.е. от текущей директории). Например, если ваш документ сохранен в

D:\Maps\Posters\Newmap.mxd

и данными одного из слоев являются

D:\Data\Final\Infrastructure.gdb\Streets

то в Newmap.mxd записано следующее:

..\..\Data\Final\Infrastructure.gdb\Streets

Когда вы снова открываете Newmap.mxd, ArcMap преобразует сохраненные относительные пути (с обозначением с помощью точки и двух точек) обратно в абсолютные, которые отображаются как источник данных слоя. Эта конвертация всегда зависит от местоположения документа карты (текущей директории).

Преобразуются только пути, относящиеся к одному диску

Относительные пути не могут менять диски. То есть в случае, если корневой каталог находится на диске D, вы не сможете использовать относительные пути для перехода к директории на диске E. Если вы сохраняете документ карты с использованием относительных путей, преобразованы и сохранены будут только относящиеся к одному и тому же диску.

Подробнее о ссылках на данные в документе карты

Абсолютные и относительные пути в инструментах модели

Так же как и в ArcMap вы можете указывать, что в инструментах модели будут сохраняться относительные пути.

Текущая папка, используемая для относительных путей, это папка, в которой находится соответствующий набор инструментов. Опция относительного пути конвертирует и сохраняет пути к:

Для сохранения относительных путей щелкните правой кнопкой мыши инструмент модели, выберите Свойства (Properties), а затем перейдите на закладку Общие (General). В нижней части диалогового окна включите опцию Сохранить относительные пути (Store relative path names (instead of absolute paths), как показано ниже.

Относительные пути в инструментах модели

Преобразуются только пути, относящиеся к одному диску

Относительные пути не могут менять диски. То есть в случае, если корневой каталог находится на диске D, вы не сможете использовать относительные пути для перехода к директории на диске E. Если вы сохраняете вашу модель с использованием относительных путей, преобразованы и сохранены будут только пути, относящиеся к одному и тому же диску.

Абсолютные и относительные пути в инструментах-скриптах

При использовании мастера Добавить скрипт (Add Script)опция сохранения относительных путей появится на первой панели. Вы также можете установить эту опцию, щелкнув правой кнопкой мыши инструмент-скрипт, выбрав Свойства (Properties), а затем закладку Общие (General). В нижней части диалогового окна выберите Сохранить относительные пути (Store relative path names (instead of absolute paths).

Текущая папка, используемая для относительных путей, это папка, в которой находится соответствующий набор инструментов. Опция относительного пути конвертирует и сохраняет пути к:

Преобразуются только пути, относящиеся к одному диску

Относительные пути не могут менять диски. То есть в случае, если корневой каталог находится на диске D, вы не сможете использовать относительные пути для перехода к директории на диске E. Если вы сохраняете ваш инструмент-скрипт с использованием относительных путей, преобразованы и сохранены будут только пути, относящиеся к одному и тому же диску.

Пути в скрипте не преобразуются

Нельзя использовать точку и двойную точку в скриптах. Например, представленная ниже запись работать не будет:

arcpy.AddField_management("..\redlands.mdb\streets", "ref_ID", "long", "9", "#", "#", \
             "refcode", "NULLABLE", "REQUIRED", "#")

т.к. путь ..\redlands.mdb\streets является относительным.

Какой смысл в использовании относительных путей вместо абсолютных?

Использование абсолютных путей характеризуется следующим:

С использованием относительных путей может понадобиться внесение следующих корректировок:

К примеру, возьмем представленную ниже структуру папок. В этом примере 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 на его компьютере найден, естественно, не будет.

Заключение

  • Относительные пути не могут менять диски.
  • Абсолютные пути лучше применять, если данные не будут переноситься, как это обычно и происходит на дисках персональных компьютеров.
  • Относительные пути полезно использовать в случае, когда вы передаете документы и данные другому пользователю.
  • Относительные пути используют обозначения точки и двойной точки (. and ..). Вы можете вводить относительные пути с такими обозначениями в Проводнике Windows и командной строке Windows.
  • ArcGIS не позволяет вводить относительные пути с использованием обозначений точки и двойной точки. Чаще в документе и наборе инструментов хранятся относительные пути (после того как вы отметили опцию сохранения относительных путей).
  • Относительные пути "отсчитываются" от текущей папки, являющейся местоположением сохраненного документа или набора инструментов.

Пути UNC

UNC расшифровывается как Universal (или Uniform, или Unified) Naming Convention – Конвенция об универсальных наименованиях, и является синтаксисом для доступа к директориям и файлам в компьютерных сетях. Синтаксис показан ниже:

\\<computer name>\<shared directory>\

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

Например:

\\pondermatic\public\studyarea.gdb
\\omnipotent\shared_stuff\wednesday\tools

Имя компьютера отделяется с помощью двойной обратной косой черты (\\).

В UNC имя компьютера также называется именем хоста.

Есть несколько правил для путей UNC:

В ArcGIS вы можете использовать путь UNC при любом запросе пути. Это особенно удобно для общедоступных данных в локальной вычислительной сети (LAN). Данные могут храниться на одном компьютере, и любой пользователь, имеющий к нему доступ, может эти данные использовать, пока компьютер не будет выключен или отсоединен от сети.

В Windows возможно открывать доступ к папкам, чтобы другие пользователи в сети могли с ними работать. В ArcCatalog или Проводнике Windows щелкните правой кнопкой мыши Общий доступ и безопасность (Sharing and Security) и следуйте дальнейшим указаниям открывающегося диалогового окна.

URL

URL расшифровывается как Uniform Resource Locator – Универсальный локатор ресурса и уникально описывает адрес любого документа в Интернете. Компонентами URL являются:

Например:

http://www.esri.com/products.html

Windows Internet Explorer позволяет ввести строку www.esri.com в адресной строке Internet Explorer и тип протокола будет добавлен автоматически http://. Более правильным является явное указание протокола, например, http. Среди других протоколов назовем HTTPS (Secure Hypertext Transfer Protocol), FTP, mailto (адрес электронной почты e-mail) and news (новости Usenet) и т.д.

В ArcGIS вы можете использовать пути URL там, где это является допустимым. В общем, в пользовательском интерфейсе содержатся подсказки, где возможно или необходимо использование URL. При использовании URL в ArcGIS Explorer рекомендуется включать тип протокола как в строке ниже:

http://www.esri.com

вместо

www.esri.com

Путь к файлу подключения ArcSDE

Инструменты геообработки используют путь к файлу подключения (.sde) для доступа к данным, хранящимся в базе данных ArcSDE.

D:\Data\Final\Connection to ArcSDE.sde\EastValley\powerlines

Информация о подключения в файле .sde используется для создания подключения к ArcSDE, при этом база геоданных ищет запрашиваемые данные так же как и для файловой и персональной баз геоданных (см. выше).

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

9/11/2013