สำหรับการทำเช่นนั้นคุณจะต้องi)ลบเลเยอร์ออกจาก ToC, ii)เปลี่ยนชื่อไฟล์ที่สอดคล้องกับ Shapefile (เช่น shp, dbf, shx, prj และอื่น ๆ ) และiii)โหลดเลเยอร์ที่เปลี่ยนชื่อเป็น QGIS แต่เราจำเป็นต้องทำให้เวิร์กโฟลว์ดังกล่าวเป็นอัตโนมัติ!
หากคุณดูขั้นตอนต่างๆพวกเขาจะคล้ายกับสิ่งที่ปลั๊กอิน Table Manager ทำ ดังนั้นผมดัดแปลงรหัสปลั๊กอินดังกล่าวจะเปลี่ยนชื่อ shapefiles คุณสามารถดาวน์โหลดได้จากที่นี่
คุณสามารถใช้มันในลักษณะนี้ (ก่อนอื่นให้ลองกับโครงการสำรองข้อมูลขนาดเล็กเพื่อดูว่ามันทำงานอย่างไร):
- เปลี่ยนชื่อเลเยอร์ QGIS ของคุณใน ToC ชื่อใหม่เหล่านี้จะถูกนำไปเขียนทับชื่อ Shapefiles ที่เกี่ยวข้อง
- บันทึกโครงการ QGIS ของคุณในโฟลเดอร์เดียวกันกับสคริปต์rename_shapefiles.py
- เปิดคอนโซล QGIS Python
คัดลอกโค้ดถัดไปที่นั่น:
from rename_shapes import RenameShapefiles
for lyr in iface.mapCanvas().layers():
rn = RenameShapefiles( iface, lyr )
rn.doSave()
แค่นั้นแหละ! ฉันทดสอบบน GNU / Linux, QGIS 2.6 แล้ว ลำดับของเลเยอร์ใน ToC จะแตกต่างกันไปหลังจากรันโค้ด
แจ้งให้เราทราบหากคุณมีปัญหาใด ๆ
หากคุณต้องการคำสั่งเลเยอร์ที่จะรักษาไว้ให้ถามคำถามใหม่บางทีฉันสามารถดูได้ :)