I QGIS går det att koppla ”kommandon” till objekt i ett vektorlager. Det jag framför allt använt detta till är att länka till en bild, eller visa information på en hemsida. Men hur gör man, och går det att göra mer saker?
Jag har skapat ett enkelt punktlager med några få attributfält. Ett nummer, ett namn och en länk till en bild på Internet.
När man öppnar lageregenskaperna så finns där en flik som heter ”Kommandon”.
Från början är det tomt i listan, men om man klickar på ”Skapa standardkommando” så läggs det till ett antal olika exempel. Det finns tre typer av kommandon nämligen ett ”generiskt” samt ett för pythonkommandon och ett för att öppna en fil eller sökväg. Dessutom så finns det ett för varje operativsystem (Linux, Mac OS, Windows) som är för specifika operativsystemkommandon, men dessa hoppar jag över här.
Ett generiskt kommando skulle kunna vara något som man skriver in i terminalen eller vid kommandoprompten. I exemplen så skrivs ett attribut ut i ett fall och i ett annat så körs ”ogr2ogr” kommandot med attributanpassade inställningar. Om det skall presenteras något resultat så görs det i ett dialogfönster.
Pythonkommandon kräver en viss miljö, därför så finns det en speciell typ för detta. Här har man full tillgång till hela pythonmiljön.
Att ”öppna” filer eller sökvägar anpassar sig till filformat eller typ av url. Är det en http-adress så öppnas länken i standardwebbläsaren, medan om det är en pdf, så öppnas filen med Adobe Reader (eller det som är inställt som standard för denna filtyp).
För att köra ett kommando så använder man ”kommandoverktyget”.
Jag har märkt att det i bland inte fungerar om man inte först klickar på ”ned-pilen” och väljer kommando, även om man bara har ett.
När man valt kommando så kan man klicka på ett objekt med markören. Detta kör det angivna kommandot anpassat med de objektinställningar som är gjorda.
Jag har gjort en anpassning så att ett kommando öppnar webbläsaren och söker efter värdet i fältet ”namn” med Google.
Jag har även skapat ett kommando som öppnar den bild som jag angivit sökvägen till i ett attribut.
Med styrkan i Python så går det att göra väääldigt avancerade kommandon. Varför inte skapa en pdf-utskrift baserad på ett förgjord layout centrerad kring markerat objekt. Det går att generera en JSON sträng som läggs i urklippshanteraren. Generera en rapport med information om objektet som öppnas i ordbehandlaren. Det finns i princip inga gränser för vad som är möjligt att göra.
Hej!
Om man bara vill öppna en ”mapp” i utforskaren – hur gör man då? Jag har lyckats få till att en pdf kan öppnas i min pdf läsare – men med samma upplägg för en mapp så öppnas den aldrig upp i utforskaren.
Det finns antagligen ingen ”default” programvara för att öppna en katalog.
Byt till ”Python” i uttrycket och använd exempelvis:
import webbrowser
webbrowser.open('file://[%url%]')
Detta ”bör” öppna sökvägen med din filhanterare, men om du är på MacOS eller Linux så kanske det är din webbläsare som öppnar sökvägen i stället.