在ArcGIS文件命名约定中使用下划线的优势?


11

在GIS入门课程中,坚持使用下划线替换文件名和文件夹名中的所有空格。

为什么要教这个?

这样做有明显的好处吗?


3
该建议不应仅限于空格!为了了解这一点,请考虑一下ArcGIS的某些部分包含的代码可以追溯到1980年代(如果没有更早的话)。那时,目录和文件名受到严格的限制:该软件假定名称简短(通常少于13个字符),除空格外不包含任何特殊字符,并且不以数字开头。(即使这个描述也不是正确的,但是也很接近。)人们仍然遇到可追溯到该旧代码的神秘问题。
ub

@whuber爆炸了。但是,不仅是空格,连字符-还会引起麻烦,因为有时它们还可以,有时不然。看到用于清理文件名的arcgisscripting方法吗?
马特·威尔基

Answers:


13

原因之一是因为空格在几种编程/脚本语言中带有特殊含义。

习惯用下划线命名文件和文件夹是一种好习惯,因为某些语言不会将“”(空格)视为换行符。

示例-名为“ GIS数据”的文件夹是错误的文件夹名称。这是因为如果我尝试使用脚本或某种编程语言来访问它,则必须格外小心。

如果我不告诉他们空格确实是空格而不是换行符,那么它将尝试以单独的文件夹访问“ GIS”和“ Data”,但不是。

在命令行中的Unix bash中,我可以使用ls命令列出给定目录中的文件和文件夹。

ls GIS Data

结果:

ls: GIS: No such file or directory
ls: Data: No such file or directory

错误!

我现在必须使用反斜杠'\'或引号'',以防止将空格视为换行符!

ls '1 2 3' or ls 1\ 2\ 3

现在,以上两个命令将空格视为空格。

某些ArcGIS地理处理工具不喜欢数据源路径的任何部分中文件名或文件夹名中的空格。他们通常只会因某种通用错误99999而失败。


11

如果文件名中有空格,则某些地理处理工具将失败。因此,最好避免它们在一起。


3
在Esri软件中,coverage和栅格文件从不容忍名称中的空格。在Windows桌面上放置数据集是有问题的,因为该文件夹实际上基于“文档和设置”(因此在整个路径名中引入了空格)。Shapefile的宽容性要大得多,并且可以使用空格,而且我相信要素类现在可以有一个空格并且不会崩溃,但是旧习惯很难解决。我同意杰夫·贝里(Jeff Berry)的观点-最好避免他们。
dianamaps,2012年

2

简而言之-这是因为命令行中的空格在定界符处被对待。所以:

delete C:\directory\file number 1.shp

如果不添加引号,将无法在大多数操作系统命令行上运行:

delete "C:\directory\file number 1.shp"

许多GIS工具都是基于命令行的,因此,如果您在命令行常见的环境中,使用下划线就更简单了。如果您只是Windows用户,则可能只需要留空格就可以摆脱困境。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.