Suite

Directory.GetFiles vs. ListDatasets - Quel est l'outil pour le travail ?


J'écris actuellement une application arcobjects qui exécute un ensemble arbitraire de tâches de géotraitement sur un groupe de fichiers de formes et/ou de tables dbf. Mon implémentation actuelle utilise Directory.GetFiles pour créer un tableau de chemins de fichiers que j'alimente vers diverses fonctions d'exécution GP. Je me demande si ListDatasets peut effectuer la même tâche. J'ai besoin de rechercher dans une arborescence de répertoires entière à partir d'un dossier racine donné tous les fichiers qui correspondent à une chaîne de recherche donnée. Je ne suis pas sûr que ListDatasets le fasse (j'ai du mal à déchiffrer la documentation du SDK).

En bref, ce qui s'avérerait plus efficace et efficace et rechercherait de manière récursive dans une arborescence de répertoires les fichiers .shp et .dbf,Répertoire.GetFiles,GP.ListDatasets, ou une méthode jusqu'ici non mentionnée?


J'imagine que l'utilisation des méthodes C# intégrées serait plus rapide pour une utilisation récursive, mais bien sûr, vous ne pouvez le faire qu'avec des fichiers, pas des classes d'entités/tables de géodatabase. Voici un exemple de processeur de fichier/répertoire récursif : Directory.GetDirectories

Si vous suivez la route ArcObjects, je consulterais la rubrique d'aide "Comment répertorier les données", qui contient tous les mots-clés attendus. Il semble que vous voudriez utiliser une combinaison deListeTablesetListFeatureClasses, etListe des espaces de travailpour récurser les espaces de travail des dossiers. UtilisationListDatasetssi vous êtes dans une géodatabase et que vous devez rechercher dans les jeux de classes d'entités.

Si la vitesse n'est pas critique, j'utiliserais probablement les méthodes ArcObjects, surtout s'il y avait une chance que je veuille utiliser des géodatabases. Je pense qu'ils vérifient également que chaque fichier qu'ils rencontrent est valide, c'est-à-dire qu'ils ne répertorient pas les fichiers de formes auxquels il manque un fichier critique, ou un fichier qui a une extension .shp mais qui n'est pas réellement un fichier de formes.

Vous pouvez toujours faire les deux et chronométrer vous-même.


Voir la vidéo: HOW TO SHARPEN A CHAINSAW WITH AND WITHOUT A FILE GUIDE, ADJUST DEPTH ADJUSTERS (Octobre 2021).