Power tools for Satellite Imagery
Our love affair with Landsat is well documented. Today we are sharing the Landsat love with landsat-util, a command line utility that makes it easy to search, download, and process Landsat imagery. We hope these tools help NGOs, small government agencies, and researchers to benefit from open satellite data.
The Landsat Program has provided continuous imagery of the earth to the public since 1972. The newest Landsat satellite, Landsat-8, has sophisticated sensors like thermal infrared, which we use to detect fires, and near infrared, which we use to measure vegetation health. Landsat-8 has collected nearly two petabytes of open imagery data. This is an incredibly powerful data source for NGOs, researchers, municipal governments, and government agencies in developing countries. It is useful for everything from urban planning to detecting the effects of climate change.
Landsat data is still difficult and time consuming to work with. The same NGOs and small government agencies that stand to benefit most from Landsat data often lack the specialized technical expertise to process it. Over the past few months we've built tools to automate our own work with satellite imagery. It once took us all day to collect, georeference, composite, color correct, and pan-sharpen imagery. Now, we can do it in a matter of minutes. We've packaged our processing scripts into a command line utility. Landsat-util makes it easier for other developers and organizations to work with open satellite imagery.
Landsat-util does three things well:
- It searches loads of Landsat metadata,
- It makes downloading easier,
- It processes the data, with natural color-correction and pansharpening, and gets it ready for use in Mapbox Studio or your tool of choice.
Searching
Using our landsat-api, you can search all Landsat-8 metadata and find the images you are looking for. You can limit your search to specific date ranges, filter by cloud coverage, and look within specific rows and paths.
Landsat-util also makes it easier to find the imagery for a specific area. You can point it to a local shapefile and landsat-util selects all images that cover your shapefile. If you give a country, landsat-util selects all images that cover that country.
Downloading
Landsat-util uses imagery from Google Storage to download results faster than USGS Earth Explorer. Google, in partnership with USGS and NASA, stores Landsat imagery on its Google Earth Engine servers and offers them to the public for free. Landsat-util automatically downloads all of the SceneIDs that fit your search.
Processing
Landsat-util can do much of the processing required to make Landsat images useful in your project. It generates natural color images that are ready to be used on mapping tools such as TileMill and Mapbox Studio. All images are adjusted for quality, color, and contrast, and have incredible details (pansharpening increases pixel resolution 2x). They are WGS84 Web-Mercator (EPSG: 3857) georeferenced and can easily be added as a layer to web-based maps.
The power of the command line
If you know exactly what you are looking for you can search, download, color-correct, and pansharpen all with one command.
landsat search --download --imageprocess --pansharpen --cloud 4 --start "january 1 2014" --end "january 10 2014" pr 009 045
Turks & Caicos Islands, British West Indies
You can preview images before you download. Search commands provide a link to a thumbnail for each image.
landsat search --cloud 4 --start "August 1 2013" --end "August 25 2014" country 'Vatican'
Using the --pansharpen
flag will take longer to process but will produce clearer images.
landsat search --download --imageprocess --pansharpen --cloud 4 --start "august 11 2013" --end "august 13 2013" pr 191 031
Vatican/Rome, Italy - slide between images to check out pansharpening in action
You can also perform all processing on images that you previously downloaded.
landsat download LC81050682014217LGN00landsat process --pansharpen /your/path/LC81050682014217LGN00.tar.bz
Gurig National Park, Australia
landsat download LC82310622014187LGN00landsat process --pansharpen your/path/landsat/zip/LC82310622014187LGN00.tar.bz
For more possibilities, check out the documentation.
Limitations
Landsat-util uses a number of image processing tools that are very powerful but also very resource hungry. The image processing functions consume a good amount of memory (RAM) and it might not work on computers that have less than 6GB of ram. Using landsat-util also requires some other applications and libraries such as GDAL, ImageMagick and Orfeo Toolbox.
Mac users can install landsat-util and all dependencies through a simple brew command. We have provided a walkthrough for Ubuntu users. For other systems we provide a list of required dependencies.
Open Source
Landsat-util helps us in our own satellite imagery work and we believe could help others run smarter, faster and better analysis and research using satellite products. Let us know what you think and contribute to the repo.