Enhancing the Use of Python in GIS and Remote Sensing


Published on

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.

Published in: Education, Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Thank you.I am Nathan Jennings, Adjunct Professor at American River College in Sacramento and I am also a Google Summer of Code Mentor for the Opticks digital image processing software project managed by Ball Aerospace. I also work as a Senior GIS Professional for the City of Sacramento.This presentation will be about the use of Python and the open source image processing software for remotely sensed imagery, Opticks for the GIS Programming and Remote Sensing courses in the GIS Program at American River College.I will briefly provide a statement on Python and Open Source software and then provide a general overview of GIS and remote sensing at American River College and some of the challenges we continue to face with reduced budgets, a large student population that is made up of professionals looking to get re-trained, expand their skillset, and those looking for a lucrative career that has a wide array of employment options.
  • I am going to cover the following topics in this presentation…1. Provide a brief statement of Python and Open Source software2. Briefly describe what GIS and Remote Sensing is3. Describe some of the Skills, Abilities, and Knowledge sought after by employers and the students need in the workplace4. Provide an overview of the American River GIS Program5. Describe some of the academic challenges at American River College that are likely indicative of other colleges and universities6. How Open Source software helps providing quality education with fewer financial and department resources7. Briefly describe the online GIS Programming class I teach that uses Python for GIS programming8. Briefly describe how Opticks is used in the Remote Sensing class I teach at American River College9. How Python can be incorporated with Opticks to enhance its capability performing digital image processing on remotely sensed imagery.
  • In general GIS and Remote Sensing can generally be stated as indicated in the power point slide.
  • The Skills, Abilities, and Knowledge that is taught to students are the following in the academic setting. Students certainly desire how to use a particular software, but students also need to develop and use critical thinking and problem solving skills to technical geoprocessing problems, especially those that involve business information systems, and complex geospatial analyses.The job market desires not just the technical geospatial skills, but the problem solving, analytical, and ability to think and perform on an individual basis using one’s own current knowledge and collaborate with those colleagues with more experience or solicit the broad user community (possibly beyond the current workplace).
  • American River College is one of 4 major community college campuses in the Los Rios Community College District in Sacramento, CA.The GIS program is well know at American River College and has been found to be a good value to students who want to obtain practical skill in GIS, remote sensing, GPS, programming, and spatial analysis.Two options are available: 1) AS degree in GIS 2) GIS Certificate
  • The core courses that are offered at the American River College campus are in the accompanying slide. The work study course is a 60-72 hr internship in an actual workplace performing actual GIS related work for the organization. The work study course may be a paid or unpaid internship. Some lead to full-time employment.
  • Several academic challenges are faced, especially in tough economic times. Those include the above among others. Primarily, the ArcGIS software is funded since it is used at all campuses. The minimum enrollment is tending to go up each year or so. With limited licensing and lack of funding, other software for other classes is not being met. Open Source software is a viable alternative for both academic institutions and for individuals who want to obtain practical skill in the geospatial software tools. In addition, online offerings have increased in the program.
  • For American River College (I – Nate), has provide the following within American River College to help meet the demand of technical geospatial courses while accommodating continuous limited resources and funding:The GIS Programming course is fully on-line and using 100% Python for automating ArcGIS geoprocessing and mapping tasks.Continues to offer the students to learn critical thinking, problem solving, and an enhanced learning experience with ArcGIS…i.e. students are forced to understand the geoprocesses better in order to program them in Python.Blends the ability to use highly functional commercial software while implementing open source Python scripting to automate tedious and copious tasks (data management, map automation and production, and specialized business information processes).
  • Python in GIS is a skill that is highly sought after in the job market.Students learn and develop solid “work” skills that they will need to perform in the job place. Those listed are some that students will experience in a GIS career where programming is involved as well as they come out of the class with a portfolio of work that they can use when job seeking/interviewing, etc.
  • Students need more “information” and examples to help themselves learn Python for ArcGIS on their own or without immediate feedback by the instructor. The instructor (I, Nate) have developed the following materials to teach Python for ArcGIS programming.Webinars – available for real-time interaction and/or archived review by students via the Web.Working on a textbook/workbook A Python Primer for ArcGIS with written and explained concepts, fully worked out/explained demonstration programs, chapter questions, and an additional “practical exercise” that students are required to work on for a grade (and it becomes part of their portfolio). Answers and code are provided as part of the materials for distance and self paced learning.Regular on-line feedback via email, webinars, or phone.I (Nate, the instructor) originally thought this would be easier for him (me) to offer the class on-line and save himself/myself time. It has been the opposite, more time and development of materials. Less “anecdotal” conversation, since the class is not “face-to-face.”
  • For the Remote Sensing and Digital Image Processing course, American River College has struggled to maintain “commercial software” for the classroom. Even with serious discounts for the lab, it is still expensive for the organization for one or two classes to provide software maintenance and for students and the software companies do not offer “free” 6 month or annual licenses that would help them get through a GIS college program. These are hindrances to the students learning both remote sensing concepts and software in the same course. The open source software, Opticks, has been a primary software tool for the course and for students to learn the basic concepts of remotely sensed imagery, physical properties of remote sensing, and various fundamental digital image processing routines used with remotely sensed data.
  • Opticks fits the need of an Introduction or Survey of Remote Sensing and Digital Image Processing Course. Because Opticks is “free” students can gain more experience outside of the classroom/lab setting as well as continue to use it after the course ends.Regular updates of the software are available to anyone.Most students are not familiar with Remote Sensing or Digital Image Processing even if they take or are experienced in GIS.There are a number of open source image processing software packages in the open source community, but Opticks is relatively straight forward to learn, is organized into menu driven functionality toolbars and can access many of the image characteristics embedded within imagery (wavelengths, bit-type, image type, data type, image statistics – min, max, mean, histograms, etc).In addition, Opticks offers more advanced image processing techniques such as image classification and hyperspectral (sensors with more than 200 image bands) image processing.The development community is strong and has strong support by the original developers (Ball Aerospace).Also, Opticks has been offering the ability for end-users to write Python code using the Opticks libraries for expanding the capability of Opticks. User’s do not have to be C++ programmers to write highly functional code. Python has a less steep learning curve than programming and compiling C++ code.
  • Enhancing the Use of Python in GIS and Remote Sensing

    1. 1. Enhancing the Use of Python<br />in GIS and Remote Sensing<br />Nathan Jennings<br />American River College, Sacramento, CA<br />Opticks Open Source - Mentor<br />07 |24 | 2011<br />
    2. 2. Python and Open Source<br />GIS and Remote Sensing<br />GIS Skills, Abilities, Knowledge<br />The American River College GIS Program<br />Academic Challenges<br />Open Source – part of the Solution<br />GIS Programming using Python<br />Remote Sensing using Opticks<br />Python Enhancing Opticks<br />
    3. 3. Python and Open Source Software<br />Python <br /> Widely accepted and useful open source programming<br />language for many fields, industries, and platforms<br /> Relatively straight forward programming language<br />to learn<br /> Many software packages provide the ability to run<br />Python scripts to enhance base software<br />
    4. 4. Python and Open Source Software<br />Open Source Software<br /> Wide variety of software packages to choose from<br /> Many have a strong development and user communities,<br /> especially in GIS and Remote Sensing<br /> Allow for a low cost (“Free”) solution to commercial<br />alternatives<br />
    5. 5. Python and Open Source Software<br /> in GIS and Remote Sensing (Academic)<br />GIS – (Geographic Information Systems)<br /> Software to create, store, manipulate, analyze<br />geospatial information as well as produce geospatial<br />products such as maps, web services, and <br />mobile applications<br />Remote Sensing <br /> Collectively refer to both the sensors <br />(satellite and aerial photography) and<br />Digital Image Processing software to analyze <br />remotely sensed imagery<br />
    6. 6. Skills, Abilities, and Knowledge<br />Academic Setting<br /> - Provide experiences to learn and develop geospatial skills<br /> (technical and analytical)<br /> - Develop knowledge base for specific geospatial processes<br /> - Develop the ability to problem solve, trouble shoot, and<br />create solutions to geospatial problems<br />Job Market seeks Individuals that can:<br /> - Work independently<br /> - Critically think and problem solve a variety of solutions<br /> to geospatial problems<br /> - Use and develop current level of knowledge while on the job<br />
    7. 7. American River College – Sacramento, CA<br />Community College – part of Los Rios Community College System<br />Well known community college program for GIS<br />Offers:<br /> 1. Associate of Science degree in GIS<br />2. GIS Certificate<br />
    8. 8. American River College<br />GIS Program Course Offerings<br />GIS <br />Intro/Advanced GIS software<br />Spatial Analysis and Modeling<br />Web Mapping Applications<br />Intro/Advanced Database Design<br />GPS<br />Intro to GPS<br />Programming<br />Intro to GIS Programming (fully online, Python)<br />Remote Sensing and Digital Image Processing<br />Intro to Remote Sensing and Digital Image Processing<br />Work/Study – Internship at “real” workplace<br />
    9. 9. Academic Institution Challenges<br />Site License for ESRI (ArcGIS) software – fully funded<br />Struggle with obtaining and maintaining educational software licenses for Remote Sensing and Digital Image Processing course<br />Minimum Student Enrollment High (min. 22 students/semester)<br />Develop Knowledge, Skills, and Abilities that Job Market Seeks with continuing limited resources (classes/teachers)<br />Solutions include:<br /> Focus on Core Courses<br /> Online offerings (currently GIS Programming Course and Work Study)<br /> Seek cheaper (“Free”) software alternatives (e.g. Opticks)<br />
    10. 10. Python in GIS<br />Created the online GIS Programming Course<br /> - Enrollment has gone up<br />- Doesn’t have to compete with “in-class” courses<br />- Students are able to obtain this “sought after” skill<br /> without physically attending classroom or lab<br />100% Python for ArcGIS tasks<br />Students develop:<br />- Programming ability<br />- Geoprocessand map production automation skills<br />- Enhance their understanding of geoprocesses and<br /> ArcGIS functionality<br />- Critical Thinking, Problem Solving, Troubleshooting skills<br />
    11. 11. Python in GIS<br />Students and Job Market seek the skill<br />Students are Challenged!<br />- Programming is Hard<br />- Requires understanding of proceses(e.g. geoprocesses)<br />- Requires understanding in logic (first, second, third processes<br />and which pre-requisite processes are required to<br />successfully develop and implement the code)<br /><ul><li>Requires students to “think like a computer” – not easy
    12. 12. Students work on common geoprocessing and map automation</li></ul>tasks for exercises<br /><ul><li>Develop their own application as part of the course
    13. 13. Students leave the course with a portfolio of work and application</li></ul> for use in the job market<br />
    14. 14. Python in GIS<br />Professor is Challenged!<br /><ul><li>Distance Learning – not the same as “face to face”!
    15. 15. Using Webinars (more as a norm than an option)
    16. 16. Developed a “text book/work book” for students</li></ul>A Python Primer for ArcGIS – (in press), N. Jennings<br /><ul><li>Contains fully developed demonstrations
    17. 17. Questions
    18. 18. Independent Exercises to develop skill
    19. 19. Answers/Solutions provided by instructor (after completion)</li></li></ul><li>Open Source in Remote Sensing (and Digital Image Processing)<br />- American River College struggles to maintain “commercial grade”<br />digital image processing software (ERDAS, ENVI, etc)<br />- Students often have to “purchase” a student copy (~$200/yr)<br />- Need Low Cost, Straight forward Open Source Solution<br />
    20. 20. Opticks – fits this need (opticks.org) <br />
    21. 21. Opticks – fits this need (opticks.org) <br />- Free (students can load at home)<br />- Fully functional for the most common digital image processing<br /> functions for remotely sensed imagery<br /> Image Classification, Filters, Enhancement<br />Hyperspectral (Advanced)<br />- Strong software support (user/developer) with regular updates<br />- Learning curve straight forward<br />- Windows for viewing<br />- Intuitive menu driven functionality<br />- Table of Contents/Project for data management<br />- Python and Wizards for custom development<br />
    22. 22. Python and Opticks<br />Python is offered as a separate extension to Opticks for further<br />developing the capability of Opticks.<br />Easier to develop and implement than C++<br />Doesn’t require an “involved” installation and code compiling process<br />Can take advantage of other open source developments such as:<br />SciPy<br />NumPy<br />available statistical routines<br />
    23. 23. Python Development and Opticks<br />Current Developments<br />Algorithms for RADAR processing <br /> 1. Texture analysis<br />2. Geometric corrections (Slant/Ground Range, Fall Off, etc)<br />3. Filters <br />Others are working on:<br />Astronomical algorithms<br />Feature Detection<br />Other camera/video systems<br />Google Summer of Code (2010 and 2011) so far…<br />
    24. 24. Questions<br />Please submit other questions to:<br />nate@jenningsplanet.com<br />Thank You!<br />