Enhancing the Use of Python in GIS and Remote Sensing

18
Enhancing the Use of Python in GIS and Remote Sensing Nathan Jennings American River College, Sacramento, CA Opticks Open Source - Mentor 07 |24 | 2011

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 of Enhancing the Use of Python in GIS and Remote Sensing

Page 1: Enhancing the Use of Python  in GIS and Remote Sensing

Enhancing the Use of Python in GIS and Remote Sensing

Nathan JenningsAmerican River College, Sacramento, CA

Opticks Open Source - Mentor

07 |24 | 2011

Page 2: Enhancing the Use of Python  in GIS and Remote Sensing

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

Page 3: Enhancing the Use of Python  in GIS and Remote Sensing

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

Page 4: Enhancing the Use of Python  in GIS and Remote Sensing

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

Page 5: Enhancing the Use of Python  in GIS and Remote Sensing

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

Page 6: Enhancing the Use of Python  in GIS and Remote Sensing

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

Page 7: Enhancing the Use of Python  in GIS and Remote Sensing

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

Page 8: Enhancing the Use of Python  in GIS and Remote Sensing

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

Page 9: Enhancing the Use of Python  in GIS and Remote Sensing

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)

Page 10: Enhancing the Use of Python  in GIS and Remote Sensing

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

Page 11: Enhancing the Use of Python  in GIS and Remote Sensing

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

Page 12: Enhancing the Use of Python  in GIS and Remote Sensing

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!

Page 13: Enhancing the Use of Python  in GIS and Remote Sensing

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

Page 14: Enhancing the Use of Python  in GIS and Remote Sensing

Opticks – fits this need (opticks.org)

Page 15: Enhancing the Use of Python  in GIS and Remote Sensing

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

Page 16: Enhancing the Use of Python  in GIS and Remote Sensing

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

Page 17: Enhancing the Use of Python  in GIS and Remote Sensing

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…

Page 18: Enhancing the Use of Python  in GIS and Remote Sensing

Questions

Please submit other questions to:

[email protected]

Thank You!