ফিওর ক্লাস বা টেবিলের নাম দিয়ে জিওডাটাবেসস অনুসন্ধান করছেন?


10

আমি কোনও বৈশিষ্ট্য শ্রেণি বা সারণীর নাম ব্যবহার করে জিওডাটাবেসগুলি অনুসন্ধান করার একটি উপায় অনুসন্ধান করছি।

এই মত কোন কাজ আছে?

স্পষ্টতই উইন্ডোজ অনুসন্ধান কেবল জিওডাটাবেজে থাকা টেবিলগুলির জন্য এলোমেলো আইডি দেয়। আমি তাদের মধ্যে ডেটাসেটগুলি অনুসন্ধান করতে চাই।

আমি মনে করি এটি অনেক লোককে সহায়তা করবে, কারণ আমি জানি আমি কেবল সেখানেই নন যিনি জিওডাটাবেসগুলিতে স্থানীয় তথ্য সংরক্ষণ করেন, কেবলমাত্র এটি হাজার হাজার অন্যান্য ডেটাসেটের সাথে সংরক্ষণাগার রাখার জন্য এবং এটির মাধ্যমে অনুসন্ধান করতে চান না।

আমি আর্কিটেলগের মধ্যে এই জিওডাটাবেসগুলি অনুসন্ধান করতে চাই।


উত্তর:


4

কিছু অজগর ব্যবহার করে আপনি যা যা বলছেন তা করার এটি দীর্ঘ পথ:

  1. আপনি যে সমস্ত জিওডাটাবেসগুলি অনুসন্ধান করতে চান তার একটি তালিকা দরকার। যদি অনেক কিছু থাকে তবে প্রশ্নাবলীতে ডিরেক্টরিতে পাইথনের ওয়াক ফাংশনটি ব্যবহার করুন। কোনও ফোল্ডারে সেগুলির সাথে .gdbবা .mdbডাটাবেসের উপর নির্ভর করে আলাদা করুন।

  2. জিওডাটাবেস-এর মধ্যে সমস্ত ডেটাসেট সন্ধান করুন।

  3. ডেটাসেটের মধ্যে সমস্ত স্তর সন্ধান করুন।

  4. আপনি যা খুঁজছেন তার জন্য স্তরগুলি থেকে ফলাফল অনুসন্ধান করুন।

আমি যে বিষয়ে কথা বলছি তার একটি কোড নমুনা এখানে:

import arcpy
from arcpy import env
x = 'File Name That You Are Looking For'
GDBs = ['GeoDatabase1', 'GeoDatabase2', 'ect']  # Your list of GeoDatabases
for GDB in GDBs:                                # Iterate through your list
    env.workspace = GDB
    GDBds = arcpy.ListDatasets()                # Find datasets in GeoDatabase
    for ds in GDBds:                            # Iterate through datasets
        env.workspace = GDB + '/' + ds
        fc = arcpy.ListFeatureClasses()         # Find all data in the dataset
        for f in fc:
            if f.find(x) != -1:
                print GDB + '/' + ds + '/' + f    

4
সমস্ত বৈশিষ্ট্য ক্লাস ফিচার ডেটাসেটে নেই (সেরা অনুশীলনের ফলে খুব কম
ভিন্স

10

বৈশিষ্ট্য ক্লাসগুলির সন্ধানের অন্য উপায়, যা কোনও ডেটাসেটে থাকতে পারে বা নাও হতে পারে তা হল পূর্বে উল্লিখিত হিসাবে walkফাংশনটি ব্যবহার করা । এটি অনুসন্ধান করার জন্য কেবলমাত্র একটি ওয়ার্কস্পেসের প্রয়োজন (অর্থাত কয়েকশ জিডিবি সহ একটি ফোল্ডার)।

import arcpy, os
workspace = "Path/to/folder"
search = "name_string_you_are_searching_for"
feature_classes = []
for dirpath, dirnames, filenames in arcpy.da.Walk(workspace,
                                                  datatype="FeatureClass",
                                                  type="ANY"):
    for fname in filenames:
        # search for string in string to eliminate the need for exact filenames
        if search.upper() in fname.upper():
            feature_classes.append(os.path.join(dirpath, fname))

ফলাফলের তালিকায় আপনার সন্ধানের মানদণ্ডের সাথে মেলে এমন সমস্ত বৈশিষ্ট্য শ্রেণীর পাথ এবং ফাইলের নাম থাকবে যা মুদ্রণযোগ্য can

for fc in feature_classes:
     print fc

walkবৈশিষ্ট্যটির ধরণে পরিবর্তন type=""করে নির্দিষ্ট ধরণের বৈশিষ্ট্যগুলি (যেমন বহুভুজ, পয়েন্ট, রাস্টারগুলি ইত্যাদি) অনুসন্ধান করার জন্যও এই ফাংশনটি পরিবর্তন করা যেতে পারে ।


1

আমি কিছুক্ষণ আগে কিছু সফ্টওয়্যার জুড়ে এসেছি যা জিওডাটাবেসগুলি এবং অন্যান্য স্থানিক ডেটা সূচকের জন্য ব্যবহৃত হতে পারে:

https://www.voyagersearch.com/

আমি আমাদের সংস্থার জন্য এটি পরীক্ষিত করেছি এবং যদিও আমরা বিভিন্ন কারণে এটি ব্যবহার না করে শেষ করি কারণ এতে দরকারী কার্যকারিতা প্রচুর পরিমাণে রয়েছে। সংক্ষেপে এটি আপনার স্থানিক ডেটাসেটগুলির একটি সূচক তৈরি করে যা এরপরে অবস্থান ব্যবহার করে অনুসন্ধান করা যেতে পারে - কারণ এটি ডেটার পরিমাণ, নাম এবং তথ্যের বৈশিষ্ট্য / বিষয়বস্তুও রেকর্ড করে।

এটি হ'ল তারা জিওডিবি'র সূচক: https ://voyagers Search.zendesk.com/hc/en-us/articles/204187447-Indexing-Esri- জিওডাটাবেস- এবং- শ্যাফাইফাইলস

এটি তাদের ডেমো পৃষ্ঠা যা এটির তুলনায় আমার চেয়ে তার দক্ষতা প্রদর্শনের আরও ভাল কাজ করবে! http://voyagerdemo.com/web/navigo/#/home

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.