User Tools

Site Tools


nsw_lidar

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
nsw_lidar [2019/02/08 03:15]
bushwalking
nsw_lidar [2020/08/05 08:50]
bushwalking
Line 1: Line 1:
-Page for documenting NSW lidar processing 
 ====== Intro ====== ====== Intro ======
 NSW Spatial Services have undertaken a program to map all of NSW using lidar (light detecting and ranging) NSW Spatial Services have undertaken a program to map all of NSW using lidar (light detecting and ranging)
 For details, see information on their [[http://​spatialservices.finance.nsw.gov.au/​mapping_and_imagery/​environmental_spatial_programs|elevation program]]. For details, see information on their [[http://​spatialservices.finance.nsw.gov.au/​mapping_and_imagery/​environmental_spatial_programs|elevation program]].
  
-Elevation data can best be accessed through the [[http://​elevation.fsdf.org.au/​|Geoscience Australia ELVIS program]], and then processed with a GIS such as [[https://​www.qgis.org/​en/​site/​index.html|QGIS]] to create useful topographic maps.+Elevation data can best be accessed through the [[http://​elevation.fsdf.org.au/​|Geoscience Australia ELVIS program]]
 + 
 +It can then processed with a GIS such as [[https://​www.qgis.org/​en/​site/​index.html|QGIS]] to create useful topographic maps. Instructions below are specifically for use with QGIS, though the general outline may be useful for other GISs.
  
 ====== Resources ====== ====== Resources ======
Line 23: Line 24:
 The NSW DEM data is supplied in 2km squares. The squares need to be merged into a single DEM for further operations. The NSW DEM data is supplied in 2km squares. The squares need to be merged into a single DEM for further operations.
  
-While this can be done in theory using a virtual raster, I have had poor performance with this. Any operation seems to result in screen redrawing, so moving around and zooming in and out is quite slow and painful.+While this can be done in theory using a Virtual Raster, I have had poor performance with this (including recent version 3.12 Bucuresti). Any operation seems to result in screen redrawing, so moving around and zooming in and out is quite slow and painful. That said, if you are just using the Virtual Raster for future steps, then the limitations from the screen redrawing may not be important.
  
-Instead, ​I generally use the the Raster- > Miscellaneous -> Merge... function+<insert function here> 
 + 
 +I generally use the the Raster- > Miscellaneous -> Merge... function 
 + 
 +Note that while most of the eastern ranges, where a lot of bushwalking happens, are 2m DEMs, the coast is typically 1m, and the western slopes and plains are 5m (with major rivers 1m!).  
 + 
 +QGIS uses [[https://​gdal.org/​programs/​gdal_merge.html|gdal_merge]],​ which defaults to using the resolution of the first file. This is not always desired. It can be controlled by using the optional -ps (pixel size) switch. For example, if you have a combination of 1m and 2m DEMs, you can use -ps 1 1 to force them to a merged 1m DEM, or -ps 2 2 to force them to merge to a 2m DEM.
  
 ===== Fill Sinks ===== ===== Fill Sinks =====
Line 43: Line 50:
  
 ===== Contours ===== ===== Contours =====
 +==== Basic Processing ====
 There are various contour extraction algorithms in QGIS, for example: There are various contour extraction algorithms in QGIS, for example:
   * GDAL : Raster Extraction : Contour (same as Raster -> Extraction -> Contour...)   * GDAL : Raster Extraction : Contour (same as Raster -> Extraction -> Contour...)
Line 50: Line 57:
 {{:​2019_02_08_12_17_09_untitled_project_qgis.png?​300|}} {{:​2019_02_08_12_17_09_untitled_project_qgis.png?​300|}}
 {{:​2019_02_08_12_17_57_untitled_project_qgis.png?​300|}} {{:​2019_02_08_12_17_57_untitled_project_qgis.png?​300|}}
 +
 +Even with sink removal, small 
 +
 +==== Simplifying ====
 +
 +Vectors can be compressed by using something like:
 +  * Vector geometry : Simplify
 +A tolerance of 1(m) seems reasonable for 1:25000 mapping. Smaller tolerances may be appropriate for larger scale maps (eg 1:10000, 1:5000).
 +
 +For more options in compression,​ look at:
 +  * GRASS : [[https://​grasswiki.osgeo.org/​wiki/​V.generalize_tutorial|v.generalize]]
 +V.generalize can also be used to smooth contours - possibly best done prior to simplificiation
 +
 +==== Cleaning ====
 +
 +Once simplified, it is worth removing small closed loops, such as those in the image below.
 +{{:​contour_loops.png|}}
 +
 +Here is one approach, which involves adding a length attribute to each contour, and removing those that fall below a certain length. It may cause issues if you have short sections of contour near the edge of the map that you need.
 +
 +  * Open Attribute Table (F6)
 +  * Open field calculator (Ctrl+I)
 +  * Add new attribute length, calculated as $length
 +{{::​qgis_add_field.png|}}
 +  * Select all features and filter on length < 25 (or whatever length is appropriate for your scale)
 +{{:​qgis_filter_field.png|}}
  
 ==== Contour Labelling ==== ==== Contour Labelling ====
Line 86: Line 119:
 {{:​2019-02-08_12_41_50-channel_network.png?​600|}} {{:​2019-02-08_12_41_50-channel_network.png?​600|}}
  
-The raster channel network can then be classified ​and converted ​to vector.+==== Classification ==== 
 + 
 +For 1:25000 maps, I've had reasonable results from using the following formula in the Raster Calculator to classify the streams into categories. Different scales may need different bounds, ​and this doesn'​t account for significantly larger rivers. 
 + 
 +''​( log10 ( "​Catchment Area@1"​ ) >= x) * ( log10 ( "​Catchment Area@1"​ ) < y) * ("​Channel Network@1"​ != 0)''​ 
 + 
 +  * Intermittent:​ 4-6.15 (x-y) 
 +  * Minor: 6.15-7.4  
 +  * Major: 7.4+ 
 + 
 +==== Convert to Vector and Simplify ==== 
 + 
 +Convert ​to vector ​using r.to.vect 
 + 
 +{{:​qgis_raw_stream.png?​600|}} 
 + 
 +The raw stream data is very jagged. Smooth using  
 +  * v.generalize 
 +  * Algorithm = Hermite (there are other options which can be used, but Hermite has the smoothed line passing through the points of the original)  
 +  * Maximal tolerance value = 20 (in m, obviously scale dependent) 
 + 
 +Simplify using using: 
 +  * Vector geometry : Simplify 
 +Tolerance:?​ 
  
 ===== Clifflines ===== ===== Clifflines =====
  
-The steps below have been tested ​in the Blue Mountains, a region that has a significant number of relatively vertical sandstone cliffs. It may be less effective in different terrain.+The steps below are being developed for use in the Blue Mountains, a region that has a significant number of relatively vertical sandstone cliffs. It may be less effective in different terrain. 
 + 
 +This is more a set of ideas than a fully fledged process. The main aims are to get a set of steps that can largely be automated, and that create cliffline vectors that are running in the correct direction. There is still some way to go on this!
  
 ==== Initial analysis of slope, aspect ==== ==== Initial analysis of slope, aspect ====
Line 100: Line 159:
 using DEM and [1] Maximum Triangle Slope (Tarboton (1997)). I haven'​t tested any other algorithms. ​ using DEM and [1] Maximum Triangle Slope (Tarboton (1997)). I haven'​t tested any other algorithms. ​
   
-Cliff areas can be identified using a range of 60-90 and 70-90 degrees on the Slope file. Using 60-90 degrees helps connect logical cliffs and avoid small breaks.+Cliff areas can be identified using a range of say 60-90 and 70-90 degrees on the Slope file. Using 60-90 degrees helps connect logical cliffs and avoid small breaks.
  
 ==== Initial Cleaning ==== ==== Initial Cleaning ====
  
 Next convert data to 1 bit (1,2 not 0,1, as Sieve ignores 0s) using Raster Calculator. Next convert data to 1 bit (1,2 not 0,1, as Sieve ignores 0s) using Raster Calculator.
-Formula is: (Slope > 0) + 1+Formula is: (Slope > 60) + 1
  
 Then Sieve resulting data using a Threshold of 100 and 8-connectedness to get rid of small non-connected cliffs. Note above that Sieve doesn'​t like 0s. Then Sieve resulting data using a Threshold of 100 and 8-connectedness to get rid of small non-connected cliffs. Note above that Sieve doesn'​t like 0s.
nsw_lidar.txt · Last modified: 2020/09/09 10:36 by allchin09