Innhold

Geodata AS og Geoinsight AS er virksomheter i Geogroup AS

  • Geodata
  • Geoinsight
  • Geogroup

Skripting av geoprosesseringsrutiner med ArcPy

ArcGIS 10 vil være siste versjon med støtte for VBA (Visual Basic for Applications) som skriptespråk for geoprosesseringsrutiner og python er blitt omfavnet som arvtager (noe det er blitt mer og mer støtte for i de ulike punkt-oppdateringene av ArcGIS programvaren helt siden 9.0). I ArcGIS 10 er det nå (endelig) “full” støtte for python rett ut av boksen….geoprosesseringen har nå blitt “PYTHONIC”

For de av dere som har vært litt borti script-tools tidligere, så har dere importert geoprocessing modulen ved å kalle på argisscripting(). Denne er nå blitt døpt om til ArcPY og fører med seg en god del snacks som code-completion (skriv inn nøkkelord fulgt av punktum og få liste over alle egenskaper og metoder) og direktekobling til referanse-dokumentasjon for hver funksjon, modul og klasse. I tillegg, hver gang du skriver inn navnet på en funksjon og begynner å fylle ut parametrene, vil man hele tiden få oversikt over påkrevde og valgfrie parametere i hjelpevinduet. Dette har vanligvis blitt gjort ved å søke opp verktøyet i hjelpeteksten til ArcGIS Desktop og kopiert inn syntaksen fra eksemplene der. I det store og det hele er nå programmeringsopplevelsen mer helhetlig.

Med støtte for over 800 geoprosesseringsverktøy blir ArcPy hjørnesteienen for automatisering av analyser, data konvertering og kartproduksjon i ArcGIS En rask intro til ArcPy finner du her: A quick tour of ArcPy

Med ArcPy introduseres også ny funksjonalitet. Med mapping modulen får man nå vertkøy til å strømlinjeforme kartproduksjonen gjennom skripting. Dette er noe som har vært etterspurt en stund og ESRI har nå et eget bibliotek for manipulering av  kartdokument- (mxd) og lyr-filer (som tidligere var forbeholdt utvilking med ArcObjects). Her er noen av tingene som nå er mulig å gjøre gjennom python og geoprosessering:

  • Liste opp kartdokumenter som har kartlag som refererer til en spesifikk datakilde
  • Oppdatere og reparere datakilder til kartlag i en mxd-fil
  • Lage rapporter med informasjon lagret i kartdokumentet, som kartlag, datakilder kartlagstype, osv
  • Lagre kartdokumenter til en tidligere versjon av ArcGIS (9.1, 9.2, 9.3, osv) for distribuering til andre brukere som bruker andre versjoner av ArcGIS
  • Oppdatere kartserie med viktig informasjon som dato, tittel, logoer og eksportere disse ut i ulike formater som PDF, EMF, JPEG og andre.

For mer informasjon om mapping-modulen, ta en titt her:

ArcPy mapping modul

 I tillegg til mapping-modulen vil ESRI også distrubiere biblioteker for spatial analyst og geostatistical analyst. For mer informasjon om disse får du ved å gå hit:

Geostatistical analyst

Spatial analyst

Under utviklerkonferansen til ESRI i Palm Springs overvar jeg de fleste sesjonene som gikk på python og ArcPy, og jeg kunne ikke la være å spørre hvor veien ville gå for arcpy-modulen heretter. Spesielt er dette interessant for VBA utviklere som nå befinner seg ved et veiskille…skal jeg lære meg å programmere arcobjects eller holder det å sette seg inn i python og bruke ArcPy-site packagen? Svaret jeg fikk er at ArcObjects og ArcPy vil fortsatt være ment for to ulike bruksområder og vil på sin måte komplimentere hverandre. ArcPy vil aldri ta over for ArcObjects, og dette er heller ikke meningen. Derfor vil de også eksistere sammen i lang tid fremover.

En tommelfingerregel kan være at ArcObjects  brukes til å tilføre ny funksonalitet, hvorpå geoprosessering er ment til automatisering. Hvor ArcObjects kan bli brukt til å lage et nytt brukergrensesnitt og spesialtilrettelagte kartvisninger, vil geoprosessering bli brukt til å lage automatiserte arbeidsflyter innenfor et eksisterende rammeverk.

Det ESRI gjør med python og ArcPy-pakka er veldig spennende, noe som også kommer veldig tydlig frem når man snakker med representanter fra geoprosesseringsteamet til ESRI. Så da er det bare å hive seg på python-vogna, for eksempel ved å ta et kurs her hos Geodata

Python kurs  

 

 

Kommentarer:

Legg til kommentar
 
   
 
Spam tiltak Image for user verification