أكثر

Directory.GetFiles مقابل ListDatasets - ما هي أداة العمل؟

Directory.GetFiles مقابل ListDatasets - ما هي أداة العمل؟


أقوم حاليًا بكتابة تطبيق arcobjects الذي يؤدي مجموعة عشوائية من مهام المعالجة الجغرافية على مجموعة من ملفات الأشكال و / أو جداول dbf. يستخدم التنفيذ الحالي الخاص بي Directory.GetFiles لإنشاء مجموعة من مسارات الملفات التي أقوم بتغذية وظائف تنفيذ GP المختلفة بها. أتساءل عما إذا كان بإمكان ListDatasets أداء نفس المهمة. أحتاج إلى البحث في شجرة دليل كاملة بدءًا من مجلد جذر معين لجميع الملفات التي تطابق سلسلة بحث معينة. لست متأكدًا مما إذا كانت ListDatasets ستفعل ذلك (لدي وقت طويل في فك تشفير وثائق SDK).

باختصار ، هذا من شأنه أن يثبت أنه أكثر كفاءة وفعالية ويبحث بشكل متكرر في شجرة دليل عن ملفات .shp و. dbf ،الدليل,GP.ListDatasets، أو طريقة غير مذكورة حتى الآن؟


أتخيل أن استخدام طرق C # المضمنة سيكون أسرع في الاستخدام المتكرر ، ولكن بالطبع يمكنك فعل ذلك فقط مع الملفات ، وليس فئات / جداول ميزات قاعدة البيانات الجغرافية. فيما يلي مثال على معالج ملف / دليل متكرر: Directory.GetDirectories

في حالة الذهاب إلى مسار ArcObjects ، سألقي نظرة على موضوع التعليمات "كيفية سرد البيانات" ، والذي يحتوي على جميع الكلمات الأساسية المتوقعة. يبدو أنك تريد استخدام مزيج منقوائموListFeatureClasses، وListWorkspacesلتكرار مساحات عمل المجلد. يستخدمListDatasetsإذا كنت في قاعدة بيانات جغرافية وتحتاج إلى البحث في مجموعات بيانات الميزة.

إذا لم تكن السرعة أمرًا بالغ الأهمية ، فمن المحتمل أن أستخدم طرق ArcObjects خاصة إذا كانت هناك فرصة لأرغب في استخدام قواعد البيانات الجغرافية. أعتقد أنهم يتحققون أيضًا من أن كل ملف يأتون إليه صالح ، أي أنهم لن يسردوا ملفات الأشكال التي تفتقد إلى ملف مهم ، أو ملف يحدث بامتداد .shp ولكنه ليس ملفًا في الواقع.

يمكنك دائمًا القيام بالأمرين معًا وتوقيت ذلك بنفسك.