Efter veckans inlägg är det ganska tydligt att Python är ett programmeringsspråk som är väldigt användbart inom geosupport.
Oavsett om man är en etablerad specialist på GIS med uppgifter inom kartografi, analys och ”what ever”, eller sitter i skolbänken och lyssnar på föreläsningar om betydelsen av ”koroplet symbolik” eller skillnaden mellan 7- och 3-parameters transformationer, så kan man ha stor glädje av ett, eller två, programmeringsspråk.
Att Python är ett av dessa två språk man skall satsa på, är självklart. Grundläggande Python kan man ha stor nytta av i sig, vilket jag visat i veckans inlägg. Att dessutom såväl QGIS som ArcGIS (med flera program) kan expanderas med hjälp av Pythonskript gör inte kunskaperna mindre värdefulla. Från och med ArcGIS 10.3 så går det exempelvis att tillverka en ”Python Toolbox”, som är tilläggsfunktionalitet helt skriven i Python.
För såväl QGIS som ArcGIS så innebär det att man behöver lära sig ytterligare programspecifika koder för att exempelvis lägga till data i ett lager, men det är inget speciellt konstigt eller ovanligt med det. ArcPy och PyQgis är bindningar som tillför funktionalitet kopplad till programmen, vilka importeras precis på samma sätt som andra bibliotek.
Skall man sedan lära sig ett språk till så kan man ju fundera på vad det skulle vara. Är man ”hard core” och vill programmera ”på riktigt” så är det nog C++ man skall satsa på! Är man mer ”normal” så skulle jag säga att JavaScript är det man skall lära sig.
Med JavaScript, tillsammans med HTML/CSS, så kan man skapa alla tänkbara typer av webbaserade produkter med exempelvis kartor. Ramverk som OpenLayers och Leaflet är därmed tillgängliga som ”enkelt” gör det möjligt att skapa allt från enkla till mycket mera avancerade webbkartor.
För ”GeoNinjan” blir därför Python och JavaScript de programmspråk (skriptspråk) som jag anser att man kommer ha absolut mest nytta av.
Hur skall man då lära sig dessa?
Personligen har jag aldrig gått en enda kurs i vare sig Python eller JavaScript, men det kan vara en väldigt bra start för att få ”ramverket” presenterat på ett bra sätt.
Annars finns det massor med resurser på nätet och eftersom det är omöjligt att kunna allt utantill, så blir det väldigt mycket ”googling” när man stöter på problem. Böcker är ett annat bra sätt att lära sig, men kanske framför allt att ha som referens i specifika fall (ArcGis Python, QGIS Python, etc). Det viktiga är att BÖRJA! Ta något enkelt, testa, och utveckla efter hand. Förvänta dig inte att du skall skapa tillägg för ArcGis eller QGIS första dagen, även om det inte är omöjligt med lite tålamod.
Hej, Klas. Tack för en intressant blogg. Jag brukar läsa alla dina inlägg och lär mig mycket här. Har du några bra URL:er med introduktioner till Pythonprogrammering? Jag har letat en del men hittar ingen bra ingång.
Tack igen! Peter
Det finns massor. Om de är bra eller dåliga beror delvis på de egna förutsättningarna. På nätet kan du börja kolla Hitchhikers Guide to Python, och som bok gillar jag Head First Python.
Tack för snabbt svar. Den hade jag inte kollat, börjar där!
Peter, kolla gärna in Alexeys blogg också, en hel del avancerad GIS-programmering inom bl.a. Python!
https://tereshenkov.wordpress.com/ var länken (Klas, redigera gärna)
Prima, jag kollar!
Värt att nämna är kanske också A Byte Of Python:
http://python.swaroopch.com/
https://www.gitbook.com/book/swaroopch/byte-of-python/details
Tack för alla tips!