Projektmakron i QGIS

På QGIS Sveriges kanal på Slack så dök frågan upp om det gick att skicka med en QGIS inställning om att ignorera teckenkodning för shapefiler i en projektfil.

Vid första anblick så verkade det inte alls fungera, men efter lite envist efterforskande så…

Inställningar i QGIS finns på programnivå, vilket inkluderar inställningen för att ignorera teckenkodning för shapefiler:

Skärmbild_2017-03-04_15-35-11.png

Dessa sparas lokalt på datorn och skickas inte med i projektfiler. Inställningarna går dock att läsa och ändra via Python konsolen, så lösningen heter Python Makro.

skarmbild_2017-03-04_15-32-13

Det går att definiera kod som körs när projektfilen öppnas, sparas eller stängs ner. Denna kod, till skillnad från QGIS programinställningar, lagras i projektfilen och flyttas därmed med när projektfilen öppnas på en annan plats.

from PyQt4.QtCore import QSettings

def openProject():
    s = QSettings()
    s.setValue('/qgis/ignoreShapeEncoding', False)

def saveProject():
    pass

def closeProject():
    pass

Det gäller dock att man ser till att makrot också körs när projektet öppnas.

VirtualBox_QGIS 3.X Master_04_03_2017_15_59_52.png

I QGIS så kommer det upp en varning av det slag som visas i bilden ovan, där man kan välja ”Aktivera makron”, vilket är en förutsättning för att skriptet skall köras.

Skärmbild_2017-03-04_15-39-08.png

När jag kör detta på Linux med QGIS 2.18.4 så hjälper det inte att klicka på ”aktivera” i dialogen. Skriptet körs inte i alla fall. Det enda sättet är att ställa in ”Endast för den här sessionen” eller ”Alltid” i inställningarna för att ”Aktivera makron” i systeminställningarna.

Om det fungerar på samma sätt i Windows eller OS X får ni själva kontrollera. När jag provar med QGIS ”Master” (3.0) så fungerar det som jag tycker att det borde när ”aktivera” väljs i varningsrutan, så det är säkert bara en bugg i 2.18.4.

 

Advertisements

Taggar:

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s

%d bloggare gillar detta: