enhancing the use of python in gis and remote sensing
DESCRIPTION
This abstract outlines the development of a geographic information systems (GIS) Programming and Remote Sensing course at American River College using Python and Opticks (http://opticks.org) open source image processing software for use with remotely sensed imagery. The author has developed a fully on-line GIS course and text for developing and using Python for ArcGIS in addition to developing and using the Opticks Python scripting extension for a remote sensing course. The ability to use Python in both open source and commercial GIS and remote sensing software is becoming common place and a skill this is widely sought after. This paper will describe some of the knowledge, abilities, and skill sets that employers are seeking and how the author has developed the courses and texts using Python and Opticks in GIS and remote sensing to help students build these skills.TRANSCRIPT
Enhancing the Use of Python in GIS and Remote Sensing
Nathan JenningsAmerican River College, Sacramento, CA
Opticks Open Source - Mentor
07 |24 | 2011
Python and Open Source
GIS and Remote Sensing
GIS Skills, Abilities, Knowledge
The American River College GIS Program
Academic Challenges
Open Source – part of the Solution
GIS Programming using Python
Remote Sensing using Opticks
Python Enhancing Opticks
Python and Open Source Software
Python
Widely accepted and useful open source programminglanguage for many fields, industries, and platforms
Relatively straight forward programming languageto learn
Many software packages provide the ability to runPython scripts to enhance base software
Open Source Software
Wide variety of software packages to choose from
Many have a strong development and user communities,especially in GIS and Remote Sensing
Allow for a low cost (“Free”) solution to commercialalternatives
Python and Open Source Software
GIS – (Geographic Information Systems)
Software to create, store, manipulate, analyzegeospatial information as well as produce geospatialproducts such as maps, web services, and mobile applications
Python and Open Source Software in GIS and Remote Sensing (Academic)
Remote Sensing
Collectively refer to both the sensors (satellite and aerial photography) andDigital Image Processing software to analyze remotely sensed imagery
Skills, Abilities, and Knowledge
Academic Setting
- Provide experiences to learn and develop geospatial skills (technical and analytical) - Develop knowledge base for specific geospatial processes - Develop the ability to problem solve, trouble shoot, and
create solutions to geospatial problems
Job Market seeks Individuals that can:
- Work independently - Critically think and problem solve a variety of solutions to geospatial problems - Use and develop current level of knowledge while on the job
American River College – Sacramento, CA
Community College – part of Los Rios Community College System
Well known community college program for GIS
Offers:
1. Associate of Science degree in GIS2. GIS Certificate
American River CollegeGIS Program Course Offerings
GIS Intro/Advanced GIS softwareSpatial Analysis and ModelingWeb Mapping ApplicationsIntro/Advanced Database Design
GPSIntro to GPS
Programming
Intro to GIS Programming (fully online, Python)
Remote Sensing and Digital Image Processing
Intro to Remote Sensing and Digital Image Processing
Work/Study – Internship at “real” workplace
Academic Institution ChallengesSite License for ESRI (ArcGIS) software – fully funded
Struggle with obtaining and maintaining educational software licenses for Remote Sensing and Digital Image Processing course
Minimum Student Enrollment High (min. 22 students/semester)
Develop Knowledge, Skills, and Abilities that Job Market Seeks with continuing limited resources (classes/teachers)
Solutions include:
Focus on Core Courses
Online offerings (currently GIS Programming Course and Work Study)
Seek cheaper (“Free”) software alternatives (e.g. Opticks)
Python in GISCreated the online GIS Programming Course
- Enrollment has gone up- Doesn’t have to compete with “in-class” courses- Students are able to obtain this “sought after” skill without physically attending classroom or lab
100% Python for ArcGIS tasks
Students develop:
- Programming ability- Geoprocess and map production automation skills- Enhance their understanding of geoprocesses andArcGIS functionality- Critical Thinking, Problem Solving, Troubleshooting skills
Python in GISStudents and Job Market seek the skill
Students are Challenged!
- Programming is Hard- Requires understanding of proceses (e.g. geoprocesses)- Requires understanding in logic (first, second, third processes
and which pre-requisite processes are required tosuccessfully develop and implement the code)
- Requires students to “think like a computer” – not easy- Students work on common geoprocessing and map automation
tasks for exercises- Develop their own application as part of the course- Students leave the course with a portfolio of work and application
for use in the job market
Python in GIS
- Distance Learning – not the same as “face to face”!
- Using Webinars (more as a norm than an option)
- Developed a “text book/work book” for students
A Python Primer for ArcGIS – (in press), N. Jennings
- Contains fully developed demonstrations- Questions- Independent Exercises to develop skill- Answers/Solutions provided by instructor (after completion)
Professor is Challenged!
Open Source in Remote Sensing (and Digital Image Processing)
- American River College struggles to maintain “commercial grade”digital image processing software (ERDAS, ENVI, etc)
- Students often have to “purchase” a student copy (~$200/yr)
- Need Low Cost, Straight forward Open Source Solution
Opticks – fits this need (opticks.org)
- Free (students can load at home)- Fully functional for the most common digital image processing
functions for remotely sensed imagery
Image Classification, Filters, EnhancementHyperspectral (Advanced)
- Strong software support (user/developer) with regular updates
- Learning curve straight forward
- Windows for viewing- Intuitive menu driven functionality- Table of Contents/Project for data management- Python and Wizards for custom development
Opticks – fits this need (opticks.org)
Python and Opticks
Python is offered as a separate extension to Opticks for furtherdeveloping the capability of Opticks.
Easier to develop and implement than C++
Doesn’t require an “involved” installation and code compiling process
Can take advantage of other open source developments such as:
SciPyNumPyavailable statistical routines
Python Development and Opticks
Current Developments
Algorithms for RADAR processing
1. Texture analysis2. Geometric corrections (Slant/Ground Range, Fall Off, etc)3. Filters
Others are working on:
Astronomical algorithmsFeature DetectionOther camera/video systems
Google Summer of Code (2010 and 2011) so far…