คำถามติดแท็ก qgis-processing

กรอบการประมวลผลข้อมูลเชิงพื้นที่ที่นำความสามารถในการวิเคราะห์ขั้นสูงมาสู่ QGIS

2
กำลังสร้างแผนที่จำนวนมากโดยใช้ PyQGIS ใช่ไหม
ฉันต้องทำแผนที่สายพันธุ์กระจายจำนวนมาก (ร้อย) ฉันมีไฟล์รูปร่างที่มีการแจกแจงสำหรับสปีชีส์แต่ละชนิดและสำหรับแต่ละสปีชีส์ฉันต้องการแผนที่เป็นรูปภาพ (jpg, png หรืออื่น ๆ ) ซึ่งมีชื่อสปีชีส์ที่เกี่ยวข้องตำนาน (เพื่อแยกแยะพื้นที่ของ การแจกแจงรายปีการผสมพันธุ์การผสมพันธุ์และอื่น ๆ ฉันต้องการใช้ QGIS เพื่อทำสิ่งนี้

5
วิธีการเรียกใช้อัลกอริทึม sextante นอกคอนโซล QGIS หลาม?
ฉันติดอยู่กับการพยายามหาวิธีเรียกใช้ sextante จาก python แบบสแตนด์อโลนจากการกระจาย OSGeo4W เหตุผลที่ฉันต้องการทำสิ่งนี้คือฉันรู้สึกเหนื่อยที่จะป้อนพารามิเตอร์ในกล่องโต้ตอบทุกครั้งที่ฉันต้องการทดสอบแบบจำลองจากตัวสร้างแบบจำลอง ดังนั้นนี่คือสคริปต์ python เรียกมันว่า test.py # as per http://qgis.org/pyqgis-cookbook/intro.html#using-pyqgis-in-custom-application from qgis.core import * # supply path to where is your qgis installed QgsApplication.setPrefixPath("C:/OSGeo4W/apps/qgis", True) # load providers QgsApplication.initQgis() from sextante.core.Sextante import Sextante Sextante.alglist() Sextante.alghelp("saga:slopeaspectcurvature") ที่ฉันโทรจากแบตช์ไฟล์ของฉัน @echo off set OSGEO4W_ROOT=C:\OSGeo4W set PYTHONPATH=%OSGEO4W_ROOT%\apps\qgis\python;%OSGEO4W_ROOT%\apps\qgis\python\plugins;%HOME%/.qgis/python/plugins set PATH=%OSGEO4W_ROOT%\bin;%OSGEO4W_ROOT%\apps\qgis\bin;%OSGEO4W_ROOT%\apps\qgis\plugins python …

3
วาดขอบเขตของชุดคะแนนโดยใช้ QGIS?
ฉันมีชุดของจุดที่ฉันต้องการเปลี่ยนเป็นรูปหลายเหลี่ยม ฉันลองลำเรือเว้า แต่ไม่ได้รับรูปหลายเหลี่ยมตามที่คุณเห็นด้านล่าง และเมื่อฉันใช้ Denaulay Triangulation ฉันต้องลบสามเหลี่ยมด้านนอก มีวิธีที่มีประสิทธิภาพในการทำเช่นเดียวกัน? ฉันยังลองฮัลล์นูน

2
processing.getObject () ใน QGIS 3
ดูเหมือนว่าprocessing.getObject()ไม่มีใน QGIS อีกต่อไป from PyQt5.QtCore import * from qgis.core import * #... layer = processing.getObject(layer) # -> ...module 'processing' has no attribute 'getObject' มีวิธีการใช้ใหม่get.Objectหรือไม่?

1
QGIS 2.18.10 เวอร์ชั่นใดที่รองรับ
เริ่มต้นด้วยการ QGIS 2.18.10 ไม่ได้มีพจนานุกรมที่เรียกว่าSagaAlgorithmProvider supportedVersionsก่อนหน้านี้ดูเหมือนว่านี้: supportedVersions = {"2.1.2": ("2.1.2", SagaAlgorithm212), "2.1.3": ("2.1.3", SagaAlgorithm213), "2.1.4": ("2.1.4", SagaAlgorithm214), "2.2.0": ("2.2.0", SagaAlgorithm214), "2.2.1": ("2.2.0", SagaAlgorithm214), "2.2.2": ("2.2.2", SagaAlgorithm214), "2.2.3": ("2.2.3", SagaAlgorithm214), "2.3.0": ("2.3.0", SagaAlgorithm230), "2.3.1": ("2.3.0", SagaAlgorithm230)} ตอนนี้มันก็พูดว่า: if not version.startswith('2.3.'): ProcessingLog.addToLog(ProcessingLog.LOG_ERROR, self.tr('Problem with SAGA installation unsupported SAGA version found.')) ดังนั้นฉันคิดว่าตอนนี้รองรับเฉพาะรุ่น SAGA ที่เริ่มต้นด้วย …

2
ไม่สามารถเรียกใช้อัลกอริทึม Grass ใน QGIS 2.18 บน Ubuntu 16.04
ฉันมี QGIS และ GRASS ติดตั้งผ่านที่เก็บ UbuntuGIS ถ้าฉันพยายามรันอัลกอริทึม GRASS 6 หรือ 7 ฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้: "This algorithm cannot be run :-( It seems that GRASS GIS 7 is not correctly installed and configured in your system. Please install it before running GRASS GIS 7 algorithms." ฉันตรวจสอบคำถามอื่น ๆ เกี่ยวกับปัญหานี้ แต่ส่วนใหญ่จัดการกับการติดตั้งบนระบบ Windows: "การพึ่งพาที่ขาดหายไปขั้นตอนวิธีนี้ไม่สามารถเรียกใช้ :-(" QGIS …

2
การผสานเลเยอร์เวกเตอร์ผ่าน python ใน QGIS 2.18.1
ฉันกำลังใช้รหัสต่อไปนี้เพื่อรวมเลเยอร์เวกเตอร์สองตัวเข้าด้วยกัน: def append_layers(layer1, layer2, output): from processing.core.Processing import Processing Processing.initialize() import processing.tools processing.tools.general.runalg("qgis:mergevectorlayers", layer1, layer2, output) append_layers(layer1.shp, layer2.shp, output.shp) ดูเหมือนว่าจะทำงานได้ดีใน QGIS 2.14 แต่ล้มเหลวใน 2.18.1 พร้อมกับข้อความต่อไปนี้: Error: Wrong number of parameters ALGORITHM: Merge vector layers มีบางสิ่งที่เปลี่ยนแปลงระหว่าง 2.14 และ 2.18 หรือไม่ หรือฉันแค่คิดถึงบางสิ่งที่ชัดเจนจริงๆ?

1
เงื่อนไขในตัวคำนวณฟิลด์ตัวสร้างโมเดล
ฉันต้องการตรวจสอบไฟล์เวคเตอร์ถ้ามีคอลัมน์ "แหล่งที่มา" ถ้าใช่ไม่มีอะไรให้ทำ หากไม่มีคอลัมน์ "แหล่งที่มา" ควรสร้างและเติมด้วย '0' เป็นไปได้ไหมที่จะทำผ่านตัวสร้างโมเดล

2
การพยายามใช้เครื่องมือ“ ความแตกต่าง” ให้ข้อผิดพลาด“ QgsWKBTypes 'ไม่ได้ถูกกำหนด”
ฉันกำลังพยายามแยกชั้นเวกเตอร์ที่ซ้อนกันสองชั้นและค้นหาความแตกต่างใน QGIS 2.18 ฉันพยายามค้นหาความแตกต่างกับเลเยอร์ที่มีคะแนนและบัฟเฟอร์ด้วย ทั้งคู่ให้ข้อผิดพลาดต่อไปนี้: global name 'QgsWKBTypes' is not defined See log for more details ฉันค้นหาสิ่งนี้แล้ว แต่ไม่สามารถหาทางแก้ไขได้

2
การแปลงสายเป็นรูปหลายเหลี่ยมใน QGIS จะสร้างรูปหลายเหลี่ยมแบบเศษไม้
ในขณะที่พยายามที่จะทำให้รูปหลายเหลี่ยมชั้น Polyline ใน PyQGIS ใช้ processing.runandload("qgis:linestopolygons",explode_path,polygon_path) คำสั่งในคอนโซลหลามมันไม่ได้สร้างรูปหลายเหลี่ยมที่สอดคล้องกับเส้นขอบ แต่มันจะสร้างรูปหลายเหลี่ยมเศษไม้ตามขอบโค้ง ทำไมรูปหลายเหลี่ยมไม่ถูกสร้างตามแนวเส้น? ในรูปหลายเหลี่ยมเส้นสีดำควรเป็นขอบของรูปหลายเหลี่ยมที่สร้างขึ้น มีเพียงไม่กี่ตัวเท่านั้นที่สร้างขึ้นตามขอบโค้ง (รูปหลายเหลี่ยมสีน้ำเงิน)

2
กำลังบันทึกผลลัพธ์การประมวลผลในไฟล์โดยใช้ตัวจำลอง QGIS หรือไม่
จากแบบจำลองฉันต้องการบันทึกผลลัพธ์การประมวลผลในไฟล์ ในแบบจำลองของฉันฉันมีExtract by locationอัลกอริทึม (ที่มีอินพุตแบบเวกเตอร์สองตัว) ให้ผลลัพธ์ที่สมเหตุสมผล แต่เป็นเลเยอร์ชั่วคราวซึ่งฉันต้องทำSave as...เอง ดีที่สุดฉันต้องการส่งเส้นทางไปยังแบบจำลองของฉันซึ่งผลลัพธ์ของฉันจะถูกบันทึกเป็น shapefiles (ในขั้นตอนแรก) นี่คือรูปแบบ โปรดทราบว่าเอาต์พุตเวกเตอร์ (ไฟล์) ไม่สามารถเชื่อมต่อกับผลลัพธ์การประมวลผลใด ๆ : ดังที่เห็นในภาพหน้าจอ a) เราสามารถส่งชื่อสำหรับผลลัพธ์สุดท้าย แต่ไม่ใช่ไฟล์แม้แต่ในSave selected featuresอัลกอริทึม b) ก) ข) ฉันมีความคิดที่คลุมเครือว่าจะบรรลุผลอย่างไรด้วยสคริปต์ไพ ธ อน แต่สิ่งนี้สามารถทำได้ด้วยการรวมกันของเครื่องมือที่มีอยู่หรือไม่

2
QGIS 2.16 การรวมไม่มีตัวเลือกโฟลเดอร์
ฉันได้ติดตั้ง QGIS 2.16 และสังเกตว่า Merge (เมนูเวกเตอร์> การจัดการข้อมูล) ดูเหมือนจะไม่มีตัวเลือกโฟลเดอร์อีกต่อไป นี่เป็นตัวเลือกที่อนุญาตให้คุณประมวลผล / รวมโฟลเดอร์ทั้งหมดโดยไม่ต้องโหลดเลเยอร์ในโครงการ / พื้นที่ทำงานของคุณก่อน ฉันดูการเปลี่ยนแปลงสำหรับ QGIS 2.16 - แม้ว่าเครื่องมือ fTools จะถูกแทนที่ด้วยเครื่องมือการประมวลผล แต่ฉันไม่สามารถดูได้ว่าทำไมฟังก์ชันพิเศษจึงถูกลบ

2
ใช้เลเยอร์หน่วยความจำเป็นอินพุตและ / หรือเอาต์พุตด้วย runalg หรือไม่
เลเยอร์หน่วยความจำสามารถใช้เป็นอินพุทและ / หรือเอาท์พุทที่มีRunalg ได้หรือไม่? ด้วยrunandloadฉันสามารถใช้งานได้: processing.runandload("qgis:mergevectorlayers","memory:bufferOne", "memory:bufferTwo", r"memory:merged") processing.runandload("qgis:dissolve", r"memory:merged", True, '', r"D:\PythonTesting\dissolved.shp") พารามิเตอร์ 2 และ 3 เป็นเลเยอร์อินพุตซึ่งอยู่ในหน่วยความจำแล้วและพารามิเตอร์ 3 คือเลเยอร์เอาต์พุตซึ่งถูกเขียนลงในหน่วยความจำและใช้ในเครื่องมือต่อไปนี้ (ละลาย) มันใช้งานได้ดี แต่เมื่อฉันพยายามใช้ตรรกะเดียวกันกับrunalgแล้วเลเยอร์ที่ผสานของฉันในหน่วยความจำดูเหมือนจะไม่ถูกสร้างขึ้นเนื่องจากเครื่องมือ Dissolve ไม่เคยทำงาน ตัวอย่างเช่นต่อไปนี้จะไม่ทำงาน: processing.runalg("qgis:mergevectorlayers","memory:bufferOne", "memory:bufferTwo", r"memory:merged") processing.runandload("qgis:dissolve", r"memory:merged", True, '', r"D:\PythonTesting\datenschrott\dissolved.shp") ฉันสามารถสันนิษฐานได้ว่าrunalgไม่ยอมรับเลเยอร์ที่อยู่ในหน่วยความจำหรือไม่สามารถส่งออกได้หรือไม่?

1
การกำหนดทางลัดให้กับสคริปต์ PyQGIS หรือไม่
เป็นไปได้ไหมที่จะกำหนดแป้นพิมพ์ลัดให้กับสคริปต์ (กำหนดเองหรือไม่ ... ) ของเครื่องมือประมวลผลใน QGIS? ฉันไม่พบข้อมูลใด ๆ เกี่ยวกับมัน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.