QGIS ส่งออกแอตทริบิวต์ในไฟล์ KML


12

นี่คือสิ่งที่ฉันกำลังทำ:

  1. สร้างเลเยอร์โดยอัปโหลดรูปร่างไฟล์ลงใน QGIS
  2. เลือกคุณสมบัติของไฟล์นั้น
  3. ส่งออกแอตทริบิวต์ที่เลือกด้วยช่องทำเครื่องหมาย "บันทึกคุณสมบัติที่เลือกเท่านั้น" เมื่อฉันบันทึกไฟล์

ฉันต้องการส่งออกชื่อที่สอดคล้องกับรูปหลายเหลี่ยมแต่ละอัน น่าเสียดายที่เมื่อฉันบันทึกเป็นไฟล์ KML และเปิดใน Google แผนที่ของฉันฉันสามารถเห็นขอบเขตรูปหลายเหลี่ยมเท่านั้นดังนั้นฉันต้องตั้งชื่อพวกเขา ข้อมูลอยู่ในคอลัมน์ในตารางแอตทริบิวต์


เกี่ยวกับปัญหาเขตข้อมูลบางอย่างที่ไม่ปรากฏในการส่งออกฉันพบว่าเหตุใดบางฟิลด์จึงไม่ปฏิบัติตาม: เนื้อหาของพวกเขาเป็นโมฆะ ฉันใส่ 0 ลงในฟิลด์ทั้งหมดของฟีเจอร์เดียวเท่านั้นและฟิลด์ที่ตรวจสอบทั้งหมดถูกส่งออกเป็นผลสำเร็จและตอนนี้แสดงในตารางแอตทริบิวต์ปลายทาง! ดังนั้นเซลล์ข้อมูลส่วนใหญ่จึงสามารถเป็น NULL ได้ แต่ถ้าอย่างน้อยหนึ่งคุณลักษณะนั้นมีค่าในฟิลด์เฉพาะมันจะถูกส่งออก
Olivier

คำตอบ:


16

ในรุ่นที่ใหม่กว่า (ฉันใช้ QGIS 2.18.9 ) หากคุณคลิกขวาที่เลเยอร์ -> "บันทึกเป็น ... " คุณสามารถสลับ " เลือกเขตข้อมูลเพื่อส่งออกและตัวเลือกการส่งออก " ที่นั่นคุณสามารถเลือกฟิลด์ทั้งหมดที่คุณต้องการส่งออก

ป้อนคำอธิบายรูปภาพที่นี่

ทางเลือก: ในหน้าต่างบันทึกเป็น - เลื่อนลงไปที่ "ตัวเลือกแหล่งข้อมูล" คุณสามารถเพิ่มชื่อฟิลด์ที่เลือกลงใน "คำอธิบายฟิลด์" หรือ "ชื่อฟิลด์" ตัวอย่างเช่นถ้าคุณตรวจสอบฟิลด์ "ABC123" และคุณป้อน "ABC123" ใน NameField ข้อมูล ABC123 จะมี "ชื่อ" เป็นชื่อคอลเลกชันในเลเยอร์ชุดส่งออก


13

ฉันพบวิธีแก้ไขปัญหาของฉันแล้วและต้องการแบ่งปัน

ฉันจัดการเพื่อส่งออกคุณลักษณะ (สูงสุดสอง) ในหน้าต่าง "บันทึกเป็น" เมื่อบันทึกเลเยอร์เวกเตอร์

แม่นยำยิ่งขึ้นในส่วน "ตัวเลือกแหล่งข้อมูล" ฉันมี:

  • ตั้งค่าเป็น "relativeToGround" "Altitude Mode"
  • เขียนชื่อของคุณลักษณะที่ฉันต้องการส่งออกในช่อง "คำอธิบายฟิลด์"
  • เขียนชื่อของคุณลักษณะที่ฉันต้องการส่งออกในฟิลด์ "NameField"

คุณสามารถส่งออกได้สูงสุดสองรายการด้วยวิธีนี้ หากคุณต้องการมากกว่าที่คุณควรหาวิธีอื่น

ที่นี่คุณสามารถดูฟิลด์ที่คุณต้องกรอกเมื่อส่งออกไฟล์ KML


2

สกีมา kml xml ไม่มีแท็กสำหรับการติดฉลากคุณลักษณะรูปหลายเหลี่ยมเฉพาะเครื่องหมายบอกตำแหน่ง = คะแนน วิธีแก้ไขปัญหาสำหรับการทำเช่นนี้คือการสร้างจุดเลเยอร์ใหม่จากรูปหลายเหลี่ยมเลเยอร์และในบันทึกเวกเตอร์เลเยอร์เป็นกล่องโต้ตอบกำหนดเขตข้อมูลการติดฉลากในกล่องข้อความ NameField เมื่อคุณมี kml ทั้งสองแบบใน GE ให้เลือกไฟล์> เปิดเพื่อเพิ่มทั้ง kml ใน

หรือคุณสามารถแก้ไขรูปหลายเหลี่ยม kml ​​/ xml ในตัวแก้ไขข้อความและเพิ่มด้วยตนเองในแท็กMultiGeometryสำหรับแต่ละคุณสมบัติดูลิงค์ด้านล่าง:

การเพิ่มป้ายกำกับให้กับรูปหลายเหลี่ยม


2

ฉันมีปัญหาเดียวกันกับเลเยอร์ที่ประกอบด้วยเวกเตอร์ที่ฉันต้องการแสดงใน Google Earth พร้อมคุณลักษณะ ฉันพบว่าฉันต้องการบันทึกเป็น ClampToground จากนั้นใน "ตัวเลือกแหล่งข้อมูล" ให้ใส่ชื่อของเขตข้อมูลที่คุณต้องการเป็นชื่อที่แสดงหลักภายใต้ "NameField" เว้นว่าง "ฟิลด์คำอธิบาย" บันทึกไว้อย่างนั้นใน Wein และฟิลด์ทั้งหมดที่มีข้อมูลปรากฏขึ้นในตารางใน Google Earth


2

Google Earth จะติดป้ายรูปหลายเหลี่ยมถ้าคุณทำตามเส้นทางที่ง่ายนี้: ใน "บันทึกเลเยอร์เวกเตอร์เป็น" และภายใต้การเข้ารหัสเลือกรายการแบบเลื่อนลงที่ "เลือกฟิลด์ที่จะส่งออกและตัวเลือกการส่งออก" จากนั้นทำเครื่องหมายในช่องถัดจากฟิลด์ที่คุณต้องการส่งออก Google Earth จากนั้นเลือก "ClampToGround" และใต้ข้อความที่ลบออกจาก "DescriptionField" และพิมพ์ชื่อที่แน่นอนของฟิลด์ (ตรวจสอบด้านบน) เป็น "NameField" ที่คุณต้องการในรายการ Google Earth แบบเลื่อนลง

ฟิลด์ที่คุณเลือกสำหรับ NameField จะปรากฏในรายการรูปหลายเหลี่ยมใน Google Earth และเมื่อคุณเลือกรูปหลายเหลี่ยมฟิลด์อื่น ๆ จะปรากฏในกล่องป๊อปอัป


1

Google ไม่ติดป้ายกำกับรูปหลายเหลี่ยม แต่เป็นป้ายกำกับคะแนน ในการที่จะมีเลเบลใน google earth สำหรับคะแนนคุณต้องกรอกชื่อคอลัมน์ (ของตารางคุณลักษณะของคุณใน QGIS) คุณต้องการเข้าไปใน NameField ในเมนูบันทึกเป็นจากเลเยอร์ภายใน QGIS


-1

วิธีที่ดีที่สุดในการส่งออกไปยัง kml ใน qgis คือการใช้ปลั๊กอิน mmqgis https://plugins.qgis.org/plugins/mmqgis/

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