Welcome to the Wonderful world of GIS programing!

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

description

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. Software. Year. Data Format. 1980’s. Coverage. Arc/Info. 1990’s. ArcView. Shapefile. 2000’s. 2010. - PowerPoint PPT Presentation

Transcript of Welcome to the Wonderful world of GIS programing!

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

Intro to PythonWelcome to the

Wonderful world of GIS programing!

Page 2: 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: 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: 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: 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: 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 Python

WinPython

Window

• PythonWin is the preferred way!

Page 7: 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: 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: 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: Welcome to the Wonderful world of GIS programing!

PythonWin: Application/main window

Run Script Check Script

Script ran successfully

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

Basic Python syntax • Comments• Variables• Strings• Numbers

Page 12: 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: Welcome to the Wonderful world of GIS programing!

Python StatementsLines 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: Welcome to the Wonderful world of GIS programing!

Variables• Variables store values of different typesfirst = ”Bob” last = “Brown” age = 30 height = 5.6source = “C:/Exercises/Auburn.gdb”

• Variables are case sensitiveNum = 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: 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: 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 repeateds1 = “Ha!”s1*3Result= “Ha!Ha!Ha!”

Page 17: 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.shpf1.replace(“AUBURN”, “OWASCO”)Result: “OWASCO.shp”

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

Built-in Python Functions

2. round() returns a rounded numberxCoord = 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: 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: 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 withprint num

Or

print str

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

Python Tutorial

Search: “What is Python”ArcGIS Resources Center:

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

Let’s try it!