How to Install GDAL for Any Operating System
| | |

How to Install GDAL for Any Operating System

GDAL, the Geospatial Data Abstraction Library, was designed to interact with raster and vector (geospatial) data. Over time it has evolved to include sophisticated data manipulation and analysis tools. The GDAL source code is C++, which makes it fast to run but difficult to install. Many software and applications use GDAL for handling and analyzing…

Creating New Shapefiles in QGIS
|

Creating New Shapefiles in QGIS

A shapefile is a file format that represents geographic data in vector format. Shapefiles define points, lines, and polygons. The shapefile format was developed by ESRI and is frequently referred to as an ESRI shapefile. Shapefiles are not the only way to represent vector data. Geopackages, GeoJSON, KML, CSV, and database structures also represent vector…

Creating REMs and Detrended DEMs in QGIS
|

Creating REMs and Detrended DEMs in QGIS

Have you ever seen those really awesome visualizations of rivers that are made with elevation data? You know, the ones where you can see the channels meander through the floodplain? Those visualizations are made using relative elevation models (REMS), which are also known as detrended DEMs. Visualizing data for rivers in GIS and map visualizations…

Download and Display Lidar Data for the United States
|

Download and Display Lidar Data for the United States

Lidar data is awesome! It has so many great uses and produces some amazing visualizations. But it’s not without its problems. Mainly, lidar data can be difficult to work with because file sizes are so large. This means that point clouds are usually tiled and if the area you’re interested in overlaps multiple tiles then…

Geocode Addresses for Free (the EASY way)

Geocode Addresses for Free (the EASY way)

Geocoding (i.e. geolocating) is the process of converting street addresses to coordinate pairs that can be easily mapped. Addresses are very useful but are difficult to map without converting them to coordinates first. There are many softwares that will geocode addresses to coordinates for you. Some are free and some are paid. Each software has…

Reproject Raster and Vector Layers with QGIS
|

Reproject Raster and Vector Layers with QGIS

With QGIS reprojections can be calculated with the export data tool, the reproject layer tool, and GDAL Warp. Reprojecting layers (i.e., converting them to a different coordinate reference system, or CRS) is often an important step of geospatial analysis to ensure layers are properly registered and perform distance and area calculations. I’ll demonstrate how to use the export, reproject, and warp methods to reproject raster and vector layers.

How to Clip a Raster to a Polygon or an Extent with Python (Extract by Mask)
| |

How to Clip a Raster to a Polygon or an Extent with Python (Extract by Mask)

Clipping, extracting to masks, and subsetting rasters are common GIS operations. Using the gdal package for Python it is very easy to automate these processes. This tutorial will demonstrate how to use the Warp() function from the gdal Python API to clip rasters to a specified extent and to clip rasters to a polygon layer. These operations are also often referred to as mask extraction or extract to mask.

How to Install GeoPandas and Check GeoPandas Version
| |

How to Install GeoPandas and Check GeoPandas Version

GeoPandas is a high-level Python package for reading, writing, analyzing, and manipulating vector (points, lines, and polygons) geographic data. As the name ‘GeoPandas’ implies, it brings pandas data frame functionality to geographic data so that you interact with the data much as you would an attribute table in ArcMap or QGIS or a spreadsheet in…

Remote Sensing Analysis with QGIS
| |

Remote Sensing Analysis with QGIS

In geographic information science (GIS), remote sensing is the act of acquiring information about the features of the Earth’s surface from a distance. Remotely sensed data are acquired from many different platforms including, satellites, aircraft, and fixed instruments with many different sensors including, spectral imagery (cameras), lidar, and radar. The most common form of remotely…

Supervised Image Classification with QGIS
| |

Supervised Image Classification with QGIS

Image classification techniques are at the heart of modern remote sensing. Image classification is a method of extracting usable information from images. Without classification, images are just a collection of numbers that represent colors and it’s very difficult to obtain any quantifiable information about a landscape from data like that. With remote sensing techniques, we…

How to Make a Web Map with QGIS using the qgis2web plugin
| |

How to Make a Web Map with QGIS using the qgis2web plugin

GIS software makes it possible to create maps that contain a lot of powerful and important information. However, sharing those maps and information with non-GIS users can be difficult, especially when maps contain multiple layers. Others may not have GIS software or know how to use it, and an image of a map may not…

Unsupervised Image Classification with QGIS
| |

Unsupervised Image Classification with QGIS

Image classification is the process of using numerical methods to automate the identification of objects in images and is a common method to interpret satellite imagery. With vast amounts of satellite imagery being collected every day it is next to impossible to manually classify satellite images for their many purposes. Instead we rely on numerical…

How to Download Landsat and Sentinel Images for Free
| |

How to Download Landsat and Sentinel Images for Free

Satellite images are important data sources for many remote sensing and GIS analyses. Today many different satellites circle the globe and collect various image types. Images from many of these satellite platforms are available free of charge. This tutorial will demonstrate how to download images from the Landsat (Landsat 9) and Sentinel (Sentinel 2) satellites…

GDAL Python Tutorial: Reading and Writing Raster Datasets
| |

GDAL Python Tutorial: Reading and Writing Raster Datasets

The Geospatial Data Abstraction Library (GDAL) is the standard for managing spatial data formats. GDAL has been incorporated into many different enterprise and open source GIS projects. Because GDAL is open source, it can be used by all. Learning to use GDAL with Python can help you automate workflows and implement custom raster processing solutions….

How to Create Contour Lines and Labels with QGIS
|

How to Create Contour Lines and Labels with QGIS

Contour lines are most often used to represent topography on two-dimensional maps and figures. However, they can represent spatially changing values for any variable. Creating, styling, and labeling contour lines can be a little tedious, and it takes a little bit of time to learn exactly which tools to use to do this in QGIS….

Read and Plot NetCDF Data in Python with xarray and rioxarray
| |

Read and Plot NetCDF Data in Python with xarray and rioxarray

Recently, I’ve started using rioxarray to read NetCDF data into xarray format. If you’re not familiar with the xarray python package it’s basically a wrapper (for lack of a better term) around numpy arrays that allows metadata to be included with the arrays (more on this later with an example).

How to Create a DEM (or Raster) from a Lidar Point Cloud

How to Create a DEM (or Raster) from a Lidar Point Cloud

Lidar data are 3D point clouds that can describe Earth’s surface in great detail. However, lidar point clouds present some challenges because of how much data they contain. One fundamental challenge with lidar data is how to effectively extract the points that represent the Earth’s surface (not vegetation, building, or other objects) and create a…