ฉันต้องการเรียกใช้สคริปต์หลามขนาดเล็กและเรียบง่ายสำหรับ QGIS (Mac) จาก "นอก" ของ QGIS ภายนอกฉันหมายถึงในบริบทนี้ทั้งบรรทัดคำสั่ง os ปกติ (terminal.app) หรือดีกว่าโดยตรงจาก Sublime Text (text-editor) แต่ไม่แน่นอนผ่านคอนโซลงูหลาม QGIS inbuilt
ผมเคยอ่านผ่านช่องทางต่างๆเช่นการกวดวิชาhttp://www.qgis.org/pyqgis-cookbook/intro.html#python-applicationsและผมสามารถที่จะได้รับการอ้างอิงไปยังแอป QGIS แต่น่าเสียดายที่ไม่ได้ไปqgis.utils.iface
หรือสิ่งอื่นที่ลึก . ตัวอย่างรหัสขนาดเล็กนี้ควรพิมพ์ชื่อของชั้นที่ใช้งานอยู่ ... นี่คือสิ่งที่ฉันมี:
import sys
sys.path.append("/Applications/QGIS.app/Contents/Resources/python")
from qgis.core import *
import qgis.utils
print "helo" # console output: helo
QgsApplication.setPrefixPath("/Applications/QGIS.app/", True)
QgsApplication.initQgis()
print QgsApplication # console output: <class 'qgis.core.QgsApplication'>
print qgis.utils.iface # = console output: none
aLayer = qgis.utils.iface.activeLayer()
print aLayer.name()
QgsApplication.exitQgis()
โปรดอย่าตอบฉันในขณะนี้วิธีการสร้างปลั๊กอินหรืออย่างอื่น "หนัก" ฉันกำลังมองหาวิธีที่ง่ายและรวดเร็วในการถ่ายสคริปต์จากโปรแกรมแก้ไขข้อความที่สะดวกสบายให้กับ QGIS
4
แล้วฉันรอหมดสำหรับตัวเลือก ในระหว่างนี้ฉันต้องอยู่กับ2
มันซึ่งเป็นความเจ็บปวดจริงๆที่ต้องทำตลอดเวลาimport script
ตามด้วยreload(script)
และแน่นอนเปลี่ยนจากบรรณาธิการของฉันเป็น QGIS ฉันยังตรวจสอบปลั๊กอิน scriptrunner ซึ่งเป็นสัญญา แต่แล้วฉันก็ไม่สามารถไปprint "debug value"
ยังคอนโซล QGIS ได้ คุณรู้ไหมว่ามีวิธีการให้สคริปต์ scriptrunner พิมพ์อะไรบางอย่างไปยังคอนโซล QGIS หรือไม่? ขอบคุณมาก! จะรอคำตอบของคุณแล้วปิดคำถาม!