nsw_lidar
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
nsw_lidar [2019/02/08 14:15] – bushwalking | nsw_lidar [2024/04/05 19:00] (current) – Add download bushwalking | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | Page for documenting NSW lidar processing | + | ====== |
- | ====== | + | |
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:// | For details, see information on their [[http:// | ||
- | Elevation data can best be accessed through the [[http:// | + | Elevation data can best be accessed through the [[http:// |
- | ====== Resources ====== | + | It can then processed with a GIS such as [[https:// |
- | * [[https:// | + | |
- | * [[http:// | + | |
- | ====== | + | ====== |
- | There are several primary data items for topographic maps that can be generated using the DEM data from the NSW Lidar. | + | The original topics here have now been moved to their own pages. |
- | * 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/ | + | Any feedback/ |
- | ===== Merge DEMs ===== | + | ===== Managing |
- | The NSW DEM data is supplied | + | * [[nsw_download_dems|Downloading DEMs]] - how to download DEMs from the ELVIS service |
+ | * [[nsw_merge_dems|Merging DEMs]] - how to merge DEMs in QGIS | ||
+ | * [[nsw_dems|Managing large DEMs]] - while data can be downloaded | ||
- | 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. | + | ===== Topographic maps ===== |
- | Instead, I generally use the the Raster- > Miscellaneous -> Merge... function | + | There are several primary data items for topographic maps that can be generated using the DEM data from the NSW Lidar. |
- | ===== Fill Sinks ===== | + | * [[qgis_depressionless_dem|Hydrologically correct DEM]] - prior to further operations, it is usually important to make sure that your DEM is free of depressions. Otherwise these will mess up streams and possibly contours. |
- | From the initial | + | Once you have a depressionless |
+ | * [[qgis_contours|Contours]] | ||
+ | * [[qgis_hydrology|Hydrology (Stream Network)]] | ||
+ | * [[qgis_slope|Slopes]] - while not a standard feature | ||
+ | * [[qgis_clifflines|Clifflines]] - a work in progress | ||
- | There are various related tools in the Processing Toolbox that will do this, including: | + | ===== Styles ===== |
- | * SAGA : Terrain Analysis - Hydrology : Fill Sinks | + | |
- | * SAGA : Terrain Analysis - Hydrology : Fill Sinks (Wang and Liu) | + | |
- | * SAGA : Terrain Analysis - Hydrology : Fill Sinks XXL (Wang and Liu) | + | |
- | The results from all will be similar, but the Wang and Liu versions should be faster. | + | * [[qgis_styling|Styling]] - download basic style files |
- | There are other approaches that deepen channels rather than fill sinks in order to get a hydrologically sound drainage network. For example | + | ===== Automation ===== |
- | * SAGA : Terrain Analysis - Hydrology : Sink Removal | + | |
- | has an option for this. | + | |
- | ===== Contours ===== | + | * [[qgis_basic_automation|Basic map creation]] - a set of PyQGIS scripts that will create (and optionally save) a basic topographic map. This map can be used in QField |
- | There are various contour extraction algorithms in QGIS, for example: | + | ===== Mobile apps ===== |
- | * GDAL : Raster Extraction : Contour (same as Raster -> Extraction -> Contour...) | + | |
- | Below is an example of contours | + | * [[qgis_qfield|QField]] - QField |
- | {{:2019_02_08_12_17_09_untitled_project_qgis.png?300|}} | + | * [[https:// |
- | {{: | + | |
- | ==== Contour Labelling | + | ===== Dumping Ground / WIP ===== |
- | See separate page on [[[qgis_contour_labelling|QGIS Contour Labelling]] | + | ==== Resources |
- | + | * [[https://www.tandfonline.com/ | |
- | ===== Hydrology (Stream Network) ===== | + | * [[http://www.jennessent.com/downloads/tpi-poster-tnc_18x22.pdf|Poster |
- | + | ||
- | The starting point for hydrology is a hydrologically sound DEM, as above. Use a fill sinks or channel deepening algorithm. | + | |
- | + | ||
- | ==== Catchment Areas ==== | + | |
- | + | ||
- | Next step is to create Catchment Areas. Again, 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. | + | |
- | + | ||
- | * SAGA : Terrain Analysis - Hydrology : Catchment Area | + | |
- | + | ||
- | This gives an output that is best viewed in log scale. You can do this via | + | |
- | * Raster -> Raster Calculator... | + | |
- | * log10 ( " | + | |
- | + | ||
- | Use the log scale version to determine the cutoff | + | |
- | + | ||
- | 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 | + | |
- | * Initiation Grid = Catchment Area | + | |
- | * Initiation Type = Greater Than | + | |
- | * Initiation Threshold = 10000 (or whatever number you have determined) | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | The raster channel network can then be classified and converted to vector. | + | |
- | + | ||
- | ===== 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. | + | |
- | + | ||
- | ==== 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' | + | |
- | + | ||
- | 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. | + | |
- | + | ||
- | ==== Initial Cleaning ==== | + | |
- | + | ||
- | Next convert data to 1 bit (1,2 not 0,1, as Sieve ignores 0s) using Raster Calculator. | + | |
- | Formula is: (Slope > 0) + 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' | + | |
- | + | ||
- | 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' | + | |
- | + | ||
- | 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' | + | |
- | ==== Thinning ==== | + | [[https:// |
- | Convert back to 0/1 data using Raster Calculator | + | [[https:// |
- | Use Translate: set Output Data Type = Byte, set NoData = 0 | + | [[https:// |
- | 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?!) | + | [[http:// |
- | ==== Vectorising ==== | + | [[https:// |
- | Run r.to.vect: set Feature Type = line | + | [[https:// |
+ | ==== Method ==== | ||
+ | The below snip of Breakfast Creek makes use of TPI calculated from a LIDAR derived DEM. Only positive values for TPI as displayed, which indicate cliff-like features. It is then combined with contours and aerial imagery to convey the terrain of the area. | ||
- | Run v.clean: Cleaning Tool = rmdangle, Threshold = 5,10 | + | {{:breakfast_creek_snip.jpg? |
nsw_lidar.txt · Last modified: 2024/04/05 19:00 by bushwalking