แปลง. shp เป็น. gpx โดยใช้ QGIS หรือไม่


34

ฉันต้องการแปลง. shp เป็น. gpx

ใช้ GIS ฉันเปิด shapefile และพยายาม "บันทึกเป็น" gpx แต่ให้ข้อผิดพลาด OGR:

การสร้างฟิลด์ ObjectId ล้มเหลว (ข้อผิดพลาด OGR: ฟิลด์ชื่อ 'ObjectId' ไม่ได้รับการสนับสนุนใน GPX schema ใช้ตัวเลือกการสร้าง GPX_USE_EXTENSIONS เพื่ออนุญาตการใช้องค์ประกอบ)

ฉันจะแก้ไขข้อผิดพลาดนี้ได้อย่างไร?


ฉันลองสิ่งนี้ในพีซีเครื่องอื่นที่ใช้ระบบปฏิบัติการเดียวกันและใช้งานได้! Andre Joost ถูกต้อง! ฉันยังไม่รู้ว่าทำไมจึงทำงานที่นี่และไม่ทำงานในพีซีเครื่องอื่น ฉันควรติดตั้งไดรเวอร์ GPX หรือไม่? : | ขอบคุณAndré Joost!
ePascoal

ในสถานการณ์เช่นนั้นข้อผิดพลาดที่กล่าวถึงพารามิเตอร์หรือการตั้งค่าที่คุณไม่คุ้นเคยกับการตรวจสอบที่เกี่ยวข้องGDALหรือOGRรูปแบบหน้าสำหรับคนขับรถที่คุณใช้เช่นGPX ในบางสถานการณ์คุณไม่ต้องการใช้ตัวเลือกที่อาจทำให้ข้อมูลของคุณเสียหาย กรณีในจุดที่คุณจะไม่ต้องการที่จะ indiscriminantly ใช้-skipfailuresในogr2ogrโดยไม่ต้องค้นคว้าทำไมมันล้มเหลวในครั้งแรก
elrobis

คำตอบ:


30

ทำในสิ่งที่คุณบอก: ในData sourceฟิลด์ให้ป้อน

GPX_USE_EXTENSIONS=YES

หรือทำเครื่องหมาย "ข้ามการสร้างแอททริบิวต์" ด้านล่าง (หรือตั้งชื่อเป็นภาษาของคุณ)

ในLayerฟิลด์คุณอาจป้อน

FORCE_GPX_TRACK=YES

เพื่อรับแทร็กแทนเส้นทาง


ขอบคุณมันใช้งานได้จริง แต่เมื่อฉันแปลง shp เป็น gpx ฉันทำฟิลด์ ID ของฉันหาย ฟิลด์ gpx ทั้งหมดของฉันเป็นโมฆะ ฉันจะสอดคล้องกับช่อง "id" (ไฟล์ shp) ของฉันกับ "name" (ไฟล์ gpx) ได้อย่างไร
ePascoal

5
ฉันกลัวว่านี่จะเป็นไปไม่ได้ในการส่งออก มันเป็นไปได้กับ ogr2ogr.exe จากแพ็คเกจ gdal: ogr2ogr -f GPX -dsco GPX_USE_EXTENSIONS = NO shpexport.gpx D: \ path \ to \ your \ test.shp -lco FORCE_GPX_TRACK = ใช่ "
AndreJ

2
คุณสามารถใช้ปลั๊กอินตัวจัดการตารางเพื่อเปลี่ยนชื่อฟิลด์ id ในรูปร่างไฟล์เป็น "ชื่อ" ก่อนที่จะส่งออกและเปลี่ยนกลับภายหลัง หากจำเป็นคุณต้องเพิ่มpyqgis.org/repo/contributedในรายการที่เก็บของคุณ
AndreJ

1
ฉันพยายามเปลี่ยนชื่อฟิลด์ id ใน shapefile เป็นชื่อก่อนการส่งออก แต่ไม่ทำงาน ฉันค้นหาแอปพลิเคชันที่เพิ่มแอพหลามชื่อ PostGPS แต่ไม่สามารถใช้งานได้ ฉันลองกับ ogr2ogr โดยใช้สคริปต์ของคุณด้วยไม่ประสบความสำเร็จ: / ฉันทำอะไรผิดพลาด มีวิธีแก้ปัญหาอื่น ๆ ที่เป็นไปได้หรือไม่
ePascoal

แปลกมันทำงานที่นี่ คุณต้องตั้งค่า "GPX_USE_EXTENSIONS = YES" ในช่องด้านบนของกล่องโต้ตอบบันทึกเป็น ด้วยช่องทำเครื่องหมายมันไม่ทำงาน สำหรับ ogr2ogr คุณต้องใช้ชื่อเล่นไม่จำเป็นต้องเหมือนกับชื่อรูปร่างไฟล์
AndreJ

1

หรือคุณสามารถลองขั้นตอนต่อไปนี้:

  1. เปิดไฟล์ SHP ของคุณด้วย QGIS
  2. เลือกเลเยอร์ SHP ของคุณ
  3. เลเยอร์> บันทึกเป็น ... > GPX

1

เคล็ดลับง่ายๆอย่างหนึ่งที่ใช้ได้ผลกับเรา ในไฟล์ csv หลักฟิลด์แรก (ID / ฉลาก) ควรมีชื่อว่า 'name' จากนั้นนำเข้าไฟล์นั้นและบันทึกเป็น. gpx


0

คุณยังสามารถใช้ DNRGarmin ได้จากแผนกทรัพยากรธรรมชาติของ Minnisota เป็นเครื่องมือฟรีและช่วยให้คุณสามารถนำเข้าและส่งออกข้อมูล GPS ได้มากมาย


0

คุณสามารถบังคับ:

GPX_USE_EXTENSIONS=YES

ตามที่ระบุไว้ข้างต้น อย่างไรก็ตามหากคุณไม่เข้าใจหรือจัดการการคาดการณ์ของคุณคุณจะพบกับปัญหาเพิ่มเติม คุณจะพบข้อผิดพลาดในข้อมูล - ไม่แน่ชัดในจุดหรือแทร็กถ้า CRS ของคุณแตกต่างจากที่คาดการณ์รูปร่างของคุณหรือวิธีการฉายเวิร์กสเปซของคุณ ต้องการ WGS84 สำหรับหน่วย GPS

ทางออกที่ดีที่สุดที่ฉันพบคือเลือก "Reproject layer" จากกล่องเครื่องมือการประมวลผลของคุณ สิ่งนี้ช่วยให้คุณมีตัวเลือกในการแปลงหลายเลเยอร์ปฏิเสธข้อมูลอย่างถูกต้องและบันทึกเป็นไฟล์ gpxReproject เลเยอร์เป็น gpx

ปัญหาเดียวที่ฉันยังไม่ได้เรียนรู้ที่จะแก้ปัญหาก็คือวิธีเก็บรักษาฉลากไว้ ฉันหวังว่าบางคนอาจรู้วิธีหรือมีเคล็ดลับในการทำเช่นนี้ - ดูเหมือนจะไม่ใช่ตัวเลือก ฉันต้องใช้ซอฟต์แวร์ Garmin BaseCamp ที่ clunky เพื่อคลิกและแก้ไขป้ายกำกับทีละรายการหรือไปที่รหัส gpx และพิมพ์รหัสด้วยตนเอง - ทั้งสองใช้เวลานาน

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