Avantage (s) de l'utilisation de soulignements dans les conventions de dénomination des fichiers ArcGIS?

11

Dans un cours d'introduction aux SIG, il a été insisté pour que tous les espaces dans les noms de fichiers et de dossiers soient remplacés par des traits de soulignement.

Pourquoi est-ce enseigné?

Y a-t-il un avantage évident à le faire?

péché
la source
3
Les conseils ne doivent pas se limiter aux espaces! Pour plus d'informations, considérez que certaines parties d'ArcGIS contiennent du code remontant aux années 1980 (sinon plus tôt). À l'époque, il y avait de graves limitations sur les noms de répertoire et de fichier: le logiciel supposait que les noms étaient courts (généralement 13 caractères ou moins), ne contenaient pas de caractères spéciaux autres que des espaces et ne commençaient pas par un chiffre numérique. (Même cette description n'est pas tout à fait exacte, mais elle est proche.) Les gens rencontrent toujours des problèmes mystérieux liés à cet ancien code.
whuber
@whuber est en marche. Mais ce ne sont pas seulement les espaces, les tirets, -qui causent également des problèmes parce que parfois ils vont bien et parfois ils ne le sont pas. Vous voyez une méthode d'arggisscripting pour nettoyer un nom de fichier?
matt wilkie

Réponses:

13

L'une des raisons est que les espaces ont une signification particulière dans plusieurs langages de programmation / script.

Prendre l'habitude de nommer des fichiers et des dossiers avec des traits de soulignement est une bonne pratique car les "" (espaces) ne seront pas traités comme une nouvelle ligne par certaines langues.

Exemple - Un dossier appelé "GIS Data" est un mauvais nom de dossier. En effet, si j'essaie d'y accéder avec un script ou un langage de programmation, je dois traiter les espaces avec un soin particulier.

Si je ne lui dis pas que les espaces sont en effet des espaces et non des sauts de ligne, alors il essaiera d'accéder à "SIG" et "Données" en tant que dossiers séparés, mais ils ne le sont pas.

Dans Unix bash à partir de la ligne de commande, je peux utiliser la commande ls pour répertorier les fichiers et dossiers dans un répertoire donné.

ls GIS Data

Résultat:

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

Erreur!

Je dois maintenant utiliser des barres obliques inverses '\' ou des guillemets '' pour éviter que les espaces soient traités comme des sauts de ligne!

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

Les deux commandes ci-dessus traitent désormais les espaces comme des espaces.

Plusieurs outils de géotraitement ArcGIS n'aiment pas les espaces dans les noms de fichiers ou de dossiers dans N'IMPORTE QUELLE partie du chemin d'accès à la source de données. Ils échoueront généralement avec une sorte d'erreur générique 99999.

SaultDon
la source
11

Certains outils de géotraitement échoueront s'il y a des espaces dans les noms de fichiers. Il est donc préférable de les éviter tous ensemble.

Jeff Berry
la source
3
Dans les logiciels Esri, les couvertures et les fichiers raster n'ont jamais toléré d'espaces dans les noms. Placer des ensembles de données sur un bureau Windows était / est problématique car le dossier est en fait basé sur "Documents and Settings" (introduisant ainsi des espaces dans le nom du chemin entier). Les fichiers de formes sont beaucoup plus tolérants et les espaces sont possibles, et je crois que les classes d'entités peuvent maintenant avoir un espace et ne pas planter, mais les vieilles habitudes ont la vie dure. Je suis d'accord avec Jeff Berry - mieux vaut les éviter.
dianamaps
2

Autrement dit, c'est parce que les espaces dans les lignes de commande sont traités au niveau des délimiteurs. Donc:

delete C:\directory\file number 1.shp

ne fonctionnera pas sur la plupart des lignes de commande du système d'exploitation sans ajouter de guillemets:

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

De nombreux outils SIG sont basés sur la ligne de commande, il est donc plus simple d'utiliser les sous-scores si vous êtes dans un environnement où la ligne de commande est courante. Si vous êtes uniquement un utilisateur de Windows, vous pouvez probablement vous en sortir en laissant simplement des espaces.

SIG-Jonathan
la source