Overview
- Introduction
- Required equipment
- Drone driving tips for mapping an area
- Visualizing data in QGIS
- 1. Installing QGIS
- 2. Importing map layers
- 3. Setting map projections
- 4. Importing CSV data
- 5. Creating a new layer for a certain parameter
- 6. Removing unwanted data from layers
- 7. Map data points to color gradients
- 8. Interpolate data points
- 9. Adding labels
- 10. Visualizing data points in 3D
- 11. Designing print layout and exporting as PDF
- Further reading
Introduction
QGIS is an open-source Geographic Information System (GIS) software. It provides a powerful and versatile platform for working with geospatial data, enabling users to visualize, analyze, and manage geographical information.
By importing the dive log as a CSV file, you can map different parameters to effectively visualize data from your dive. This becomes particularly relevant when utilizing the Aqua TROLL 500 sensor, which is capable of measuring multiple water parameters such as salinity, dissolved oxygen, pH, turbidity, and more.
In this guide, we will walk you through each step, starting from mapping an area with the ROV, all the way to creating informative maps that showcase parameter data in both 2D and 3D formats. Moreover, we will demonstrate how to export these maps as PDF files for easy sharing and distribution.
Required equipment
- Blueye X3 drone
- Positioning system (DVL A50 or UGPS from WaterLinked)
- Aqua TROLL 500 (for mapping parameters beside water temperature and depth)
- QGIS software (this guide is written using version 3.28.8)
Drone driving tips for mapping an area
- Use a DVL, and turn on station keeping while driving.
- In the navigation menu, select your preferred map. If the map isn't loaded, disconnect the drone and connect to WiFi or mobile data, go back to the navigation menu and the map should show up.
- Dive down to your preferred depth and drive the drone back in forth in a pattern while looking at the map and the trail showing where you have been.
- While in dive view: position the drone in alignment of a heading of choice (use the compass in the dive view), drive forward for certain amount of time and then turn the drone slowly around in a half circle pattern and drive back in the opposite direction. Keep doing this until you have covered the area you want to map.
Visualizing data in QGIS
1. Installing QGIS
Installing QGIS should be straight forward. Go to https://qgis.org/en/site/forusers/download.html and install the software for your operating system. We have tested QGIS on both Windows and macOS. In this guide QGIS version 3.28 has been used.
2. Importing map layers
First off, click on New Empty Project to start a new project. A window similar to the one shown below should appear.
To import the map layers Google satellite and Open Street Map, go to Layer->Add Layer->Add XYZ Layer in the top menu. Click the button named New, which opens this window:
Give the layer a name (ex. Google satellite) and paste the URL for Google satellite given below in the URL field as shown in the image. Set the Max. Zoom Level to 19. Click OK.
URLs for a selection of map layers:
Google Satellite | http://www.google.cn/maps/vt?lyrs=s@189&gl=cn&x={x}&y={y}&z={z} |
Google Maps | http://mt1.google.com/vt/lyrs=m&x={x}&y={y}&z={z} |
Google Terrain Hybrid | http://mt1.google.com/vt/lyrs=p&x={x}&y={y}&z={z} |
ESRI Satellite |
https://server.arcgisonline.com/ArcGIS/rest/services/ World_Imagery/MapServer/tile/%7bz%7d/%7by%7d/%7bx%7d |
Open Street Map | https://tile.openstreetmap.org/{z}/{x}/{y}.png |
Bing Virtual Earth | http://ecn.t3.tiles.virtualearth.net/tiles/a{q}.jpeg?g=1 |
The layer will appear in the Browser menu under XYZ Tiles. To add the layer to the project double click on the name of the layer.
If you are based in Norway you can use Kystverkets sjøkart for a more detailed marine map. This map has to be added in a different way, and to do so, go to Layer->Add Layer->Add WMS/MWTS Layer. Click New in the window that pops up. Give the layer a name and paste the URL for Kystverkets sjøkart given below in the URL field as shown in the image. Click OK.
Kystverkets sjøkart hoved | https://wms.geonorge.no/skwms1/wms.sjokartraster2?service=wms&version=1.3.0&request=getcapabilities |
Back in the window shown below, select Sjøkart Raster from the list, and click Add in the lower right corner.
3. Setting map projections
The map might look skewed or stretched in a strange way if the map projection is set to the wrong type. To determine the layers projection, right click on the name of the layer and select Properties from the menu. Then go to the Information tab. Scroll down until you find the information about Coordinate Reference System (CRS). For the Google Satellite layer you can see that the CRS is
EPSG:3857 - WGS 84 / Pseudo-Mercator.
To change the map projection close the window and click on the button in the lower right corner.
The name ESPG:3395 shows you the currently selected map projection. In the window that pops up, search for the layer's CRS, select it and click Apply.
4. Importing CSV data
In the Blueye app, download the log file from your dive as a CSV file and share it to your computer.
In QGIS go to Layer->Data Source Manager and go the Delimited Text page in the left menu. Click the button with three dots to the right of the File name. Select the CSV file from your dive. You can set the name of the layer in the input field Layer name. Make sure that the settings match with the ones seen in the image below. Pay particular attention to the value types of the Sample Data. Generally parameter values should be in Decimal format and time and units in Text format. When everything is correct, click Add and then Close.
5. Creating a new layer for a certain parameter
Creating individual layers for each parameter you wish to visualize can be highly useful. To achieve this, right-click on the imported data layer and navigate to Export->Save Feature as. In the window that pops up, use the format GeoPackage. Click on the button with the three dots to select the file path to where you want to save the layer. Give the layer a descriptive name, and click OK. The new layer will appear in the Layers section.
6. Removing unwanted data from layers
You typically need to do a quick clean up of the data set before further manipulation. To do so, right click on the layer you just made and select Open Attribute Table. In the window that appears, you can see all the data in the CSV file. To edit the data, click on the button in the upper left corner. Now you can select the data you want to remove. In my case, I don't have data for DroneLat and DroneLon before row 291, so I want to delete row 1-290.
Tip: select the first row and hold down Ctrl+Shift (⌘+⇧ on Mac) while selecting the last row you want to delete to select all the rows at once.
Once this is done, untoggle editing mode and click Save when asked to save the changes.
You can always right click on a layer and select Zoom to Layer(s) to get your data points in view.
Another method to remove data points is to use the Select Features by Area or Single Click functionality found in the top menu. Simply mark the data points you want to remove, and click delete. Remember to toggle editing mode.
7. Map data points to color gradients
To visualize the values from the selected water parameter, you can add a color gradient to the data set. Right click on the layer and select Properties. Then go to Symbology in the window that pops up. Select Graduated in the drop-down menu and as the value, choose the parameter you want to make a color gradient for. Set your preferred Color ramp from the drop-down menu. Select a number of Classes and click on the button that says Classify. Click Apply and you will see that your data points has changed colors based on the parameter values.
8. Interpolate data points
QGIS has the functionality to interpolate the data points of a parameter which enables you to make layers shown in the image below.
In the Processing Toolbox which you will find in the panel on the right side, search for TIN interpolation and double click on the name.
In this window, select the Vector layer where you have your data points. Select the Interpolation attribute, for example WaterTemp or any other parameter you want to interpolate. Then click on the green plus symbol.
For Extent click on the arrow and select Calculate from Layer and then choose the one you set as Vector layer.
In the Output raster size we specify the resolution of the layer. The values in these fields depends on the size of the area you have mapped, but to get the best resolution, set Pixel size X and Pixel size Y to be 0,000001 as shown below.
You can save the layer if you want by clicking on the button next Interpolated, but it is not necessary. Then click Run and a new layer will appear. You can also change the color gradient of the layer similar as we did in 7. Map data points to color gradients.
9. Adding labels
To add labels, select Layer Styling in the panel on the right side. Then, select the layer you want to add labels to, and choose Rule-based Labeling in the drop-down menu. Rule-based labeling gives you the possibility to add labels to every other data point, making it more readable in the map.
Click on the green pluss symbol to add and style the labels. In the input field named Filter you can add an expression to filter out labels for every other data point. For example, write "fid%12=0" to see the label of every 12th data point. Here, fid refers to the id of each data point and % is the modulo operator. In the field named Value, select the parameter you want to add labels to.
You can set the number of decimal places by clicking the tab named "+ab<c" and change the number in the field named Decimal places.
10. Visualizing data points in 3D
Using the plugin Qgis2threesjs, we can visualize data points in an interactive 3D-view as shown in the image below.
First install the plugin by going to Plugins->Manage and Install Plugins in the top menu. Search for Qgis2threesjs and install the plugin. After installation, close the window and restart QGIS.
After the installation, a new icon will appear in the top menu:
Click on the icon to start the plugin. A new window, similar to the one shown below will appear. In the left panel you can select the layers you want to see. Here, I have chosen the map layer and a layer of salinity data points.
To get the 3D-view of the data point, we have to change some settings. Right click on the layer and select Properties. In the window that appears, select the your preferred shape of the data points under Type. We need to specify the z-coordinate to get the real 3D-view of the dive. Choose Expression for Altitude and set the expression to -Depth. Notice the minus sign in front of Depth. To change the size of the data points, edit the value(s) under Geometry. When done, click Apply and then OK.
It is possible to export the 3D view as a GLB file which can be viewed in programs such as PowerPoint, Paint 3D, Microsoft 3D Viewer etc. On mac, you can use for example GLTF Review from App Store to view the file. Go to File->Save Scene As->gITF (.gItf, .glb) and save it as a .glb file.
11. Designing print layout and exporting as PDF
To create a report of the map and parameter layers, go to Project->New Print Layout. After naming it, a window as shown below will pop up.
To import the map, click on the icon named Add Map in the left menu as shown below. Then, while pressing your left mouse button in the upper left corner of the white field, drag the cursor to the lower right corner to fill the entire field with the map.
To add legends, click on the Add Legends button in the left menu. Mark the area you want to place the legends. Under Item Properties, unselect Auto update and remove the layers you don't want to be seen in the report.
You can add a north arrow and scale bar by selecting those components from the left menu.
It is also possible to add images, for example a screen shot of the 3D-view as shown below.
To export the print layout as PDF, click on the Export as PDF button in the top menu.
Further reading
To learn more about QGIS: https://www.qgistutorials.com/en/.
For more information about Qgis2threesjs: https://qgis2threejs.readthedocs.io/en/docs/index.html.
For more information about Aqua TROLL 500: https://support.blueye.no/hc/en-us/articles/9638386551452.
Comments
0 comments