কিজিআইএস-এ শেফিলগুলি পুনরায় নামকরণ করবেন?


12

আমার কাছে একটি প্রকল্পের স্তরগুলির বিশাল তালিকা রয়েছে যা বিদেশী ভাষায় নামকরণ করা হয়েছে। আমি অনুবাদ করতে চাই এবং নামের সাথে ইংরেজি শিরোনাম যুক্ত করতে চাই।

আমি যখন কোনও স্তরে ডান ক্লিক করি এবং Properties -> Generalস্তরটির নামটি নির্বাচন করি এবং পরিবর্তন করি তবে এটি স্তর বৃক্ষে দৃশ্যমান হয় তবে মূল ফাইলটি একই থাকে।

কিউজিআইএস থেকে মূল ফাইলের নাম পরিবর্তন করার কোনও উপায় আছে?

এমন অনেকগুলি রয়েছে যা আমার ফোল্ডারে সেগুলি অনুসন্ধান করতে খুব বেশি সময় লাগবে।


1
আমি মনে করি আপনি উইন্ডোজ এক্সপ্লোরার ব্যবহার করতে না চাইলে ফাইলটির নাম পরিবর্তন করতে ডান ক্লিক করতে হবে এবং সংরক্ষণ করতে হবে।
landocalrissian

কিউআইজিআইএস.আরএ সম্পর্কিত সম্পর্কিত বৈশিষ্ট্য-অনুরোধের লিঙ্ক করা: বিষয়গুলি.কিগিস.আর.সি.স.স. / ১৫1৯১ , যাতে আমরা এটিতে নজর রাখতে পারি।
আন্দ্রে সিলভা

উত্তর:


9

এটি করার জন্য, আপনাকে ) টিসি থেকে স্তরটি সরিয়ে ফেলতে হবে, ii) শেফিল ফাইলগুলি (যেমন, shp, dbf, shx, prj, এবং এর মতো) অনুসারে ফাইলগুলির নাম পরিবর্তন করুন, এবং iii) পুনরায় নামক স্তরটি এতে লোড করুন QGIS। তবে আমাদের এ জাতীয় ওয়ার্কফ্লো স্বয়ংক্রিয় করতে হবে!

আপনি যদি পদক্ষেপগুলি দেখেন তবে তারা টেবিল ম্যানেজার প্লাগইন যা করেন তার মতো। সুতরাং, আমি শেফিলগুলি পুনরায় নামকরণে এই জাতীয় প্লাগইন কোডটি রূপান্তর করেছি, আপনি এখান থেকে এটি ডাউনলোড করতে পারেন ।

আপনি এটি এইভাবে ব্যবহার করতে পারেন (এটি কীভাবে কাজ করে তা দেখতে প্রথমে একটি ছোট ব্যাকআপ প্রকল্পের সাহায্যে চেষ্টা করুন):

  1. টিউ তে আপনার কিউজিআইএস স্তরগুলি পুনর্নবীকরণ করুন, এই নতুন নামগুলি আপনার সম্পর্কিত শেফিলগুলির নামগুলি ওভাররাইট করার জন্য নেওয়া হবে।
  2. আপনার কিউজিআইএস প্রকল্পটিকে একই ফোল্ডারে সংরক্ষণ করুন স্ক্রিপ্টটির নাম_প্লেস.ফাই.পি
  3. কিউজিআইএস পাইথন কনসোলটি খুলুন।
  4. পরবর্তী কোড স্নিপেট সেখানে অনুলিপি করুন:

    from rename_shapes import RenameShapefiles
    for lyr in iface.mapCanvas().layers():
        rn = RenameShapefiles( iface, lyr )
        rn.doSave()
    

এটাই! আমি এটি GNU / লিনাক্স, QGIS 2.6 এ পরীক্ষা করেছি। কোড চালানোর পরে টোকে স্তরগুলির ক্রম পরিবর্তিত হয়।

আপনার যদি কোন সমস্যা থাকে তবে আমাকে জানান।

আপনার যদি স্তরটির সংরক্ষণের প্রয়োজন হয় তবে একটি নতুন প্রশ্ন জিজ্ঞাসা করুন, সম্ভবত আমি এটি দেখতে পারি :)।


4

আর ব্যবহারকারীদের জন্য, আমি একটি দ্রুত আর ফাংশন লিখেছিলাম যা ব্যাচ .shp ফাইল এবং এর সাথে সম্পর্কিত সমস্ত ফাইলের নাম পরিবর্তন করে। এটি বেশ খালি হাড়, এবং পরীক্ষা করার ক্ষেত্রে কোনও ত্রুটি নেই, ইত্যাদি, সুতরাং এটি যদি ব্যর্থ হয় তবে আপনাকে কিছুটা তদন্ত করতে হবে।

# Function to rename shapefile (.shp) and all associated files
# fpath = full file path of any of the associated files (character)
# newName = new name for the files (character)

renameShp <- function(fpath, newName) {
  dir <- dirname(fpath)
  base <- basename(fpath)
  fname <- strsplit(base, '[.]')[[1]][1]
  ls <- list.files(path=dir, pattern=fname, full.names=TRUE)
  sapply(ls, FUN=function(p){
    file.rename(from=p, to=sub(pattern=fname,replacement=newName, p))
  })
  print(paste("Renamed", length(ls), "files."))
}

1

যদি তাদের পুনরায় নামকরণের জন্য আপনার কাছে ধারাবাহিক স্কিমা থাকে তবে আপনি এটি অজগর স্ক্রিপ্টে এটি করতে পারেন। পাইথনের একটি পদ্ধতি হ'ল OS.rename (src, dest) । ফাইলগুলির নাম পরিবর্তনের জন্য অ্যালগরিদম কী তার উপর নির্দিষ্ট বিশদ নির্ভর করবে। এটি টিওসি-তে কেবল স্তরের নাম নয়, আসল ফাইলগুলির নামকরণের জন্য।

অন্যথায়, আমি তাদের ম্যানুয়ালি নামকরণের বিকল্প জানি না, যেহেতু আপনাকে তাদের অনুবাদ করতে হবে। আপনি, তাত্ত্বিকভাবে অজগরটিতে অনুবাদগুলির একটি অভিধান তৈরি করতে পারতেন, তবে এটি ম্যানুয়ালি করার ক্ষেত্রে সম্ভবত কোডটি নিতে সময় লাগবে। এছাড়াও, সচেতন থাকুন যে ফাইলগুলি নিজের নামকরণ করা তথ্যের উত্সকে ভেঙে দেবে। টিওসি-তে কেবলমাত্র স্তরের নামগুলি পুনর্নবীকরণ করা ঠিক হবে তবে আমি কিউজিআইএসের সাথে আরকের মতো পরিচিত নই।


1

আমি এই ফাইলটি আপনার ফাইলগুলির নতুন নামকরণের জন্য ব্যবহার করার পরামর্শ দিচ্ছি http: //www.ulkrenameu टिल . co.uk/Main_Intro.php । এটি উন্মুক্ত এবং ব্যবহার করা সহজ। আপনি নিজের ফাইলটির নাম পরিবর্তন করার পরে, আপনাকে অবশ্যই একটি টেক্সট সম্পাদক দিয়ে আপনার কিউগিস প্রকল্প ফাইলটি (নোটপ্যাড ++ চেষ্টা করে) খুলতে হবে এবং একই সন্ধান এবং প্রতিস্থাপন করতে হবে।

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