Zalety korzystania z podkreślników w konwencjach nazewnictwa plików ArcGIS?

11

We wprowadzającym kursie GIS nalegano, aby wszystkie spacje w nazwach plików i folderów zostały zastąpione znakami podkreślenia.

Dlaczego się tego uczy?

Czy jest z tego wyraźna korzyść?

grzech
źródło
3
Porady nie powinny ograniczać się do spacji! Dla wglądu weź pod uwagę, że części ArcGIS zawierają kod sięgający lat 80. (jeśli nie wcześniej). W tamtych czasach istniały poważne ograniczenia nazw katalogów i plików: w oprogramowaniu przyjęto, że nazwy są krótkie (zwykle 13 znaków lub mniej), nie zawierają żadnych znaków specjalnych innych niż spacje i nie zaczynają się cyfrą. (Nawet ten opis nie jest dokładnie poprawny, ale jest blisko.) Ludzie wciąż napotykają tajemnicze problemy związane z tym starym kodem.
whuber
@whuber jest hukiem. Jednak nie tylko spacje, łączniki -powodują również problemy, ponieważ czasami są w porządku, a czasem nie. Zobacz metodę arcgisscripting do czyszczenia pliku?
matt wilkie

Odpowiedzi:

13

Jednym z powodów jest to, że spacje mają specjalne znaczenie w kilku językach programowania / skryptów.

Przyzwyczajenie się do nazywania plików i folderów podkreśleniami jest dobrą praktyką, ponieważ w niektórych językach znaki „” (spacje) nie będą traktowane jako nowa linia.

Przykład - folder o nazwie „Dane GIS” to zła nazwa folderu. Jest tak, ponieważ jeśli próbuję uzyskać do niego dostęp za pomocą skryptu lub innego języka programowania, muszę traktować te przestrzenie ze szczególną ostrożnością.

Jeśli nie powiem, że spacje są rzeczywiście spacjami, a nie nowymi wierszami, spróbuje uzyskać dostęp do „GIS” i „Dane” jako osobnych folderów, ale tak nie jest.

W Uniksowym bashu z wiersza poleceń mogę użyć polecenia ls, aby wyświetlić listę plików i folderów w danym katalogu.

ls GIS Data

Wynik:

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

Błąd!

Teraz muszę albo użyć ukośników odwrotnych, albo cudzysłowów, aby spacje nie były traktowane jako znaki nowej linii!

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

Powyższe dwa polecenia traktują teraz spacje jako spacje.

Kilka narzędzi geoprzetwarzania ArcGIS nie lubi spacji w nazwach plików lub folderów w ŻADNEJ części ścieżki do źródła danych. Zazwyczaj po prostu zawodzą z jakimś ogólnym błędem 99999.

SaultDon
źródło
11

Istnieje kilka narzędzi geoprzetwarzania, które zawiodą, jeśli w nazwach plików będzie spacja. Dlatego najlepiej unikać ich wszystkich razem.

Jeff Berry
źródło
3
W oprogramowaniu Esri relacje i pliki rastrowe nigdy nie tolerowały spacji w nazwach. Umieszczanie zestawów danych na pulpicie systemu Windows było / jest problematyczne, ponieważ folder jest faktycznie oparty na „Dokumentach i ustawieniach” (wprowadzając spacje do całej nazwy ścieżki). Pliki kształtu są o wiele bardziej wybaczające, a spacje są możliwe, i uważam, że klasy elementów mogą mieć teraz spację i nie upaść, ale stare nawyki umierają ciężko. Zgadzam się z Jeffem Berry - najlepiej ich unikać.
dianamaps
2

Mówiąc najprościej - dzieje się tak, ponieważ spacje w wierszach poleceń są traktowane na ogranicznikach. Więc:

delete C:\directory\file number 1.shp

nie będzie działać w większości wierszy poleceń systemu operacyjnego bez dodawania cudzysłowów:

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

Wiele narzędzi GIS jest opartych na wierszu poleceń, więc korzystanie z niedostatecznych wyników jest prostsze, jeśli znajdujesz się w środowisku, w którym wiersz poleceń jest wspólny. Jeśli jesteś wyłącznie użytkownikiem systemu Windows, prawdopodobnie możesz uciec od pozostawienia spacji.

GIS-Jonathan
źródło