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

ปลั๊กอินซอฟต์แวร์ที่เพิ่มฟังก์ชันการทำงานให้กับแพ็คเกจ QGIS

1
ได้รับระยะทางจากเครื่องมือวัด QGIS หรือไม่
ฉันสร้างปลั๊กอินสำหรับป้อนฐานข้อมูล Spatialite ด้วยรูปแบบการป้อนข้อมูล มีสองฟิลด์ซึ่งแสดงมิติต่ำสุด / สูงสุดของวัตถุ ในช่วงเวลาที่ฉันเรียกเครื่องมือวัด ( iface.actionMeasure().trigger()) ด้วยปุ่มกด "วัด" สองปุ่มให้คลิกส่วนข้อมูลและพิมพ์ค่าด้วยแป้นพิมพ์ของฉันลงในช่อง (QLineEdit) มีความเป็นไปได้ไหมที่หลังจากฉันคลิกขวา (เสร็จสิ้นการวัด) ด้วยเครื่องมือวัดค่าจะถูกกำหนดโดยอัตโนมัติไปยังฟิลด์ (ต่ำสุดหรือสูงสุด, QLineEdit)? เครื่องมือวัดการโทร (ใช้งานได้) คลิกซ้าย: เริ่มการวัด และ 4. ในครั้งเดียว: คลิกขวาและยอมรับมูลค่ารวมของเครื่องมือวัดลงในฟิลด์ขั้นต่ำ (QLineEdit) อัปเดต 1: วันหนึ่งหลังจากถามคำถามนี้ฉันมีความคิดที่จะมีเลเยอร์ความยาวซึ่งฉันสามารถใช้เป็นเครื่องมือวัด (ST_Length (geom)) ข้อดีคือคุณสามารถควบคุมได้อย่างเต็มที่ในการจัดการและรับข้อมูลจากมัน ข้อเสียคือเลเยอร์เพิ่มเติมในโครงการ เวิร์กโฟลว์อาจเป็น: คลิกการวัด: สลับแก้ไขเปิดใช้งาน "เพิ่มคุณสมบัติ" สร้าง linestring ที่แสดงมิติขั้นต่ำของวัตถุ ยืนยันการเปลี่ยนแปลงคำนวณความยาวของการคืนความยาว (ST_Length (geom)) ยอมรับความยาวกับ QLineEdit ปิดกล่องโต้ตอบและลบการคืนค่า (ลบจาก) แต่คำถามที่แท้จริงของฉันยังคงอยู่ มีวิธีรับค่าระยะทางจากเครื่องมือวัดโดยตรงหรือไม่ …

1
วิธีเข้าถึงแอตทริบิวต์ที่ถูกลบ (ก่อนที่จะส่ง)
ฉันมีการตั้งค่าสัญญาณสำหรับเหตุการณ์การลบคุณสมบัติในเลเยอร์: self.layer.featureDeleted.connect(self.feature_deleted) เมื่อฉันพยายามคว้าคุณลักษณะจากคุณลักษณะที่ถูกลบในสล็อตข้อผิดพลาดStopIterationจะถูกส่งออกไป (นั่นคือไม่สามารถเรียกคืนคุณสมบัติ) ฉันคิดว่าฉันควรจะยังคงสามารถดึงข้อมูลคุณลักษณะจากคุณลักษณะที่ถูกลบก่อนที่การเปลี่ยนแปลงในเลเยอร์จะเกิดขึ้นได้อย่างไร มิฉะนั้นฉันไม่เห็นสิ่งที่ใช้พารามิเตอร์ fid คือ def feature_deleted(self, fid): feature = self.layer.getFeatures(QgsFeatureRequest().setFilterFid(int(fid))).next() idx = self.layer.fieldNameIndex('my_attribute') print feature.attributes()[idx] ฉันจะเข้าถึงคุณลักษณะของคุณลักษณะที่ถูกลบได้ (ก่อนที่จะมีการเปลี่ยนแปลงในเลเยอร์)

2
การเรียกปลั๊กอินการแก้ไขจากคอนโซล Python ของ QGIS
ฉันต้องการเรียกใช้ฟังก์ชั่นปลั๊กอินการแก้ไข QGIS (วิธี TIN) (Raster-> Interpolate) จากคอนโซลของงูหลาม ฉันไม่พบฟังก์ชันที่เกี่ยวข้องภายใน QGIS API หรือภายในรายการอัลกอริทึมการประมวลผล ฉันพบอัลกอริธึม SAGA Triangulation ซึ่งทำงานได้ดี แต่ช้ากว่า 5-10 เท่าและความเร็วมีความสำคัญในกรณีของฉัน ความคิดวิธีการดำเนินการใด ๆ

1
นำเข้าโมดูล GRASS และ SAGA ไปยังสคริปต์ python
ฉันใหม่ที่นี้ ฉันเป็น "สร้าง" ปลั๊กอินหลามสำหรับ qgis และฉันต้องการนำเข้าโมดูลจาก GRASS และ SAGA แต่ฉันไม่เข้าใจวิธีการทำ ปลั๊กอินที่ฉันต้องการนำเข้าคือ Kriging interpolation จาก SAGA หรือ v.surf.idw จาก GRASS หรือปลั๊กอินการแก้ไขจาก Raster qgis ฉันต้องการวิธีการแก้ไขเพื่อแปลงคะแนนในตาราง คุณสามารถช่วยฉันได้ไหม? ฉันมีข้อสงสัยอีก ฉันเรียกใช้บรรทัดเหล่านี้ในรหัสของฉัน: vectorlayer_vector = ftools_utils.getVectorLayerByName(inputLayer) Elevation = self.lineAttrib.currentText() cellSize = int(self.linePix.value()) outPath = self.inputLayerCombo3.text() output = ftools_utils.getRasterLayerByName(outPath) Processing.runAlgorithm("saga:shapestogrid", vectorlayer_vector, Elevation, 0, 0, 4, None, cellSize, output) …

2
ฉันจะสร้างและเพิ่มฟีเจอร์ให้กับเลเยอร์หน่วยความจำใน QGIS 1.9 ได้อย่างไร
ฉันมีปลั๊กอินที่ใช้งานได้ใน QGIS 1.8 ซึ่งอ่านข้อมูลจากฐานข้อมูล MSAccess และเพิ่มลงในชุดของเลเยอร์หน่วยความจำ มีการประมวลผลที่เกี่ยวข้องในระหว่างกาลดังนั้นฉันไม่คิดว่าการใช้ QGIS เพื่ออ่านโดยตรงจากฐานข้อมูลเป็นตัวเลือก ฉันต้องการย้ายจาก QGIS 1.8 เป็น 1.9 (สาเหตุหลักมาจากการปรับปรุงคุณภาพของนักแต่งเพลงการพิมพ์) ปลั๊กอินไม่ทำงานกับ API ใหม่ ฉันลองใช้วิธีการหลายวิธีที่ปรากฏในการค้นหาของ Google หนึ่งแก้ไขรหัสด้านล่าง - จากhttp://www.qgis.org/pyqgis-cookbook/vector.html#memory-providerเช่นการเพิ่มรูปทรงเรขาคณิตและคุณลักษณะให้กับดาต้าเบสเดอร์จากนั้นอัปเดตเลเยอร์ - เพื่อให้เหมาะกับ API ใหม่ที่ทำงาน เล็กน้อย แต่ไม่สามารถมองเห็นแอตทริบิวต์ได้จนกว่าฉันจะเข้าสู่โหมดแก้ไข (คล้ายกับhttp://hub.qgis.org/issues/3713 ) วิธีอื่นที่มีรายละเอียดในการตอบกลับ # 1 ของลิงค์ด้านบนเพิ่มเลเยอร์และคุณลักษณะอย่างถูกต้อง แต่ฉันไม่สามารถเพิ่มคุณสมบัติให้กับเลเยอร์ได้ ระบุว่ามันควรจะเป็นงานที่ค่อนข้างง่ายฉันหวังว่าบางคนในที่นี้จะสามารถนำเสนอตัวอย่างการทำงานของวิธีการที่ควรทำ (PS ฉันไม่ใช่โปรแกรมเมอร์มืออาชีพและการเข้ารหัสส่วนใหญ่ของฉันค่อนข้างหยาบ - ฉันยินดีต้อนรับแนวทางใด ๆ แต่ขอให้คุณแก้ตัวไม่รู้ในส่วนของฉัน) # Receivers = a list of lists …

2
จะรายงานข้อผิดพลาดของ QGIS และ QGIS-Plugin ได้ที่ไหน?
ฉันมักจะพบข้อบกพร่องใน QGIS และปลั๊กอิน ฉันต้องการถามเกี่ยวกับสิ่งนี้ทางอินเทอร์เน็ต แต่ดูเหมือนจะไม่พบที่ที่เหมาะสมในการแก้ไขปัญหานี้ มีคำแนะนำอะไรบ้าง?


7
ปลั๊กอิน QGIS: ปัญหาการนำเข้าไฟล์ (resources_rc) - ปลั๊กอินไม่โหลด - ปัญหาของ PATH
ฉันกำลังสร้างปลั๊กอิน qgis และไม่สามารถหาวิธีแก้ไขสำหรับข้อผิดพลาดนี้ได้ File "/usr/lib/python2.7/dist-packages/qgis/utils.py", line 478, in _import mod = _builtin_import(name, globals, locals, fromlist, level) ImportError: No module named resources_napoved_rc สำหรับทุกคนที่จะถามว่าฉันได้สร้างไฟล์ทรัพยากรหลามแล้ว: pyrcc4 -o resources_napoved_rc.py resources_napoved.qrc ฉันยังหาวิธีทำให้มันใช้งานไม่ได้ ฉันได้รับข้อผิดพลาดเดียวกันเสมอ ด้านบนของสคริปต์ฉันมี: import resources_napoved_rc.py ฉันใช้ไฟล์ ui โดยตรงจาก qtbuilder แนวคิดใดที่จะก้าวไปข้างหน้า? ฉันสมมติว่านี่จะต้องมีปัญหาเส้นทางบางอย่างหรือบางอย่างที่คล้ายกัน

1
จะดูคำสั่งพิมพ์ผ่าน Python Script ในขณะที่เขียนโปรแกรมเสริมสำหรับ QGIS ได้อย่างไร?
มีวิธีการใช้งานปลั๊กอินที่กำหนดเองที่สร้างขึ้นสำหรับ QGIS ที่ Python Shell สามารถปรากฏขึ้นพร้อมกันเมื่อมีการเรียกใช้ปลั๊กอินเช่นหน้าจอดีบักหรือไม่? ฉันขอให้สิ่งนี้รู้ว่ามีวิธีดูคำสั่งพิมพ์ผ่าน Python Script หรือไม่ขณะเขียนโปรแกรมเสริมสำหรับ QGIS

2
แปลงกลุ่มของคะแนนเป็นรูปหลายเหลี่ยมโดยใช้ QGIS?
ฉันมีเลเยอร์จุดอินพุตที่ถูกจัดกลุ่มเป็นกลุ่มดังนั้นฉันต้องการให้แต่ละกลุ่มของคะแนนถูกแปลงเป็นรูปหลายเหลี่ยม คำถามนี้ ( วิธีแปลงชุดคะแนนเป็นรูปหลายเหลี่ยมตามเขตข้อมูลเฉพาะใน QGIS ) ดูเหมือนจะเข้าใกล้สิ่งที่ฉันต้องการโดยไม่ได้รับคำตอบ โดยพื้นฐานแล้วฉันต้องการอัลกอริทึมใน QGIS ที่จะแปลงแต่ละกลุ่มของคะแนน (ตามฟิลด์คุณลักษณะ) ตามที่เห็นด้านล่างเป็นรูปหลายเหลี่ยม? ฉันลองใช้งาน 'Point2One' แล้วมันทำให้ฉันเห็นผลลัพธ์ที่ผิดด้านล่าง ... สำเนาข้อมูลของฉันพบที่นี่

3
วิธีการแสดงแผนภูมิถัดจากคุณสมบัติในแผนที่?
คำถามนี้มีวัตถุประสงค์เพื่อเป็นหลักในซอฟต์แวร์ QGIS แต่โซลูชันซอฟต์แวร์อื่น ๆ ทั้งหมดยินดีต้อนรับเท่าที่เป็นไปได้เพื่อให้บรรลุได้ง่ายที่สุดโดยเฉพาะอย่างยิ่งออกจากกล่อง แม้ว่าข้อ จำกัด จะเป็นแผนที่แบบคงที่ (ที่จะพิมพ์) ดังนั้นจึงไม่มีโซลูชันแผนที่เว็บแบบโต้ตอบที่สามารถใช้ได้ มีวิธีการสร้างแผนภูมิ (เครื่องมือ / ปลั๊กอินใน QGIS) สำหรับข้อมูลอนุกรมเวลา / ตารางสำหรับคะแนน (สามารถเป็นเส้น / รูปหลายเหลี่ยม) และแสดงมันถัดจากคุณสมบัติ? ฉันตระหนักถึงเครื่องมือไดอะแกรม / ฮิสโตแกรมอย่างง่าย ฉันมีความคิดที่จะโหลดชาร์ตเป็น SVG แต่นั่นหมายความว่าฉันต้องส่งออกแผนภูมิจำนวนมากก่อนแล้วจึงเชื่อมโยงเป็นสัญลักษณ์ด้วยตนเอง มีวิธีแก้ปัญหากล่องที่ลึกซึ้งกว่านี้อีกไหม? สิ่งที่ฉันพยายามจนถึงตอนนี้ดูเหมือนว่า: สิ่งที่ฉันต้องการเพื่อให้บรรลุมีลักษณะเช่นนี้:

3
ทำปลั๊กอิน QGIS หลามสำหรับทั้งรุ่น 2.x และ 3.x?
ฉันอยู่ระหว่างการโอนย้ายปลั๊กอิน QGIS python จากและQGIS 2ไปยังQGIS 3แหล่งข้อมูลต่างๆ ยังไม่ชัดเจนว่าเป็นไปได้หรือไม่ที่จะมีปลั๊กอินที่เข้ากันได้กับทั้งสองเวอร์ชันหรือหากจำเป็นต้องมีสองจุดจับสำหรับปลั๊กอินเวอร์ชัน ปัญหาที่ฉันได้รับจนถึงตอนนี้คือวิธีจัดการการนำเข้า PyQt (PyQt4 / PyQt5)?

3
ต้องเพิ่มหลายเลเยอร์อย่างรวดเร็วจากหลาย ๆ โฟลเดอร์ไปยังโครงการ QGIS
ฉันดาวน์โหลดไฟล์ซิปภาพหลายภาพ (เนื้อหาของแต่ละไฟล์คือ jp2, jpg, jpw, xml, htm และ. dbf, .prj, .sbn, .sbx, .shp, .shx) และต้องการเพิ่มภาพนี้อย่างรวดเร็ว โครงการทำงานของฉันใน QGIS 2.6.1 ฉันพยายามหลีกเลี่ยงการนำทางและเพิ่มแต่ละไฟล์แยกกัน เนื่องจากแต่ละไฟล์อยู่ในโฟลเดอร์ที่แตกต่างกันฉันจึงไม่สามารถหาวิธีเพิ่มหลายไฟล์พร้อมกันได้

3
วิธีการตั้งค่าและใช้เวิร์กสเตชัน GIS ระยะไกล (QGIS, GRASS, PostGIS)?
ฉันใช้ QGIS (และบางครั้ง GRASS และ PostGIS) ใน MacBookPro ของฉันในปี 2009 สำหรับโครงการวิทยานิพนธ์ของฉัน ฉันสงสัย (ในช่วงที่ไม่มีที่สิ้นสุดในการสรุป QGIS) ถ้าฉันสามารถตั้งค่าเซิร์ฟเวอร์เพื่อให้ฉันสามารถทำงานจากห้องสมุด / มหาวิทยาลัยโดยใช้พลังของเวิร์กสเตชันเดสก์ทอปที่บ้านเร็วขึ้น จนถึงตอนนี้ฉันเข้าใจ: ฉันสามารถเข้าถึงเซิร์ฟเวอร์ PostGIS ระยะไกลผ่าน QGIS ฉันสามารถรัน GRASS ผ่าน SSH ได้แม้กับ GUI GDAL มีไดรเวอร์ PostGIS แต่สำหรับการสืบค้นและการแทรกข้อมูลส่วนที่เหลือจะทำงานโดยเครื่องที่ออกคำสั่ง (หรือฉันผิด) การแก้ไขพื้นฐานของ PostGIS สามารถทำได้ผ่าน QGIS และฉันสามารถออกคำสั่ง SQL เพื่อทำการแก้ไขขั้นสูงเพิ่มเติมได้ สิ่งที่ฉันอยากรู้: ฉันสามารถใช้ปลั๊กอิน QGIS จากระยะไกลได้หรือไม่? VNC เป็นวิธีเดียวที่จะทำให้สำเร็จ มีเอกสารบางส่วนสำหรับ PostGIS + QGIS …

1
Gram-Schmidt การลับคมใน QGIS?
ฉันจำเป็นต้องดำเนินการแกรมชมิดท์ทะเหลา, ฉันไม่ได้มีการเข้าถึง ArcGIS หรือ ENVI เพื่อให้ได้รับการใช้QGIS มีความสามารถแบบ plug-in หรือคล้ายกันที่มีให้ในการทำการ Gram-Schmidt การลับคมใน QGIS หรือไม่? ถ้าไม่เป็นไปได้ในซอฟต์แวร์โอเพนซอร์ซอื่นหรือไม่?

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