จะแก้ไขการเรียกใช้คอนโซล GDAL / OGR ใน QGIS 3.0 ได้อย่างไร


13

ใน QGIS 2.XX เครื่องมือแถบเมนูแบบหล่นลงมีกล่องโทรที่สามารถแก้ไขได้ที่ด้านล่างซึ่งคำสั่งที่ไม่พร้อมใช้งานใน gui สามารถป้อนด้วยตนเอง (โดยคลิกที่ปุ่มดินสอ) ใน 3.0 เครื่องมือแถบเมนูเหมือนกับเครื่องมือ GDAL ที่พบในกล่องเครื่องมือการประมวลผลซึ่งมีเหตุผลมากกว่า แต่ตอนนี้ฉันไม่เห็นวิธีการเพิ่มคำสั่งง่ายๆในการทำงานของเครื่องมือ ตัวอย่างที่ฉันแนบเป็นwarp (reproject)เครื่องมือฉันต้องการเพิ่มคำสั่ง " -wo CUTLINE_ALL_TOUCHED=TRUE" ฉันจะทำอย่างไร

Warp2.18.17 Warp3.0.0


อย่าคิดว่าคุณสามารถทำได้ในขณะนี้ มีคำขอคุณสมบัติสำหรับสิ่งนี้ (ฉันคิดว่าคุณเป็นคนเดียวกับที่เขียนความคิดเห็นในลิงค์หรือไม่) คุณสามารถเพิ่มตัวเลือกการสร้างแต่ไม่ใช่ตัวเลือกการวาร์ปจาก GUI
Joseph

3
ใช่นั่นคือฉัน ดังนั้นวิธีเดียวที่จะเพิ่มคำสั่งเพิ่มเติมคือผ่านคอนโซลหลาม? ดูเหมือนจะเป็นการถดถอยสำหรับ QGIS โฟกัสควรอยู่ที่ gui ฉันสามารถทำคำสั่งที่อิงกับสคริปต์ได้ง่ายขึ้นใน R
bhankerson

1
นี่คือความอัปยศร้องไห้ ฉันเห็นคำขอคุณลักษณะถูกทำขึ้นสองสามครั้งและถูกปฏิเสธ คุณอยู่ที่นี่เป็นขั้นตอนถอยหลังเข้าคลองเพราะสะดวกในการปรับแต่งคำสั่ง GDAL - ซึ่งมักจำเป็นเนื่องจากค่าเริ่มต้นมักไม่ถูกต้อง (ตอนนี้ฉันต้องการ Byte output แทน Float32 จากกระบวนการคลิป - และตอนนี้ฉันมี เพื่อทำสองขั้นตอนแทนหนึ่ง)
MappaGnosis

ความอัปยศที่จะเห็นว่าอีกหนึ่งปีต่อมาใน QGIS 3.4.2-Madeira ฉันกำลังเผชิญกับปัญหาเดียวกัน
Marco

คำตอบ:


3

น่าผิดหวังที่คุณไม่สามารถแก้ไขคำสั่ง GDAL ได้อย่างง่ายดายใน QGIS ล่าสุด ทางเลือกหนึ่งคือใช้เชลล์ OSGeo4W ที่ติดตั้งพร้อมกับ QGIS คุณสามารถใช้เพื่อเรียกใช้คำสั่ง GDAL โดยตรง


เปิดสิ่งนี้จากเมนูเริ่ม: เริ่ม> QGIS 3.x> เชลล์
OSGeo4W

ฉันเดาว่าคนที่ติดตั้งโดยใช้ตัวติดตั้งแบบ QGIS เท่านั้นแทนที่จะใช้ OSGeo4W ไม่มีสิ่งนี้ให้ใช้งานได้ (ฉันไม่แน่ใจ)
foobarbecue

2

สิ่งนี้สามารถทำได้โดยใช้ Python console

คัดลอกแรก (หรือเขียน) คำสั่ง GDAL และแก้ไขในโปรแกรมดูข้อความ ตัวอย่างเช่น: gdaldem hillshade C:/MyInputFile.tif C:/MyOutputFile.tif -of GTiff -b 1 -z 1.0 -s 1.0 -az 315.0 -alt 45.0 -multidirectionalที่ที่เราต้องการลบ-az 315.0(ไม่สามารถทำได้ในอินเทอร์เฟซ ... )

จากนั้นเปิดคอนโซล Python และพิมพ์:

import subprocess

cmd = "gdaldem hillshade C:/MyInputFile.tif C:/MyOutputFile.tif -of GTiff -b 1 -z 1.0 -s 1.0 -alt 45.0 -multidirectional"

subprocess.run ([x for x in cmd.split(" ") if x != ""])

คำสั่งcmdจะต้องอยู่ในเครื่องหมายคำพูด "" โปรดทราบว่าคุณจะต้องโหลดไฟล์ที่สร้างขึ้นด้วยตนเอง

ฉันยอมรับว่าการปิดใช้งานการแก้ไขคำสั่ง gdal เป็นขั้นตอนถอยหลังเข้าคลอง - หวังว่าคำสั่งจะได้รับการใช้งานในเวอร์ชันในอนาคต


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