Intro to Python

waisttherapeuticSoftware and s/w Development

Nov 4, 2013 (3 years and 9 months ago)

64 views

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

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

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 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

m
essage = “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”

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.2345


round(
xCoord
)
Result: 450,000












1.
len
()
returns the length of a string or a list


f1 = “AUBURN.shp”


len
(f1)
Result: 10

3.

str
()
converts an integer to a string


zone = 18


strzone

=
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 string


str
(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!