Med bruk av Python og ArcGIS modulen ArcPy kan du automatisere dine geoprosesseringsoppgaver enten det gjelder databehandling eller analyse. Du kan kombinere geoprosesseringsverktøy med de mange mulighetene i Python for å utvide tilgjengelig funksjonalitet og opprette egne verktøy som kan legges til standardfunksjonaliteten i ArcGIS. Verktøyene du lager kan også publiseres med ArcGIS for Server og deles med andre.
I dette foredraget får du en introduksjon til Python og hvordan du kan komme i gang med å automatisere dine oppgaver og bygge egne verktøy med utvidet funksjonalitet. Foredraget fokuserer på hvordan du får tilgang til ArcGIS funksjonalitet i Python, generell syntaks, aktuelle utviklingsmiljø, feilhåndtering og hvordan du effektivt kan bruke tilgjengelige Python ressurser og eksempler.
Este documento describe brevemente un blog como una herramienta web que no requiere conocimientos avanzados de informática y que permite gestionar contenidos de forma dinámica y actualizable, incluyendo textos, imágenes y videos para ser consultados o comentados como en un diario digital.
An overview of data science in the social sector, and how to use your data science skills for good.
Includes tips and tricks from winning data science competitions on www.drivendata.org.
Este documento describe brevemente un blog como una herramienta web que no requiere conocimientos avanzados de informática y que permite gestionar contenidos de forma dinámica y actualizable, incluyendo textos, imágenes y videos para ser consultados o comentados como en un diario digital.
An overview of data science in the social sector, and how to use your data science skills for good.
Includes tips and tricks from winning data science competitions on www.drivendata.org.
ArcGIS for Desktop og veien videre - Esri norsk BK 2014Geodata AS
ArcGIS for Desktop er primærverktøyet for mange GIS-spesialister. «ArcGIS for Desktop og veien videre» vil handle om hvor Desktop er i dag, og hvor Desktop befinner seg på kort og lang sikt. Vi skal snakke om hvilke endringer som kom med versjon 10.2 og 10.2.1 og ikke minst vise frem ArcGIS Professional, det nyeste tilskuddet til serien av Desktop programmer.
Geografiske analyser i ArcGIS - Esri norsk BK 2014Geodata AS
Minikurset gir deg tips om hvilke betrakninger man bør gjøre i forkant av analyser i ArcGIS for Desktop, hvordan man kan automatisere analyseprosessen med ModelBuilder og ikke minst presentere og dele resultatet med ArcGIS Online. I tillegg ser vi på oppsett og bruk av analysetjenester med ArcGIS for Server. Gled deg til mange praktiske eksempler og demonstrasjoner.
Introduksjon til geodatabasen - Esri norsk BK 2014Geodata AS
Denne sesjonen forklarer hva en geodatabase er og hvorfor du burde bruke den for å lagre dine geografiske data. Geodatabasen er et lagringsformat for å håndtere geografiske data, spesielt laget for ArcGIS.
Geodatabasen beriker dine data med romlige og relasjonelle integritetsregler, datavalidering, logikk og annen avansert funksjonalitet. Vi vil gå gjennom den logiske oppbygningen i en geodatabase, inkludert begrep som feature og featureklasse, raster, annotasjon, geometrisk nettverk, nettverksdatasett, topologi og annen funksjonalitet.
ArcGIS for Desktop og veien videre - Esri norsk BK 2014Geodata AS
ArcGIS for Desktop er primærverktøyet for mange GIS-spesialister. «ArcGIS for Desktop og veien videre» vil handle om hvor Desktop er i dag, og hvor Desktop befinner seg på kort og lang sikt. Vi skal snakke om hvilke endringer som kom med versjon 10.2 og 10.2.1 og ikke minst vise frem ArcGIS Professional, det nyeste tilskuddet til serien av Desktop programmer.
Geografiske analyser i ArcGIS - Esri norsk BK 2014Geodata AS
Minikurset gir deg tips om hvilke betrakninger man bør gjøre i forkant av analyser i ArcGIS for Desktop, hvordan man kan automatisere analyseprosessen med ModelBuilder og ikke minst presentere og dele resultatet med ArcGIS Online. I tillegg ser vi på oppsett og bruk av analysetjenester med ArcGIS for Server. Gled deg til mange praktiske eksempler og demonstrasjoner.
Introduksjon til geodatabasen - Esri norsk BK 2014Geodata AS
Denne sesjonen forklarer hva en geodatabase er og hvorfor du burde bruke den for å lagre dine geografiske data. Geodatabasen er et lagringsformat for å håndtere geografiske data, spesielt laget for ArcGIS.
Geodatabasen beriker dine data med romlige og relasjonelle integritetsregler, datavalidering, logikk og annen avansert funksjonalitet. Vi vil gå gjennom den logiske oppbygningen i en geodatabase, inkludert begrep som feature og featureklasse, raster, annotasjon, geometrisk nettverk, nettverksdatasett, topologi og annen funksjonalitet.
This document discusses the power of imagery in GIS platforms and ArcGIS specifically. It highlights that imagery is at the heart of many GIS systems and the ArcGIS platform is highly capable for imagery. ArcGIS allows users to see imagery, find patterns within imagery remotely, and share imagery and insights with others. New products like Drone2Map for ArcGIS help turn drone imagery into enterprise tools for tasks like orthomosaicking, 3D modeling, and inspections.
The document discusses how 2 billion jobs may disappear as technology disrupts various industries. Jan Grønbech, the Country Director of Google Norway, emphasizes that companies must either disrupt their industries or be disrupted by other innovative competitors. He notes that while such disruption can eliminate many jobs, it can also create new types of jobs to drive industries forward in a changing environment.
Frå tråkk til plankart - en analyse av barnetråkkregistreringer i Giske kommu...
Kom i gang med pythonskritping - Esri norsk BK 2014
1. Kom i gang med Pythonskripting
Åshild Lysaker, Geodata AS
2. Agenda
•
•
•
•
•
•
•
•
•
Hva er python og hvorfor bruke det
Grunnleggende om python
Hvor skrive python kode?
ArcGIS funksjonalitet i python - hva er ArcPy?
Feilhåndtering
Automatisere oppgaver
Beskrive data
Lage script verktøy
Hvordan lære mer…
3. Hva er Python ?
• Skriptspråket til ArcGIS
• Fordeler:
–
–
–
–
–
–
–
Open source gratis å bruke og dele
Støtter de fleste plattformer
Enkelt å lære
Stort bibliotek
Rask
Stor brukergruppe
Mange gratis tillegg
«Python is a
remarkably powerful
dynamic programming
language that is used
in a wide variety of
application domains.»
- python.org
4. Hvorfor bruke Python med ArcGIS?
•
•
•
•
•
•
Automatisere repeterende oppgaver
Lage egne og tilpassede verktøy
Tilpasse Desktop applikasjonene med egne verktøylinjer
Legge egne verktøy som tjenester i web applikasjoner
Scheduled Task
Utvide mulighetene i ArcGIS
5. Grunnleggende om Python
• Hvor skriver jeg Python kode ?
– Python fil er en tekstfil med .py filendelse
– IDE (Integrated Developer Environment)
• PyScripter (Gratis)
• Wing IDE
• …
– Python vindu i ArcGIS
• Hvordan kjører python script ?
– Dobbeltklikk
– IDE
– ArcGIS
6. Grunnleggende om Python
• Hva er variabel ?
– Et navn som lagrer en verdi:
navn = verdi
inndata = "C:/Data/Vegtrase.shp"
utdata = "C:/Data/VegtraseBuffer.shp"
avstand = 50
# Variable fungerer som erstatning for selve verdien
arcpy.Buffer_analysis(inndata, utdata, avstand)
• Hva er liste ?
– en samling av verdier [ …, … ,…]
– Kan brukes til å løpe gjennom hver verdi i listen
liste =["C:/Data/Arealtype.shp", "C:/Data/Eiendom.shp"]
7. Grunnleggende om Python
• Teknikker for iterasjon
– while, for
– Kolon etter while/for
– Innrykk bestemmer hva som kjøres
x = 1
while x < 5:
print(x)
x = x + 1
x = [1, 2, 3, 4]
for num in x:
print(num)
8. Grunnleggende om Python
• Python har logikk for testing av betingelser
– if, else
– ==, >, <, != brukes for test av betingelsen
var = "a"
if var == "a":
# Kjør linjer som er rykket inn
print("variabelen er a")
else:
print("variabelen er ikke a")
9. Byggesteiner i Python
• Funksjon:
– en definert funksjonalitet som gjør en bestemt oppgave. Krever
argumenter inn
• Modul:
– en python fil hvor alle funksjoner er definert: Import
– Python har mange innebygde moduler:
os, math, datetime, …
math.sqrt(100)
Modulen «math»
• Package:
– en samling av relaterte moduler
Funksjonen «sqrt»
10. ArcPy
• Site package som legger til ArcGIS funksjonalitet i Python
• Tilgang til 800+ geoprosesseringsverktøy
• Funksjoner, klasser og moduler
– Hjelpefunksjoner:
• ListFeatureClasses
• Describe
– Klasser som kan brukes til å lage komplekse objekter:
• SpatialReference
• FieldMap
– Moduler for spesialisert funksjonalitet:
•
•
•
•
Mapping
SpatialAnalyst
NetworkAnalyst
DataAccess
11. ArcGIS Python vinduet
• Interaktivt Pyhon vindu i ArcGIS Desktop
• Få tak i Python og moduler innenfor ArcGIS applikasjoner
• God syntakshjelp, fint miljø for å lære
13. Kjøre geoprosesseringsverktøy
• Import arcpy
• Følg verktøy syntaks
– arcpy.toolname_toolboxalias()
– Legg inn parametere
• Hvordan effektivt finne koden for et verktøy
–
–
–
–
Hjelpeteksten for verktøyet har python eksempel og syntaks beskrivelse
Kjør verktøyet og kopier som python snippet
Bruk python vinduet
help(arcpy.Buffer_analysis)
14. Geoprosessering miljøinnstillinger
• Bruk geoprosesseringsmiljø som globale parametere
– Se hjelpeteksten for hvilke innstillinger som støttes for et verktøy
• Enkelt å endre kun ett sted
• arcpy.env
arcpy.env.workspace = "C:/Data"
arcpy.env.extent = "0 0 100 100"
arcpy.env.outputCoordinateSystem = 4326 #WKID
arcpy.env.overwriteOutput = True
15. Håndtere feil
• Hvorfor oppstår feil?
– Feil bruk av verktøy, skrivefeil, syntaksfeil, … (bugs)
• Hva gjør du?
– Se på geoprosesseringsmeldinger
– Bruke python feilhåndtering
– Bruk et IDE for å sjekke linje for linje (debug)
import arcpy
arcpy.Buffer_analysis("C:/Temp/Vegtrasse.shp", "C:/Temp/Buffer.shp", 1000)
16. Meldinger fra geoprosesseringsverktøy
• Tre typer meldinger
– Info (0), warning (1), error (2)
• Vises i python vinduet
• Feil vist i IDE
• arcpy.GetMessages()
arcpy.Buffer_analysis("C:/Temp/Vegtrase.shp", "C:/Temp/Buffer.shp", 1000)
print arcpy.GetMessages()
17. Feilhåndtering i Python
• Try… Except…
• Innrykk styrer hva som testes for feil
# Start Try blokken
try:
arcpy.Buffer_analysis("C:/Temp/Vegtrase.shp", … )
# Hvis en feil oppstår gå til except
except:
# Skriv at buffer feilet og hvorfor
print("Buffer feilet")
print(arcpy.GetMessages())
19. ArcPy funksjoner
• Utføre nyttige oppgaver
– Liste data, eks. ListFeatureClasses
– Hente data egenskaper, eks Describe
• Gir deg automatisering av manuelle oppgaver
20. Batch prosessering
• Automatisere en operasjon til å kjøre flere ganger
• Eksempler:
– klipp alle featureklasser i en geodatabase til et polygon
– beregne statistikk for alle raster i en mappe
• Bruker Liste funksjoner i python for batch prosessering
22. Få data egenskaper
• Describe funksjoner leser data egenskapene
• Returnerer et objekt med egenskaper
–
–
–
–
Data type
Shape type
Spatial Reference
Felter
# Beskrive en geoobjektklasse
desc = arcpy.Describe("C:/Temp/Vegtrase.shp")
print(desc.shapeType)
>>> "Polyline"
26. Cursorer
• SearchCursor
• InsertCursor
• UpdateCursor
# Legge til kolonne som rangerer areal
fc = "C:/BK2014/ProsjektGDB.gdb/DekTeigFlate"
arcpy.AddField_management(fc, "Rangering", "Long")
cursor = arcpy.UpdateCursor(fc, fields="Rangering", sort_fields= "Shape_Area D")
n = 1
for row in cursor:
row.setValue("Rangering", n)
cursor.updateRow(row)
13000 flater 70 sekunder
n = n + 1
• Data access modul
with arcpy.da.UpdateCursor(fc, ["Rangering"], sql_clause=(None, "order by Shape_Area DESC"))
as cursor:
for row in cursor:
row[0] = n
cursor.updateRow(row)
13000 flater 1.5 sekunder
n = n + 1
27. Lære mer ?
• Kurs: Introduksjon til geoprosessering med scripting i Python
–
–
–
–
–
–
–
–
3 dager
Python scriptemiljø
Bruke cursorer, beskrive objekter og administrere og oppdatere data
Utføre geoprosesseringsoperasjoner
arcpy.mapping for automatisering av kartdokument
Teknikker for å sikre riktig syntaks og feilhåndtering
Opprette egendefinerte script-verktøy
Geoprosesseringspakker og deling
• Web kurs:
– http://training.esri.com
28. Oppsummering
• Integrated Development Environment
– Pyscripter, Wing, ++
• ArcPy
– Alle geoprosesseringsverktøy
– Hjelpefunksjoner som Describe, ListFeatureClasses, SearchCursor, +++
• Finn riktig syntaks
– ArcGIS Hjelp, python snippet, python window
– Søk i python brukerforum
• Feil håndtering
– Try... except…
– GetMessages()
– Debug linje for linje i IDE
• Automatisering
• Skript verktøy