您每天都通过路径浏览至数据和工具箱。在共享数据和工具之前,您对此可能没有做太多考虑,其实您也无需考虑。本部分将详细讨论以下方面内容:路径、定义不同类型的路径以及 ArcGIS 对路径的管理方式。
路径和路径名
Path
路径是由斜线分割的目录名的列表,后面连接目录名或文件名。目录与系统文件夹相同。
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 要素类。对于 Windows 操作系统来说,这不是有效的系统路径,因为 Windows 不能识别文件地理数据库中的要素数据集或要素类。当然,ArcGIS 中的任何操作都可以使用目录路径。
工作空间和基本名称
目录路径包括两部分:工作空间和基本名称,如下所示:
位置
位置是路径的广义术语,例如在“浏览至数据的位置”或“输入数据的位置”中所用的该词。
正斜线与反斜线
/)。在 ArcGIS 中,无论是在路径中使用正斜线还是反斜线,ArcGIS 始终可以将正斜线和反斜线转换成相应的操作系统约定。
脚本中的反斜线
r 指令将路径转换成 Python 原始字符串,如下所示。这会指示 Python 忽略反斜线。
thePath = r"E:\data\telluride\newdata.gdb\slopes"
绝对和相对路径
绝对(或完整)路径
D: 之类的盘符开头,后跟一个冒号。
相对路径
相对路径是指相对于当前目录的位置。相对路径使用两种特殊符号,单点 (.) 和双点 (..),通过它们可以转换到当前目录或父目录。双点用于在目录等级中上移。单点表示当前目录本身。
D:\Data\Shapefiles\Soils 作为当前目录(如果导航到新目录,此新目录将成为当前目录)。当前目录有时被称为根目录。
地址框中输入以下内容:
..\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 应用程序中输入相对路径(使用单点和双点标记)。也不能在 Python 脚本中使用相对路径。
相对路径不能跨越磁盘驱动器。例如,如果当前路径位于磁盘驱动器 D 上,则无法使用相对路径导航到磁盘驱动器 E 上的任何目录。
ArcMap 中的绝对和相对路径
地图文档属性。可以在此处指定是存储绝对路径,还是存储相对路径。
采用相对路径保存文档时,应用程序会将路径转换为相对于存储该文档的位置(当前目录)的相对路径(使用单点/双点标记)。例如,如果文档存储在
D:\Maps\Posters\Newmap.mxd
并且某个图层中的数据为
D:\Data\Final\Infrastructure.gdb\Streets
Newmap.mxd 中存储如下内容:
..\..\Data\Final\Infrastructure.gdb\Streets
Newmap.mxd 时,ArcMap 会将存储的相对路径从单点/双点注记重新转换为绝对路径表示方式,即以图层数据源的形式显示。此转换始终相对于地图文档的位置(当前目录)进行。
仅转换同一磁盘上的路径
相对路径不能跨越磁盘驱动器。也就是说,如果根目录位于磁盘驱动器 D 上,将无法使用相对路径导航至磁盘驱动器 E 上的目录。使用相对路径存储地图文档时,只会转换和存储同一个磁盘上的路径。
了解有关在地图文档中引用数据的详细信息
模型工具中的绝对和相对路径
与 ArcMap 中的数据一样,您可以指定将模型工具中的路径存储为相对路径。
用于相对路径的当前目录即是该工具的工具箱所在的目录。相对路径选项可以将路径转换和存储为以下形式:
- 模型中的数据
- 模型中的图形影像
- 模型中使用的工具
- 元数据工具和帮助中引用的文件
- 样式表
- 用于符号系统的图层文件
- .chm)
存储相对路径名(不是绝对路径),如下所示。
仅转换同一磁盘上的路径
相对路径不能跨越磁盘驱动器。也就是说,如果根目录位于磁盘驱动器 D 上,将无法使用相对路径导航至磁盘驱动器 E 上的目录。使用相对路径存储模型时,只会转换和存储同一个磁盘驱动器上的路径。
脚本工具中的绝对和相对路径
存储相对路径名(不是绝对路径)。
用于相对路径的当前目录即是该工具的工具箱所在的目录。相对路径选项可以将路径转换和存储为以下形式:
- 脚本
- 用于默认值属性的数据集
- 元数据工具和帮助中引用的文件
- 用于符号系统属性的图层文件
- 已编译的帮助文件 (.chm)
- 样式表
仅转换同一磁盘上的路径
相对路径不能跨越磁盘驱动器。也就是说,如果根目录位于磁盘驱动器 D 上,将无法使用相对路径导航至磁盘驱动器 E 上的目录。使用相对路径存储脚本工具时,只会转换和存储同一个磁盘驱动器上的路径。
不转换脚本中的路径
ArcGIS 尚未找到一种可靠方法来检查脚本代码,查找所有路径并将其转换为相对路径。而且,您不能在脚本中使用单点和双点标记。例如,以下代码无效:
arcpy.AddField_management("..\redlands.mdb\streets", "ref_ID", "long", "9", "#", "#", \
"refcode", "NULLABLE", "REQUIRED", "#")
..\redlands.mdb\streets 是相对路径。
共享 Python 脚本的技术中所述。
为何使用相对路径与绝对路径?
绝对路径有以下特点:
- 您可以将文档或工具箱移动到计算机上的任何位置,再次打开该文档或工具时即可查找到数据。
- 在大多数个人计算机上,数据的位置通常是固定的。也就是说,您通常不会在个人计算机上大跨度地移动数据。在此类情况下,应首选使用绝对路径。
- 您可以引用其他磁盘驱动器上的数据。
使用相对路径时,需进行如下调整:
- 移动地图文档或工具箱时,必须同时移动所引用的数据。
- 向其他用户传送文档、工具箱和数据时,应使用相对路径:否则,接收方的计算机与您的计算机必须具有相同的目录结构。
D:\Tools\Scripts\MyScript.py 的脚本。
如果将工具箱从
D:\Tools\Toolboxes\Toolbox1
移动到其他磁盘,请使用绝对路径,例如
E:\Final\Toolbox1
D:\Tools\Scripts\MyScript.py,并且所有程序都能正常运行。但是,如果使用相对路径,ArcGIS 将无法找到脚本,工具也将无法运行。工具对话框会打开,但在执行操作时,您将接收到一条错误消息“不存在与此工具相关联的脚本”。您必须打开工具的属性,然后输入脚本的正确路径。
D:\Tools\Scripts\MyScript.py。
摘要
- 相对路径不能跨越磁盘驱动器。
- 在数据不发生移动的情况下最好使用绝对路径,绝对路径通常适用于个人计算机上的磁盘。
- 向其他用户传送文档和数据时最好使用相对路径。
- 相对路径使用单点/双点(. 和 ..)标记。可以在 Windows 资源管理器中或 Windows 命令提示符下输入带有此标记的相对路径。
- 但不可以在 ArcGIS 中输入带有单点/双点标记的相对路径。相对路径更适合存储在文档或工具箱中(在选中“存储相对路径名”选项之后)。
- 相对路径是相对于当前目录的位置,而当前目录则是保存的文档或工具箱所在的位置。
UNC 路径
UNC 代表通用(或一致、统一)命名约定,是一种用于访问计算机网络上的文件夹和文件的语法。语法如下:
\\<computer name>\<shared directory>\
后跟任意数量的目录,并以目录或文件名结尾。
例如:
\\pondermatic\public\studyarea.gdb \\omnipotent\shared_stuff\wednesday\tools
\\)。
在 UNC 中,计算机名称又称为主机名称。
对于 UNC 路径,存在以下几条规则:
- UNC 路径不能包含盘符(如 D)。
- 不能导航到共享目录的上级目录。
- 存储相对路径名选项对 UNC 路径不起作用。
在 ArcGIS 中,可以在需要路径的任何位置使用 UNC 路径。这对局域网 (LAN) 上的共享数据非常有用。只要计算机未关闭或未断开网络连接,就可以将数据存储在一台计算机上,然后具有该计算机访问权限的用户便可使用共享数据了。
共享和安全,然后按照打开的对话框上的说明进行操作。
URL
URL 代表统一资源定位符,专门用于指定 Internet 上文档的地址。URL 由以下几部分组成:
- 用于访问资源的协议,如 HTTP(超文本传输协议)或 FTP(文本传输协议)
- 要与之通信的主机(服务器)
- 主机上的文档的路径
例如:
http://www.esri.com/products.html
http)会更加准确。其他协议包括 HTTPS(安全超文本传输协议)、FTP、mailto(电子邮件地址)和新闻(Usenet 新闻组)。
在 ArcGIS 中,只能在允许使用的位置使用 URL。通常,用户界面会告知您是否允许使用或需要 URL。在 ArcGIS 中使用 URL 时,建议包括具体的协议,如下例所示:
http://www.esri.com
而不仅仅是输入
www.esri.com
ArcSDE 连接文件路径
.sde) 的路径来确定存储于 ArcSDE 数据库中的数据的位置。
D:\Data\Final\Connection to ArcSDE.sde\EastValley\powerlines
.sde 文件中的连接信息用于创建到 ArcSDE 的连接,而地理数据库查找所请求数据的方式与其查找文件和个人地理数据的方式相同(参阅上文)。
.sde 文件,从而导致工具运行失败。
.sde 文件就不应包含用户名/密码,而且您应当提供一个文档,说明如何使用用户的连接信息更新 ArcSDE 连接文件。要了解组织的安全策略,请联系 ArcSDE 和数据库管理员。
相关主题