Remote Sensing: Learning, Learned & Rewritten

Image of Yemen acquired by Sentinel-2 in August 2015. Data courtesy of ESA.

Image of Yemen acquired by Sentinel-2 in August 2015. Data courtesy of ESA.

This blog post is about what I did and what thoughts came to mind on my three-month long ERASMUS+ internship at Pixalytics which began in July and ends this week.

During my first week at Pixalytics, after being introduced to the Plymouth Science Park buildings and the office, my first task was to get a basic understanding of what remote sensing is actually about. With the help of Sam and Andy’s book, Practical Handbook of Remote Sensing, that was pretty straightforward.

As the words suggest, remote sensing is the acquisition of data and information on an object without the need of being on the site. It is then possible to perform a variety of analysis and processing on this data to better understand and study physical, chemical and biological phenomena that affect the environment.

Examples of programming languages: C, Python & IDL

Examples of programming languages: C, Python & IDL

I soon realized that quite a lot of programming was involved in the analysis of satellite data. In my point of view, though, some of the scripts, written in IDL (Interactive Data Language), were not as fast and efficient as they could be, sometimes not at all. With that in mind, I decided to rewrite one of the scripts, turning it into a C program. This allowed me to get a deeper understanding of satellite datasets formats (e.g. HDF, Hierarchical Data Format) and improve my overall knowledge of remote sensing.

While IDL, a historic highly scientific language for remote sensing, provides a quick way of writing code, it has a number of glaring downsides. Poor memory management and complete lack of strictness often lead to scripts that will easily break. Also, it’s quite easy to write not-so-pretty and confusing spaghetti code, i.e., twisted and tangled code.

Writing C code, on the other hand, can get overly complicated and tedious for some tasks that would require just a few lines in IDL. While it gives the programmer almost full control of what’s going on, some times it’s just not worth the time and effort.

Instead, I chose to rewrite the scripts in Python which I found to be quite a good compromise. Indentation can sometimes be a bit annoying, and coming from other languages the syntax might seem unusual, but its great community and the large availability of modules to achieve your goals in just a few lines really make up for it.

It was soon time to switch to a bigger and more complex task, which has been, to this day, what I would call my “main task” during my time at Pixalytics: building an automated online processing website. The website aspect was relatively easy with a combination of the usual HTML, Javascript, PHP and CSS, it was rewriting and integrated the remote sensing scripts that was difficult. Finally all of those little, and sometimes not quite so little, scripts and programs were available from a convenient web interface, bringing much satisfaction and pride for all those hours of heavy thinking and brainstorming. Hopefully, you will read more about this development in the future from Pixalytics, as it will form the back-end of their product suite to be launched in the near future.

During my internship there was also time for events inside the Science Park such as the Hog Roast, and events outside as well when I participated at the South-West England QGIS User Group meeting in Dartmoor National Park. While it is not exactly about remote sensing, but more on the Geographic Information System (GIS) topic it made me realize how much I had learned on remote sensing in my short time at Pixalytics, I was able to exchange my opinions and points of view with other people that were keen on the subject.

A side project I’ve been working on in my final weeks was looking at the world to find stunning, interesting (and possibly both) places on Earth to make postcards from – such as one at the top of the blog. At times, programming and scientific research reads can get challenging and/or frustrating, and it’s so relaxing to just look at and enjoy the beauty of our planet.

It is something that anyone can do as it takes little knowledge about remote sensing. Free satellite imagery is available through a variety of sources; what I found to be quite easy to access and use was imagery from USGS/NASA Landsat-8 and ESA Sentinel-2. It is definitely something I would recommend.

Finally, I want to say “thank you” to Sam and Andy, without whom I would have never had the opportunity to get the most out of this experience, in a field in which I’ve always been interested into, but had never had the chance to actually get my hands on.

Blog written by Davide Mainas on an ERASMUS+ internship with Pixalytics via the Tellus Group.