Customizing ArcView

Download Report

Transcript Customizing ArcView

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
Software
Year
Data Format
Arc/Info
Coverage
1980’s
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
Python
Win
Python
Window
• PythonWin is the preferred way!
PythonWin Interface
1. PyhonWin created specifically for windows with
common tools & menus
2. Windows look and feel
3. 3 windows:
a. Application window
b. Script window
c. Interactive window
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
Example:
# Name: John Denver
# Date: January 2012
Block of code can be commented
-- Highlight the block of code in the script window
-- Right click>Source Code>Comment out region
Python Statements
Lines of code that perform a task
print- sends output to the interactive window
import – import a module
Example:
print “Welcome to Python world”
import math (import math module)
Variables
• Variables store values of different types
first = ”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 + f2
Result= “C:/GIS222/Auburn/roads.shp”
Strings can be repeated
s1 = “Ha!”
s1*3
Result= “Ha!Ha!Ha!”
Common String Functions
Upper, lower, capitalize,………..
f1 = “AUBURN.shp”
f1.upper()
Result: “AUBURN.SHP”
f1.lower()
Result: “auburn.shp”
f1.capitalize()
Result: “Auburn.shp
f1.replace(“AUBURN”, “OWASCO”)
Result: “OWASCO.shp”
There are many more; find them by typing object.
Built-in Python Functions
1. len() returns the length of a string or a list
f1 = “AUBURN.shp”
len(f1) Result: 10
2. round() returns a rounded number
xCoord = 450,000.2345
round(xCoord) Result: 450,000
3. str() converts an integer to a string
zone = 18
strzone = str(zone)
print “UTM Zone” + strzone
Other Functions to convert values
1. float() returns a floating point value
float(“10.0”) Result: 10.0
2. int() returns an integer value
int(“10”) Result: 10
3. str() converts an integer to a string
str(18)
Result: “18”
print “UTM Zone” + str(18)
Getting user input
1. num = input(“Enter you age:
“)
2. str = raw_input(“Enter your name:
You can always check your input with
print num
Or
print str
“)
Python Tutorial
ArcGIS Resources Center:
Search: “What is Python”
Let’s try it!