Преимущества использования подчеркивания в соглашениях об именах файлов ArcGIS?

11

Во вводном курсе по ГИС настаивали на том, чтобы все пробелы в именах файлов и папок были заменены подчеркиванием.

Почему этому учат?

Есть ли явная выгода от этого?

грех
источник
3
Совет не должен ограничиваться пробелами! Для наглядности рассмотрим, что части ArcGIS содержат код, начиная с 1980-х годов (если не раньше). В то время существовали строгие ограничения на имена каталогов и файлов: программа предполагала, что имена были короткими (обычно 13 символов или менее), не содержали никаких специальных символов, кроме пробелов, и не начинались с цифры. (Даже это описание не совсем верно, но оно близко.) Люди все еще сталкиваются с загадочными проблемами, прослеживаемыми в этом старом коде.
whuber
@whuber - удар. Это не только пробелы, хотя, дефисы, -также вызывают проблемы, потому что иногда они в порядке, а иногда нет. Видите метод arcgisscripting для санации имени файла?
Мэтт Уилки

Ответы:

13

Одна из причин заключается в том, что пробелы имеют особое значение в нескольких языках программирования / написания сценариев.

Привычка называть файлы и папки символами подчеркивания - это хорошая практика, поскольку в некоторых языках "" (пробелы) не будут рассматриваться как новая строка.

Пример. Папка с именем «ГИС-данные» является неверным именем папки. Это потому, что, если я пытаюсь получить к нему доступ с помощью скрипта или какого-либо языка программирования, я должен обращаться с пробелами с особой тщательностью.

Если я не скажу ему, что пробелы действительно являются пробелами, а не символами новой строки, то он попытается получить доступ к «ГИС» и «Данные» как к отдельным папкам, но это не так.

В 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.

SaultDon
источник
11

Существуют некоторые инструменты геообработки, которые не будут работать, если в именах файлов есть пробелы. Таким образом, лучше всего избегать их всех вместе.

Джефф Берри
источник
3
В программном обеспечении Esri покрытия и растровые файлы никогда не допускали пробелов в именах. Размещение наборов данных на рабочем столе Windows было / является проблематичным, поскольку папка фактически основана на «Документах и ​​настройках» (таким образом, вводя пробелы в полное имя пути). Шейп-файлы гораздо более простительны, и пробелы возможны, и я считаю, что классы пространственных объектов теперь могут иметь пробел, а не сбой, но старые привычки сильно умирают. Я согласен с Джеффом Берри - лучше всего избегать их.
dianamaps
2

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

delete C:\directory\file number 1.shp

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

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

Многие инструменты ГИС основаны на командной строке, поэтому проще использовать заниженные оценки, если вы находитесь в среде, где командная строка является обычной. Если вы только пользователь Windows, вы, вероятно, можете просто оставить пробелы в.

ГИС-Jonathan
источник