A geospatial Python class for crop recognition over drone orthophoto - Tutorial

Spatial analysis and machine learning sometimes require massive coding in order to achieve decent results such as identifying plants from a drone orthophoto. We wanted to create a simple workflow for beginner and intermediate Python users to work with these libraries without much pain or frustration. This tutorial has the complete procedure to use a Python class that recognizes plants from an orthophoto based on sample points and creates intermediate plots and identifies plants as point shapefiles.

Read More

How to delineate crops from Drone Orthophotos with QGIS - Tutorial

While doing research on machine learning algorithms for drone orthophotos we found that crops can be delineated with just standard QGIS with excellent performance. Based on the addition of the blue and red band divided by the green band we can have a new vegetation index where the most healthy crops have low index values (0-1.5) and the dry crops / barren soil have high values (more than 1.9). This tutorial shows the complete procedure on QGIS to perform the delineation from bean plants on a drone orthophoto with a resolution of 5cm.

Read More

How to make a lake/reservoir volume-elevation curve with Python - Tutorial

Python is a programming language capable of performing calculations for hydrological studies and water resources evaluations. We have done a tutorial for the volume-elevation curve determination of the lake Patillas in Puerto Rico with Python and numerical / spatial libraries as Numpy and Rasterio. Finally, results were compared to the volume-elevation curve form a USGS survey. The procedure was done this time for a lake, but can be easily applied to any reservoir or water body when the bottom elevation is available as a raster file.

Read More

Gypsum and Anhydrite solubility calculation with Phreeqc and Python - Tutorial

Tutorial for the calculation of the solubility and thermodynamic stability of gypsum and anhydrite. The example simulates the dissolution of two minerals in a beaker at equilibrium, and the beaker is heated step-wise from 25ºC to 75ºC. Concentrations and saturation indices for the initial solution and the batch reaction are shown as Pandas dataframes and plotted as bar diagrams on a Jupyter Notebook. Finally a plot of the saturation index for anhydrite and gypsum with temperature is generated from an iteration over the batch reaction steps.

Read More

How to display anticlines / synclines in QGIS - Tutorial

There are three essential things for the representation of geological data on QGIS: the spatial geological information, an appropriate symbology and the software knowledge. Once these three things are available, the potential of QGIS to represent geological maps is unlimited.

We have done a tutorial for the representation of synclines, anticlines, overturned synclines and overturned anticlines on the regional scale with QGIS.

Read More

Advances in Modeling Groundwater Flow and Transport with MODFLOW

In 2017, the U.S. Geological Survey released a new core version of the MODFLOW program. This new version, called MODFLOW 6 (the sixth core version), extends the core MODFLOW capabilities to include robust solutions for complex water table problems, support for generalized meshes with focused resolution within areas of interest, and support for multiple models and multiple types of models within the same simulation. In addition to the Groundwater Flow Model, MODFLOW 6 now contains a Groundwater Transport Model, which can run simultaneously with the flow model or as a separate simulation using the results from a previous groundwater flow simulation.

Read More

Seawater speciation modeling with Phreeqc coupled with Python and Pandas - Tutorial

The speciation modeling allows to calculate the distribution of aqueous species in a solution. Phreeqc is capable to simulate this speciation calculation and we are going to demonstrate this capability on a study case of aqueous species in seawater.

We have done a tutorial for the speciation modeling of seawater with Phreeqc that runs under Python in a Jupyter Lab enviroment. The code can run the Phreeqc executable, define the databases and stablish the output files. Results from simulation are available as Pandas dataframes and plots are made for the main components and the distribution of saturation indices.

Read More

How to simulate and visualize output data from a SWAT+ hydrological model with QGIS and QSWAT+

We have done a tutorial that covers the simulation process and output visualization from a basin scale hydrological model in SWAT+. The tutorial imports an existing QSWAT+ project, reviews the main geospatial parts of the model, runs the SWATPlusEditor and imports model results into the database. Finally, the available options for output data visualization in QGIS are explored for HRUs, channels and the whole basin.

Read More

Delineate water bodies (lakes) from Landsat 8 using machine learning with Python and QGIS - Tutorial

The process of retrieving information from satellite imagery could be time consuming and faces challenges like image resolution, feature recognition and user criteria. With the use of machine learning tools we can preprocess images and combine them with standard QGIS tools to delineate objects in a much efficient way.

We have done a tutorial for the delimitation of water bodies as lakes from a panchromatic Landsat 8 image. The tutorial shows a mixed procedure that detects edges with Python and Scikit Image , traces paths with QGIS and the Trace Raster plugin and finally gets the lake extension as a Shapefile.

Read More

How to plot thrust and normal faults in QGIS - Tutorial

A good spatial representation of the geological features requires not only high quality field data but also the right symbology and graphical resources. We can define QGIS as the tool that can create awesome geologic maps but still some resources have to be developed for a massive use. This tutorial shows the procedure to represent normal and inverse faults with symbology included on the input data files.

Read More

How to delineate crop rows with machine learning using Python and Scikit Learn - Tutorial

Drone imagery shows us features on the surface with high precision and machine learning tools allows us to understand and get information from those images. We present a tutorial in Python together with Scikit Learn and geospatial libraries that delineates crop rows on a corn field and provides results as a vector spatial file.

Read More

Tutorial to delineate urban channel networks and drainage basins from Lidar data with QGIS3

Hydrological process of precipitation - runoff can happen in small areas however the common tools to evaluate the drainage networks are mostly related to the regional scale. Lidar devices provide millions of 3D points with resolution capable of defining drainage basins on much larger scales and delineate channel networks of neighborhoods or city districts.

We have done a tutorial for the channel network and drainage basins delineation over an urban area in Los Angeles, USA. The tutorial shows the whole procedure from downloading the Lidar data, processing the Las files and processing the rasters with QGIS.

Read More

Should groundwater models from environmental evaluations be done in open source software?

The topic of open source software and environmental assessments has some interesting associations. For example, if an investment project delivers a groundwater model in Xflow software, the environmental evaluator needs an Xflow license in order to open the model, review the simulations, and report on their observations. But what about civil society? or the communities that have an interest in knowing how the model is built or in the results of the predictive simulations, do these people also need an Xflow license? And what happens if another regulator wants to review the model, can they do so or they can only ask for a technical opinion?

Read More

How to upload Shapefiles to PostGIS with Python, Geopandas and SQLAlchemy - Tutorial

In our research for new geospatial tools in Python and better ways to deal with geospatial data we found that complex or full featured processes are already included in the common spatial libraries as Geopandas. We have developed an applied example to upload point / line / polygon ESRI Shapefile to a Postgres / Postgis database with Python, Geopandas and SQL Alchemy in a few lines of code. Besides, we have simplified the procedure to run a Postgres database inside the Hakuchik Docker image fully connected to QGIS.

Read More