Download Customizing ArcView

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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!