Date post: | 14-Dec-2015 |
Category: |
Documents |
Upload: | ramiro-sillman |
View: | 232 times |
Download: | 2 times |
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
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
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
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
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!
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
PythonWin: Script Window
• Script window is for writing, saving, & executing code
• Python scripts are saved with .py extension. Ex: (Test.py)
PythonWin: Interactive Window
• Interactive window is for
testing code and report
errors messages
• Also report the output of print statement
PythonWin: Application/main window
Run Script Check Script
Script ran successfully
Basic Python syntax
• Comments• Variables• Strings• Numbers
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
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)
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
Strings
• An ordered collection of characters
• Can be surrounded by double (“”) or single (‘’) quotes
message = “Welcome to Python”input = “C:/GIS222/Auburn.gdb/roads”
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!”
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”
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
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)
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
Python Tutorial
Search: “What is Python”ArcGIS Resources Center:
Let’s try it!