intro to python welcome to the wonderful world of gis programing!

22
Intro to Python Welcome to the Wonderful world of GIS programing!

Upload: ramiro-sillman

Post on 14-Dec-2015

242 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Intro to Python Welcome to the Wonderful world of GIS programing!

Intro to Python

Welcome to the

Wonderful world of GIS programing!

Page 2: Intro to Python Welcome to the Wonderful world of GIS programing!

Topics

• A brief history of GIS programing• What is Python?• What is PythonWin?• Basics of Python

Page 3: Intro to Python Welcome to the Wonderful world of GIS programing!

Brief history of ESRI’s GIS software evolution

Arc/Info Coverage 1980’s

Software Data Format Year

ArcView Shapefile 1990’s

ArcGIS 8 & 9 Geodatabase 2000’s

ArcGIS 10 Geodatabase 2010

Page 4: Intro to Python Welcome to the Wonderful world of GIS programing!

Programming language• SML was used for PC ArcInfo

• AML was used for Arc/INFO 7.x

• Avenue was used for ArcView 3.x• Visual Basic for Application (VBA) is for

ArcGIS 8 & 9 & packaged with it• Python for ArcGIS10

Page 5: Intro to Python Welcome to the Wonderful world of GIS programing!

What is Python?• An object oriented scripting language• Cross-platform: meaning portable & will run on

Windows, Unix, and Linux• Python is fully embraced by ESRI at ArcGIS 10• Comes bundled with ArcGIS• Free

Page 6: Intro to Python Welcome to the Wonderful world of GIS programing!

Programming Environments• Python files are text files (.py extension)

• Python code can be written in

Text Editor IDLE PythonWi

nPython

Window

• PythonWin is the preferred way!

Page 7: Intro to Python Welcome to the Wonderful world of GIS programing!

PythonWin Interface1. PyhonWin created specifically for windows with

common tools & menus2. Windows look and feel3. 3 windows:

a. Application windowb. Script windowc. Interactive window

Python.lnk

Page 8: Intro to Python Welcome to the Wonderful world of GIS programing!

PythonWin: Script Window

• Script window is for writing, saving, & executing code

• Python scripts are saved with .py extension. Ex: (Test.py)

Page 9: Intro to Python Welcome to the Wonderful world of GIS programing!

PythonWin: Interactive Window

• Interactive window is for

testing code and report

errors messages

• Also report the output of print statement

Page 10: Intro to Python Welcome to the Wonderful world of GIS programing!

PythonWin: Application/main window

Run Script Check Script

Script ran successfully

Page 11: Intro to Python Welcome to the Wonderful world of GIS programing!

Basic Python syntax

• Comments• Variables• Strings• Numbers

Page 12: Intro to Python Welcome to the Wonderful world of GIS programing!

Comments• Lines of code that serve as documentation:• Non-executable• Use a # or ##• It’s a must for your lab

Block of code can be commented-- Highlight the block of code in the script window -- Right click>Source Code>Comment out region

Example: # Name: John Denver

# Date: January 2012

Page 13: Intro to Python Welcome to the Wonderful world of GIS programing!

Python Statements

Lines of code that perform a taskprint- sends output to the interactive windowimport – import a moduleExample:print “Welcome to Python world”import math (import math module)

Page 14: Intro to Python Welcome to the Wonderful world of GIS programing!

Variables• Variables store values of different typesfirst = ”Bob” last = “Brown” age = 30 height = 5.6

source = “C:/Exercises/Auburn.gdb”

• Variables are case sensitive

Num = 500 & num = 5000 (2 variables)

• Variables are dynamically type

--do not have to declare the variable-- don’t have to assign a data type

Page 15: Intro to Python Welcome to the Wonderful world of GIS programing!

Strings

• An ordered collection of characters

• Can be surrounded by double (“”) or single (‘’) quotes

message = “Welcome to Python”input = “C:/GIS222/Auburn.gdb/roads”

Page 16: Intro to Python Welcome to the Wonderful world of GIS programing!

Manipulating Strings

Strings can be concatenated

f1 = “C:/GIS222/Auburn/roads”f2 = “.shp”Data = f1 + f2Result= “C:/GIS222/Auburn/roads.shp”

Strings can be repeated

s1 = “Ha!”s1*3Result= “Ha!Ha!Ha!”

Page 17: Intro to Python Welcome to the Wonderful world of GIS programing!

Common String FunctionsUpper, lower, capitalize,………..

f1 = “AUBURN.shp”f1.upper() Result: “AUBURN.SHP”

There are many more; find them by typing object.

f1.lower() Result: “auburn.shp”

f1.capitalize()Result: “Auburn.shp

f1.replace(“AUBURN”, “OWASCO”)Result: “OWASCO.shp”

Page 18: Intro to Python Welcome to the Wonderful world of GIS programing!

Built-in Python Functions

2. round() returns a rounded number

xCoord = 450,000.2345round(xCoord) Result: 450,000

1. len() returns the length of a string or a listf1 = “AUBURN.shp”len(f1) Result: 10

3. str() converts an integer to a stringzone = 18strzone = str(zone)print “UTM Zone” + strzone

Page 19: Intro to Python Welcome to the Wonderful world of GIS programing!

Other Functions to convert values

2. int() returns an integer value

int(“10”) Result: 10

1. float() returns a floating point value

float(“10.0”) Result: 10.0

3. str() converts an integer to a stringstr(18) Result: “18”print “UTM Zone” + str(18)

Page 20: Intro to Python Welcome to the Wonderful world of GIS programing!

Getting user input

2. str = raw_input(“Enter your name: “)

1. num = input(“Enter you age: “)

You can always check your input with

print num

Or

print str

Page 21: Intro to Python Welcome to the Wonderful world of GIS programing!

Python Tutorial

Search: “What is Python”ArcGIS Resources Center:

Page 22: Intro to Python Welcome to the Wonderful world of GIS programing!

Let’s try it!