มีฟังก์ชั่นอัตโนมัติใน QGIS เพื่อทำแพ็คเกจไฟล์ทั้งหมดในโครงการเพื่อการถ่ายโอนหรือไม่?


35

ในโครงการของฉันฉันใช้ geodata จากไดเรกทอรีต่าง ๆ มากมาย ตอนนี้ฉันต้องการมอบโครงการ QGIS ให้กับเพื่อนร่วมงาน (เช่นในแผ่นซีดี)

เป็นไปได้หรือไม่ที่จะคัดลอกรูปร่างจากไดเรกทอรีต่าง ๆ ไปยังหนึ่งไดเรกทอรีโดยอัตโนมัติ


1
ตั้งแต่วันที่ 2016-02-05 ปลั๊กอิน QConsolidate ทำงานอย่างถูกต้องกับ Shapefiles, tif rasters และ (!) Arc Coverage อย่างไรก็ตามชั้นเรียนคุณลักษณะฐานข้อมูลไฟล์ทางภูมิศาสตร์ (ตามจุด) จะไม่ถูกคัดลอกไปยังโฟลเดอร์เอาท์พุท
Stu Smith

คำตอบ:


44

คุณกำลังมองหาปลั๊กอินQConsolidateซึ่งทำงานได้ดีมาก มันจะถ่ายโอนทุกอย่างไปยังไดเรกทอรีเดียวและเขียนไฟล์โครงการ. QGS (ไฟล์ XML) อีกครั้งเพื่อชี้ไปยังตำแหน่งแหล่งที่มาใหม่


QConsolidate ยังคงอยู่ในรายการทดสอบ - คุณจะต้องเปิดใช้งาน "แสดงปลั๊กอินทดลอง" ในกล่องโต้ตอบการตั้งค่า

อย่างไรก็ตาม - มันใช้งานได้ดีมาก หมายเหตุ:

  • คุณต้องบันทึกโครงการที่คุณกำลังดำเนินการอยู่ก่อนที่จะพยายามรวมเข้ากับที่อื่น
  • รูปแบบผลลัพธ์จะเป็นไฟล์โครงการ (.QGS) พร้อมกับโฟลเดอร์ที่เรียกว่า 'เลเยอร์' ที่ (แปลกใจ!) มีเลเยอร์
  • QConsolidate จะแปลงเลเยอร์ฐานข้อมูลเป็นรูปร่างไฟล์และเขียนไฟล์โครงการใหม่เพื่ออ้างถึงไฟล์รูปร่างใหม่
  • ในขณะที่บ่อยครั้งที่คุณอาจต้องการแบ่งปันโครงการที่รวมอยู่ในไดรฟ์ภายนอก / นิ้วหัวแม่มือบันทึกไว้ในฮาร์ดไดรฟ์ในเครื่องก่อนเนื่องจากการดำเนินการเขียนจำนวนมากจะทำให้สิ่งต่าง ๆ ช้าลงจริง ๆ ถ้าคุณพยายามรวมเข้ากับสื่อช้าโดยตรง

ขอบคุณมาก. QConsolidate เป็นสิ่งที่ฉันกำลังมองหา
Hendrik Pehlke

1
แค่มองหาคำตอบสำหรับปัญหาเดียวกัน ฉันเดาด้วยปลั๊กอิน Qconsolidate และ relocator หัวข้อที่สามารถมองเห็นได้เป็น anwered แต่: ฉันหวังว่าการพัฒนา relocator จะดีขึ้นเพราะ QConsolidate ดูเหมือนจะเกือบจะตายแล้ว :( ไม่ใช่คนเดียวในรอบ 2 ปีที่หน้า gitub
Martin

20

ฉันเพิ่งทดสอบปลั๊กอินสามตัวที่พยายามทำสิ่งที่คุณถามในไฟล์โครงการด้วยรูปแบบไฟล์ที่หลากหลาย นี่คือผลลัพธ์:

ปลั๊กอินที่ทดสอบมีดังนี้:

  • QConsolidate 0.2.1
  • QPackage 1.3
  • relocator 0.9

การทดสอบรันบน QGIS 2.18.14 64 บิตบน Windows 10

ปลั๊กอินทั้งสามจัดการรูปร่างของไฟล์โดยไม่มีปัญหาย้ายข้อมูลไปยังไดเรกทอรีเป้าหมายและสร้างโครงการที่อ้างอิงสำเนาโลคัลของชุดข้อมูล

QConsolidate

  • FileGDB: ไม่ได้คัดลอกหรือแปล (การสูญเสียข้อมูล) ไฟล์โครงการยังคงอ้างอิงเลเยอร์
  • Spatialite: แปลเป็น SHP
  • Geopackage: คัดลอกโดยไม่มีการแปล
  • GeoTiff: คัดลอกเหมือนเดิม

QPackage

  • FileGDB: แปลเป็น SHP
  • Spatialite: แปลเป็น SHP
  • Geopackage: แปลเป็น SHP
  • GeoTiff: คัดลอกเหมือนเดิม

Relocator

  • FileGDB: แปลเป็น SHP, เส้นทางที่ไม่ถูกต้องในไฟล์โครงการ
  • Spatialite: แปลเป็น SHP เส้นทางไม่ถูกต้องในไฟล์โครงการ
  • Geopackage: แปลเป็น SHP, เส้นทางที่ไม่ถูกต้องในไฟล์โครงการ
  • GeoTiff: คัดลอกเหมือนเดิม

จากสามข้อนั้น QPackage นั้นทำงานได้ดีที่สุด ไม่มีการทดสอบการเชื่อมต่อฐานข้อมูลและเลเยอร์บริการเว็บ


คำตอบที่ดีเลิศ - กำลังคิดที่จะอัปเดตของฉันในทำนองเดียวกันและพบสิ่งนี้ คุณมีประสบการณ์อะไรบ้างในไฟล์. QGS ที่เขียนใหม่เอง? ประสบการณ์ครั้งสุดท้ายของฉันกับ QConsolidate เมื่อไม่นานมานี้คือการให้ไดเรกทอรีของข้อมูลและไฟล์ QGS ที่มีรูปแบบไม่ถูกต้อง
Simbamangu

ในความซื่อสัตย์ทั้งหมดฉันไม่ได้ใช้ปลั๊กอิน แต่จะแก้ไขสคริปต์เพื่อคัดลอกไฟล์ QGS ตามที่ต้องการ คำตอบนี้อยู่บนพื้นฐานของการทดสอบสำหรับลูกค้าที่ฉันคิดว่าจะเป็นประโยชน์มากขึ้น
Andy Harfoot

ฉันใช้ QPackage และใช้งานได้ดีทีเดียว ฉันจะเป็นตัวเลือกอื่น แต่ฉันมีความสุขกับการแก้ปัญหาในขณะนี้ ...
เปาโล Martinho

6

ฉันไม่รู้เกี่ยวกับวิธีการใน QGIS เอง แต่ไฟล์โครงการ (.qgs) เป็นเพียงไฟล์ข้อความ ดังนั้นวิธีดั้งเดิม แต่มีประสิทธิภาพคือการคัดลอกทุกสิ่งด้วยตนเองลงในไดเรกทอรีเดียวจากนั้นเปลี่ยน<datasource></datasource>แท็กในไฟล์. qgs โดยใช้การค้นหาและแทนที่หรือการแสดงออกปกติเพื่อชี้ไปที่ไดเรกทอรีใหม่

หากคุณมีไฟล์ / ไดเรกทอรีที่แตกต่างกันจำนวนมากตัวเลือกหนึ่งคือการทำให้เป็นอัตโนมัติในไพ ธ อนโดยค้นหาแต่ละแท็กในไฟล์. qgs คัดลอกแต่ละไฟล์ที่เกี่ยวข้องด้วยชื่อนั้นไปยังไดเรกทอรีจากนั้นแทนที่. qgs แท็กด้วยไดเรกทอรีใหม่


4

ขณะนี้มีปลั๊กอินตัวย้ายตำแหน่งใหม่อีกด้วย (ทำเครื่องหมายว่าเป็นการทดลองเช่นกันในขณะนี้) ให้โอกาสคุณในการบันทึกเลเยอร์ทั้งหมดด้วยไฟล์โครงการลงในไดเรกทอรีเดียวหรือแม้แต่ในไฟล์ zip

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.