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
nsw_lidar [2021/02/17 09:17]
bushwalking
nsw_lidar [2021/03/04 22:05] (current)
bushwalking
Line 1: Line 1:
-====== Intro ======+====== Mapping from NSW Lidar ======
 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]].
Line 8: Line 8:
  
 ====== Topics ====== ====== Topics ======
-The original topics here have been moved to their own pages+ 
 +The original topics here have now been moved to their own pages
 + 
 +Any feedback/suggestions of improvements are welcome.
  
 ===== Managing DEMs ===== ===== Managing DEMs =====
  
-  * [[nsw_dems|Merging DEMs]] - how to merge DEMs in QGIS+  * [[nsw_merge_dems|Merging DEMs]] - how to merge DEMs in QGIS
   * [[nsw_dems|Managing large DEMs]] - while data can be downloaded in an ad hoc manner, if you are regularly processing NSW DEMs, it is better to have the DEM tiles already downloaded. This page provides steps to do this in an automated manner.   * [[nsw_dems|Managing large DEMs]] - while data can be downloaded in an ad hoc manner, if you are regularly processing NSW DEMs, it is better to have the DEM tiles already downloaded. This page provides steps to do this in an automated manner.
  
Line 23: Line 26:
 Once you have a depressionless DEM, the following items can be generated: Once you have a depressionless DEM, the following items can be generated:
   * [[qgis_contours|Contours]]   * [[qgis_contours|Contours]]
-  * Hydrology (Stream Network) +  * [[qgis_hydrology|Hydrology (Stream Network)]] 
-  * Clifflines +  * [[qgis_slope|Slopes]] - while not a standard feature of topographic maps, this can be a simple way to identify cliffs 
-  *  +  * [[qgis_clifflines|Clifflines]] - a work in progress
-====== Topographic maps ======+
  
-There are several primary data items for topographic maps that can be generated using the DEM data from the NSW Lidar. The main ones are: +===== Styles =====
-  * Contours +
-  * Hydrology (Stream Network) +
-  * Clifflines+
  
-The steps below are works in progress to determine effective (the best?) ways to extract the various items out of the DEM data for use in topographic maps. Any feedback/suggestions of improvements are welcome.+  * [[qgis_styling|Styling]] - download basic style files
  
-===== Hydrology (Stream Network) =====+===== Automation =====
  
-The starting point for hydrology is hydrologically sound DEM, as above. Use fill sinks or channel deepening algorithm.+  * [[qgis_basic_automation|Basic map creation]] - set of PyQGIS scripts that will create (and optionally save) basic topographic mapThis map can be used in QField
  
-==== Catchment Areas ====+===== Mobile apps =====
  
-Next step is to create Catchment AreasAgain, there is a Catchment Area tool (in fact several), and six methods within the tool. For the purpose of delineating watercourses in steep terrain, the choice of method probably makes little difference.+  * [[qgis_qfield|QField]] - QField is an excellent Android app for for viewing projects created with QGIS 
 +  * [[https://inputapp.io/en/|input App]] - input App is an iOS app compatible with QGIS
  
-  * SAGA : Terrain Analysis - Hydrology : Catchment Area+===== Dumping Ground / WIP =====
  
-This gives an output that is best viewed in log scale. You can do this via  
-  * Raster -> Raster Calculator... 
-    *  log10 ( "Filled DEM@1" )  
- 
-Use the log scale version to determine the cutoff for what streams you want to see and which ones are too small. 10000 seems to give comparable results to the existing 1:25000 maps. 
- 
-Note that if you don't have the entirety of the catchment, you may get erroneous results. 
- 
-==== Channel Network ==== 
- 
-The following tool can be used to create channels (streams) - there are other options: 
-  * SAGA : Terrain Analysis - Channels : Channel Network 
- 
-Use 
-  * Elevation = Filled DEM 
-  * Initiation Grid = Catchment Area 
-  * Initiation Type = Greater Than 
-  * Initiation Threshold = 10000 (or whatever number you have determined) 
- 
-{{:2019-02-08_12_41_50-channel_network.png?600|}} 
- 
-==== 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 ===== 
- 
-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 ==== 
- 
-SAGA -> Terrain Analysis - Morphometry -> Slope, Aspect, Curvature 
- 
-Extract  
- Slope, Aspect  
-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 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 ==== 
- 
-Next convert data to 1 bit (1,2 not 0,1, as Sieve ignores 0s) using Raster Calculator. 
-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. 
-  
-Also good to rerun Sieve with smaller Threshold (1-10) and 4-connectedness to  
-a) get rid of some small dangles. 
-b) fill small holes. 
-  
-Additional smoothing can be done using a User Defined Filter with the following matrix. This will apply some smoothing by allowing you to reclassify the pixel values, and remove single pixel indentations like this: 
- 000    000 
- 101 -> 111 
- 111    111 
-and single pixel protrusions like this: 
- 000    000 
- 010 -> 000 
- 111    111 
- 
-The main problem is that the matrix has to be defined each time in QGIS. There doesn't seem to be an option to load it. Possibly this can be done outside QGIS. 
- 
-Matrix is: 
- 0.0 0.5 0.0 
- 0.5 0.5 0.5 
- 0.0 0.5 0.0 
- 
-If the original matrix is 0/1 then the cutoff will be 1.5 
- 
-If the original matrix is 1/2 then the cutoff will be 3.5 
- 
-This step could be run multiple times - some testing would need to be done to determine how many times. 
-  
-Other options for cleaning the data include a plugin called LecoS, but this doesn't work on QGIS 3. Another possibility is Shrink and Expand - radius 1? But this also creates some new holes that didn't previously exist, so not ideal. 
- 
-==== Thinning ==== 
- 
-Convert back to 0/1 data using Raster Calculator 
- 
-Use Translate: set Output Data Type = Byte, set NoData = 0 
- 
-Run r.thin - r.thin is quite picky about the input file format. Needs to be NULL/non-NULL (not float or int). The Translate process above provides this. The previous two steps could be combined into one. Also, this file may need to be explicitly saved (not just a temporary file?!) 
- 
-==== Vectorising ==== 
- 
-Run r.to.vect: set Feature Type = line 
- 
-Run v.clean: Cleaning Tool = rmdangle, Threshold = 5,10 
- 
-===== Dumping Ground / WIP ===== 
 ==== Resources ==== ==== Resources ====
   * [[https://www.tandfonline.com/doi/full/10.1080/23729333.2017.1300998|A design of contour generation for topographic maps with adaptive DEM smoothing]]   * [[https://www.tandfonline.com/doi/full/10.1080/23729333.2017.1300998|A design of contour generation for topographic maps with adaptive DEM smoothing]]
nsw_lidar.1613513873.txt.gz · Last modified: 2021/02/17 09:17 by bushwalking