Geospatial Programming

Programming is an integral part of HSU's geospatial program. Geospatial majors are required to take a Python programming class. Additionally, students will learn the foundation of other programming languages in labs and group projects in the Advanced GIS course.


Knowledge of the Python programming language enables programmers to completely control the functionalities of a computer. Many geospatial software applications offer a Python interface, including ESRI's ArcMap, QGIS, ENVI, and ERDAS Imagine. Python greatly enhances functionality and efficiency by enabling data retrieval, transformations, and storage to be automated. Python also enables programmers to create new functionality into computers. UAS flight controllers, such as the Pixhawk used in 3D Robotics unmanned aircraft, also interface with Python. This enables programmers to have complete control over aircraft functions. HSU students are using Python to develop pipelines for UAS data processing.

HTML, CSS, and JavaScript

HTML, CSS, and JavaScript are the primary languages used to develop the front-end of a website. HTML lays out the static structure of a web page, CSS defines the styles, and JavaScript creates the dynamic functions. HSU faculty and students are using these programming languages to develop new web mapping solutions to distribute information in interactive environments.

Student Projects

Sample: F-Number Calculator

Figure 1. Image depicts various aspects of depth-of-field in reference to UAS operations.


Unmanned aircraft systems (UAS) are increasingly being used to acquire aerial photographs. Off-the-shelf consumer-grade cameras are commonly used by scientists and researchers in aerial mapping and monitoring studies. Obtaining photographs of the highest quality with any given camera, requires that the parameters of that camera be set correctly. The f-number is one of the primary settings that needs to be defined. The f-number is the ratio of the len's focal length to the diameter of the entrance pupil. The f-number determines the depth-of-field (DoF) in any particular shot. The DoF is the distance between the nearest object that is in focus (DoF-Near), and the farthest object that is in focus (DoF-Far). In order to ensure that the DoF is sufficient to capture all parts of a scene in focus, the appropriate f-number needs to be defined.

This F-Number calculator generates a required F-Number for a Camera to achieve a proper focus across an entire scene. To do this, it reads the elevation values of a DEM for a given scene, and determines the difference between the highest and lowest point. The difference is used as the required depth of field (DoF) to get all areas in focus. The user must input a digital elevation model (DEM) for the subject area, as well as the focal length of the camera, the circle of confusion (COC) for the camera/lens, and the closest distance between the aircraft and the ground during the flight.

To read a sample report generated by this program, please click here.

To download the code and supporting files, please click here.