Etikettarkiv | ArcGIS

ArcGIS stilar till OGC/QGIS

Under den svenska användarträffen för QGIS så kommer ett av diskussionsämnena med tillhörande workshop att vara konvertering av olika öppna datas stilar till öppna stilformat.

Detta är ett bekymmer då dessa öppna data i huvudsak är stilsatta med ägda format som inte kan läsas av exempelvis OGC servrar eller QGIS.

Under användarträffen så kommer sannolikt en av slutsatserna att bli att man behöver skapa ”kopior” på befintliga stilar med exempelvis QGIS. Frågan är om detta är det mest optimala, eller om det finns alternativ. Läs mer…

ArcGIS -> QGIS

Att byta från ArcGIS till QGIS är inte ett beslut man skall bagatellisera. I det här inlägget så kommer jag inte att komma med svar eller rekommendationer på om du eller din organisation skall ta detta steg.

Jag kommer dock att peka på en del saker man måste överväga, även om detta inte på några sätt är heltäckande, då varje tillämpning har sina speciella förutsättningar.

Jag kommer även att hänvisa till några källor där man jämför de båda programmen och beskrivningar/erfarenheter från de som faktiskt gjort motsvarande byten.

1. Skälet

Det naturliga skälet att byta kan man tro är kostnader. ArcGIS kostar en del för licensen medan QGIS är gratis. Du får sedan faktiskt betala för professionell support oavsett om du använder ArcGIS eller QGIS, så där är det ingen större skillnad. Att göra ett byte innebär dock att ganska mycket måste göras om och en bra support är nödvändig för att ett byte skall fungera smidigt. I ett planerat byte så måste man även planera för mer eller mindre omfattande utbildning av användare och egen supportpersonal.

Det behöver dock inte vara kostnader för GIS programmet som drar igång ett byte av mjukvara. I en serie artiklar (länk till del fyra med länkar till de inledande tre) så redogör en konsult hur han hjälpt ett litet skogsföretag i USA att genomföra just ett sådant byte. Skälet var att de data företaget använde, började bli svåra att hantera i shapefiler, och därför så skapades en PostGIS databas för alla data. Från denna lyfte man sedan ut shape för att skapa kartor i ArcGIS, men någon direkt redigering var inte möjlig med den uppsättning ArcGIS klienter man hade, och det fanns inte ekonomiskt utrymme för att investera i fler ESRI produkter. I artikelserien beskrivs hur företagets mallar, symboler och dynamiska utskriftslayouter arbetades om och implementerades med QGIS.

Ett skäl för mig att i alla fall inte begränsa mig till ArcGIS är interoperabilitet. ESRI gör väldigt mycket bra och det är smidigt med en helhetslösning, men vill man kliva utanför ramarna så får man problem.

När man börjar titta på skäl till att byta så måste man även göra lite probleminventering. Det finns en hel del funktioner i ArcGIS som QGIS inte kan ersätta, ännu…

Man får heller inte glömma att användarna är den viktigaste resursen många företag har och att byta ut en omtyckt programvara enbart av kostnadsskäl kan bli väldigt dyrt!

2. Funktioner

Det är helt nödvändigt att inventera vad man använder för funktioner i ArcGIS, för att sedan kontrollera om dessa är möjliga att utföra i QGIS. Svaret kan i många fall vara ”nej” eller ”inte på samma sätt”. Då är det på sin plats att undersöka om det finns ”plug-in” eller andra OpenSource program som kan täcka upp för en sådan brist. Säga vad man vill om ArcGIS men det är en ganska heltäckande programsvit och all funktionalitet är inte tillgänglig i QGIS.

Även det omvända är sant. Det finns funktionalitet i QGIS som inte är tillgänglig i ArcGIS. Det kan vara på sin plats att även titta närmare på detta för att se om QGIS kan erbjuda möjligheter som inte finns för närvarande.

Det allra mesta går trots allt att utföra i QGIS, men ett problem kan vara att man måste göra det på ett annat sätt, vilket leder till krav på utbildning och ytterligare förändringar.

Viktiga saker (om det är det här du är ute efter) som saknas i QGIS är exempelvis 3D visualisering! Nåja det finns en QGIS Globe, men den behöver utvecklas ganska mycket för att ens komma i närheten. Det går sedan att visualisera i 3D via plug-in, men ArcGIS är betydligt mycket kraftfullare med exempelvis möjlighet att redigera data i 3D.

3. Kostnader

Även om QGIS är gratis så finns det kostnader man måste ha med i beräkningen. Oavsett vilken större programvara man byter ut så måste man räkna med kostnader för inte minst utbildning.

Har man större mängder data så måste man även titta på vilka kostnader man kan få för att dessa data skall kunna användas med det nya programmet. Även mallar, projekt- och symbolfiler måste göras om (se länk till artiklar ovan).

Kortsiktigt så är sällan en IT-satsning en god ekonomisk investering, men om man överväger även långsiktiga kostnader så kan man ganska snart hitta en tidpunkt där det kommer att ha lönat sig att byta.

Om man räknar med stora besparingar, samtidigt som man inte är helt nöjd med funktionaliteten, så kan man dessutom gå in och sponsra utvecklingen av just den efterfrågade funktionaliteten. Detta är en av de stora fördelarna med ett Open Source projekt.

Det kan vara så att kostnader är den avgörande faktorn och att inga andra skäl spelar någon roll. Det är då än viktigare att försöka sätta ett pris på de funktioner som man kommer att sakna (om några) vid ett byte. För den som räknar pengar förstår inget annat!

4. Erfarenheter

Om man överväger ett byte så skulle jag rekommendera att ta reda på mera. Det finns de som gjort den här typen av byten och det finns de (som Kristianstads kommun) som använder QGIS i all sin GIS verksamhet sedan en längre tid. Här finns massor med erfarenhet att suga åt sig och jag föreslår att man börjar med Google. Ett litet tips dock: Kontrollera datumet på artiklarna! Det kan vara äldre artiklar som inte ger en aktuell bild av exempelvis funktionalitet då det händer mycket, och det snabbt, i GIS världen.

Några länkar till jämförelser och artiklar (utan att ha granskat kvalitén i innehållet i detalj):

http://www.xyht.com/spatial-itgis/qgis-v-arcgis/

http://dragons8mycat.com/2015/03/qgis-v-arcgis-the-rematch/

http://www.quora.com/How-does-ESRI-ArcGIS-proprietary-compare-with-Quantum-GIS-QGIS-open-source

http://gisgeography.com/qgis-arcgis-differences/

http://boundlessgeo.com/2014/10/qgis-compared-p1-visualization/ (del ett av fyra)

Jag håller inte med om allt som beskrivs som för och nackdelar med de båda programmen, det är därför man måste läsa på mycket om man inte själv sätter sig ner och provar och försöker (vilket inte är så lätt). Däremot så belyser artiklarna sammantaget ganska heltäckande inom vilka områden programmen skiljer sig åt till fördel för det ena eller det andra. Kontrollera även om det finns kommentarer till artiklarna, där det inte bara förekommer bittra synpunkter som saknar värde, utan även en hel del synpunkter som pekar på brister i artiklarna eller områden som inte berörts.

Slutsatser

Skall man då byta från ArcGIS till QGIS? Ja det svaret kommer du inte få av mig!

Om du bara överväger ett byte så är det dock dumt att inte ens lägga lite tid på att undersöka förutsättningarna. Det är ju trots allt ganska stora kostnader det handlar om.

Om en inledande eftersökning resulterar i att man kommer fram till att det kan vara lönsamt (eller av andra skäl) att byta så skulle jag rekommendera att man startar ett formellt projekt för att i detalj undersöka förutsättningarna. Om man inte har nödvändig kunskap eller resurser så kan det löna sig att ta in extern hjälp också. Har man frågor så kan dock ett första steg vara att använda olika forum som http://gis.stackexchange.com/, där man inte bara kan ställa frågor om QGIS…

Glöm sedan inte heller att det finns fler GIS program. Du kanske sitter med MapInfo och funderar på ett byte, eller så kanske MapInfo är alternativet till ArcMap? Oavsett vilket så kan mycket av det jag beskriver här vara tillämpbart.

Hur skulle jag då personligen vilja hantera QGIS? Jag skulle nog vilja introducera QGIS som ett alternativ parallellt med ArcGIS. Skapa en användargrupp som kan diskutera möjligheter och problem över en längre tid och att de själva kan komma fram till vad som fungerar bättre eller sämre i de olika programmen. Varva med att erbjuda en del utbildning och professionell support. Efter en längre tid så kan man sedan lyfta frågan om det är möjligt att reducera antalet ArcGIS licenser, och i så fall i vilken omfattning. Jag skulle i första hand inte presentera QGIS som ett billigare alternativ, utan en möjlighet att göra olika saker bättre eller effektivare, sedan får tiden utvisa vad som är bäst.

GIS appar till Windows Phone

Android eller iOS? Jag använder båda och tycker väl att det finns för och nackdelar med båda och framför allt så kan jag inte göra allt jag vill med bara den ena. Därför så är min telefon iOS och den lilla surfplattan Android.

För GIS så använder jag framför allt iGIS på iPhone och för Android har jag funderat på QGIS men det har inte blivit av än, men när som helst så…

Nu har ju arbetsgivaren kommit på den briljanta iden att begåva mig med en Windows Phone, så nu har jag enheter med alla (?) stora bärbara operativsystem.

Vad kan jag då hitta till Windows Phone?

Det första som dyker upp när man söker GIS appar är faktiskt ArcGIS. Det är i princip samma sak som ArcGIS.com och baseras i väldigt stor utsträckning på ArcGIS Online. ArcGIS baseras på en ”äldre” SDK och finns i version 10.1.3, vilket är en buggfix senare än samma app för Android och iOS.

Mer då? Nä, sedan verkar det vara tunnt bland gratisapparna. Jag har provat GPS Calculator, som finns i gratisversion och som verkar ganska bra för att hantera GPS och koordinater, men det är inget GIS-program. Jag har heller inte luskat ut om det går att spara waypoints eller spår och överföra dessa till exempelvis kontorsdatorn.

Jag ställer inte stora krav, men jag vill kunna skapa objekt i de tre grundläggande geometrierna och fylla i attribut som jag väljer själv för dessa. Om jag sedan kan läsa in data och visa dessa på en karta tillsammans med min egna insamlade så är jag hur lycklig som helst. Resten kan jag sedan göra vid skrivbordet.

ArcGIS online gillar jag inte då jag måste vara just ”online”. Inte heller kan jag skapa data lokalt.

Nej något GIS arbete eller någon fältinsamling kommer nog inte att göras med Windows Phone för min del. Tack och lov så fungerar iGIS alldeles förträffligt i iOS och det börjar bli hög tid att testa QGIS för Android.

ESRI UC Öppningsdagen

Screenshot from 2014-07-15 09:29:13

Då finns inledningsdagens presentationer på ESRI hemsida (länk) för alla oss som inte var där.

Man brukar kunna få en ganska bra känsla för vad det handlar om i ESRI ögon från dessa presentationer så jag kommer att ägna del av dagen till att kolla igenom dessa 14 videofilmer och återkomma i detta inlägg om jag kan dra några speciella slutsatser.

[EDIT 1]

Screenshot from 2014-07-15 09:50:52

Jack Dangermond ger sin Vision om GIS. De tre stora punkterna som jag uppfattar det är:

  1. Förutsäga – Använd GIS för att inte bara visualisera utan även till att förutse vad som kommer att hända, lite som ABI (Activity-Based Intelligence) något som jag faktiskt har lite erfarenhet av.
  2. Kombinera – Använda webbtjänster för att ta data som redan finns och använda dessa i kombination för att skapa något nytt. Detta kräver betydligt mycket mer än bara WMS, något som jag kommer att återkomma till i senare inlägg.
  3. Geodesign – Använd GIS och geoexperter tillsammans med beslutsfattare och andra områdesexperter för att optimera förutsättningarna för verksamheten.

Nu skall jag titta vidare…

[EDIT 2]

Jag har hört både positiva och negativa kommentarer om ArcGIS Pro, jag har själv presenterat teorier om varför ESRI inte väntar med att publicera det som skall bli ersättaren till ArcMap.

Av de presentationer jag sett i videofilmerna här så måste jag säga att det är imponerande hur allt hänger ihop och fungerar.

Det sagt så måste man tänka på att det är en DEMO! Man nämner inget om tillgänglighet på data, eller vilka prestanda datorerna har som kör demonstrationen. När det gäller data så är mycket tillrättalagt via ArcGIS Online i USA, medan många andra länder, som Sverige, har tillgång till betydligt mindre data. Kraven på prestanda är lite oklara men ArcGIS Pro använder GPU prestanda om den är tillgänglig och i övrigt nämner man endast att det måste vara 64-bit windows 7 eller 8, samt minst 8 Gb RAM.

Integrationen och dynamiken i ESRI plattformen är imponerande och något som är i princip omöjligt att uppnå med Open Source idag. Vi får väl se vad som blir möjligt i framtiden.

[EDIT 3]

”Appar” var stort redan förra året och nu börjar det slå igenom på allvar. För att ytterligare underlätta för användarna att skapa egna fokuserade ”appar” så släpper ESRI Web App Builder for ArcGIS. Bakom det långa namnet så finns en HTML5/JavaScript app som gör det möjligt att skapa skräddarsydda appar för alla plattformar, baserat på ArcGIS Online eller Portal for ArcGIS Server.

[EDIT 4]

Då har jag tittat igenom alla filmer och det finns mycket att reflektera över. Några saker som kommer fram, inte minst i de första filmerna, är fokuseringen på webben och ”molnet”. Andra saker är 3D, realtid och temporala aspekter.

Det som jag identifierar som den största trenden är att man går från att samla in data i ett specifikt syfte, till att samla in allt. Genom att ha så mycket information som möjligt positionerat i rum och tid så kan man skapa oerhört kraftfulla analyser.

 

Python skript i ArcMap

Jag har slitit ett tag med Python för ArcMap 10. Det är ju nämligen så att stödet för VB, som jag använt tidigare, snart bara är ett minne blott i ESRI’s programvara. Därför så gäller det att börja fundera på vilka gamla skript som fortfarande skall användas när bytet till 10 sker.

Man måste även veta om man byter till 10.0 eller 10.1, eftersom det är ganska stor skillnad mellan dessa versioner till fördel för 10.1.

Skripten är vanliga textfiler med filändelsen *.py och går att skriva i vilken textredigerare som helst, men jag föredrar någon form av IDE (utvecklingsprogram) så att man får lite hjälp med syntaxen med mera.

Jag har använt flera olika IDE, men senaste tiden har jag använt Eclipse med PyDev för att skriva Python skript. Det går dock att testa mycket av Pythonskripten direkt i Python konsolen i ArcMap, om man inte vill eller kan använda en IDE.

För att använda ArcGis funktionalitet i sina skript så måste man importera ArcGis Python bibliotek vid namn arcpy.

import arcpy

Sedan går det att göra i stort sett allt som går att göra i ArcMap direkt via skript. Man behöver inte ens ha ArcMap öppet för många uppgifter.

Jag har mest intresserat mig för layoutläget och kör därför skripten via toolboxen inne i ArcMap.

Skapa klasser för dokumentet:

mxd = arcpy.mapping.MapDocument(”Current”) # Skapa klass för det öppna dokumentet
df = arcpy.mapping.ListDataFrames(mxd)[0] # Skapa klass för första dataramen

För att skicka värden till skriptet så används sys biblioteket, så detta måste också importeras:

import sys

Variabler hämtas med kommandot sys.argv[0] där nollan representerar det första argumentet, men det går att ha hur många argument som helst, genom att stega upp siffran.

skala = sys.argv[1] # Hämta första argumentet och spara i variabeln ”skala”

Argumenten skapas i ArcMap genom att man i ArcToolBox importerar skiptet och sätter de ”parametrar” som man vill kunna skicka till skriptet. I mitt fall så skapar jag en parameter kallad ”Skala” som är av typen Double, samt en parameter ”Rubrik” (String) som används senare.

För att sätta den angivna skalan i dataramen så skriver man följande.

df.scale = skala

Jag vill även ändra en rubriktext i layouten. Därför så sätter jag ”Element Name” till tRubrik under textens egenskaper.

Detta namn använder jag sedan för att hitta rätt textelement och ändra texten till värdet i det andra argumentet.

rubrik = sys.argv[2]
elements = arcpy.mapping.ListLayoutElements(mxd, ”TEXT_ELEMENT”) # Skapa lista med alla textelement

for element in elements: # Loopa igenom alla textelement
      if element.name == ”tRubrik”: # Om Element Name är ”tRubrik” så…
            element.text = rubrik # Byt ut texten till den inmatade.

Sådär. Då har jag ändrat skalan och rubriken till värden som jag matat in i ett formulär när jag kör skriptet i toolboxen. Det sista att tänka på i skriptet är att uppdatera layouten, så att man säkerställer att gjorda ändringar blir synliga.

arcpy.RefreshActiveView()

Nu har du vad du behöver för att starta med din egen layout. Det går enkelt att modifiera skriptet så att en massa texter i layouten ändras via formulär. Det går med lite mera arbete att skapa texter med dagens datum med flera bearbetade variabler, och med ytterligare arbete så är det inte så svårt att hantera panoreringar och zoom genom att mata in koordinater i formuläret, eller zooma till en utvald shapefil.

Vill du köra skriptet utan att ha ArcMap igång?

Byt ut ”Current” mot den kompletta sökvägen till mxd-projektet och lägg till mxd.save() sist i skriptet. Du måste dock ha ArcMap installerat på datorn.

Kör sedan skriptet med kommandot python skriptnamn.py argument0 argument1 argument2 i ett kommandofönster. Nästa gång du öppnar mxd-projektet så skall det vara uppdaterat. Eller varför inte lägga till export till PDF i skriptet?

Lycka till.

[EDIT]

Några fel smög in sig i skriptet, detta är nu rättat och det finns ett nytt att ladda hem nedan. När jag kopierade texten så fick jag dock byta ut ” tecknen för att det skulle fungera. Om det ändå strular så ersätt # tecknen också. Det blir något problem när pdf filen skapas med dessa tecken.

test.py

God Jul med GIS i 3D

Så här i jultider tänkte jag slå in ett litet GIS paket.

Jag skall ge ett exempel på hur man kan jobba med ArcGIS 10 och SketchUp 8 för att hantera 3D modeller.

I en tidigare artikel så beskrev jag hur man med ett plug-in i SketchUp kunde läsa ESRI shapefiler, men denna gång tänkte jag att vi skulle slippa det.

Börja i ArcMap eller använd ett befintligt lager med byggnadspolygoner.

Lägg till lagret i ArcGlobe och extrudera en höjd godtyckligt.

Gör om formen till ESRI multipatch genom att använda verktyget ”Layer 3D to Feature Class”.

Exportera det nya multipatchlagret till Collada med verktyget ”Multipatch To Collada”.

I SketchUp importeras Colladafilen (*.dae). Den ser säkert lite konstig ut, men ”explodera” modellen och redigera efter tycke och smak.

Modellen är uppbyggd av trianglar men detta kan ändras med verktygen i SketchUp till något som passar bättre för ändamålet.

Exportera modellen tillbaka till Collada under ett nytt namn. Använd 3D-Edit i ArcGlobe för att markera originalmodellen, och välj ”Replace With Model…” i menyn (se nedan).

Välj den nya Colladafilen och sim-salabim så har den redigerade modellen tagit den gamlas plats.

På det här sättet kan man exportera, redigera och importera modeller till en geodatabas i 3D. Begränsningen är framför allt att det bara fungerar med ESRI programvaror med 3D-analystillägget.

Tänk nu om det kunde komma en öppen standard för att hantera 3D modeller i exempelvis PostgreSQL/PostGIS som direkt fungerar med såväl ESRI som Google (med flera), på ett lika smidigt sätt som det här har varit.

Fallgropar, eller problem som jag upptäckt på vägen:

  • Referenssystemet ställer till det i bland. Data kan behöva sparas i ett projicerat system som SWEREF 99TM (osäker om så är fallet).
  • Jag fick inte med texturerna från SketchUp till ArcGlobe och jag har inte tagit reda på vad detta beror på.
  • Som vanligt så ”låser” ArcGIS programmen olika lager för varandra så att de inte går att redigera. Om detta inträffar så spara och stäng alla (ESRI-) program och öppna dem igen.

ArcGIS – Android Market

ArcGIS – Android Market.

Nu finns ArcGis för Android på Android Market (länk ovan).

Själv kör jag IPhone och har använt ArcGis för IOs ett tag, så om versionen för Android är i närheten av denna, så kan jag bara rekommendera en installation. Programmet är dessutom gratis så det finns egentligen inga ursäkter för att inte pröva.