Difference between revisions of "Great Lakes Bathymetry"

From TSAS Library
Jump to: navigation, search
Line 43: Line 43:
* Solution to bathymetric (negative) altitude values<ref>Geographic Information Systems Stack Exchange. "Mars DTM has all negative elevations in QGIS. Can't build STL file for 3D print." [https://gis.stackexchange.com/questions/217203/mars-dtm-has-all-negative-elevations-in-qgis-cant-build-stl-file-for-3d-print here].</ref>: using Raster Calculator, add bottom value to all height values
* Solution to bathymetric (negative) altitude values<ref>Geographic Information Systems Stack Exchange. "Mars DTM has all negative elevations in QGIS. Can't build STL file for 3D print." [https://gis.stackexchange.com/questions/217203/mars-dtm-has-all-negative-elevations-in-qgis-cant-build-stl-file-for-3d-print here].</ref>: using Raster Calculator, add bottom value to all height values
# Create STL (Raster -> DEMto3D)<ref>Modified from Laguna Tools. "Max CNC Tutorial 3D Landscape." ''YouTube''. [https://www.youtube.com/watch?v=Ef6f6dwQbCc here].</ref>
# Create STL (Raster -> DEMto3D)<ref>Modified from Laguna Tools. "Max CNC Tutorial 3D Landscape." ''YouTube''. [https://www.youtube.com/watch?v=Ef6f6dwQbCc here].</ref>
===Very Long, Detailed Workflow===
# Download QGIS
# Download Great Lakes Bathymetry from [https://maps.ngdc.noaa.gov/viewers/wcs-client/ NOAA's Grid Extract Tool]
# Download lakes shapefiles from [https://www.sciencebase.gov/catalog/item/530f8a0ee4b0e7e46bd300dd Science Base]
# Open shapefiles in QGIS and merge each at border
## Open first file, e.g. hydro_p_LakeErie.shp
## Right click in Layers Panel and save as LakeEriebound
## Remove original shapefile
## Repeat for all needed
## Select LakeEriebound in Layers Panel, click Select Features by area or single click
## Hold shift, select both features in LakeEriebound on map
## Click Toggle Editing (pencil icon)
## Go to Edit -> Merge Selected Features
## Check that LakeEriebound is now one polygon, Toggle Editing, save changes, then repeat for all shapefiles
# Go to Vector -> Geoprocessing Tools -> Fixed distance buffer
# Run as batch process by inputting each shapefile (LakeEriebound, etc.) into Input Layer, and buffer name (e.g. eriemask) in Buffer column. Used .2 Distance
# Remove LakeEriebound, etc. from Layers Panel
# Add bathymetry rasters from [https://maps.ngdc.noaa.gov/viewers/wcs-client/ NOAA's Grid Extract Tool], ensuring all area under buffers is included
# Rename Buffer to eriemask, etc.
# Go to Raster -> Extraction -> Clipper
# Choose first lake input file and name output file (e.g. eriebath)
# Choose mask layer and select relevant mask (e.g. eriemask)
## If error <code>Output driver `GMT' not recognised . . .</code>, select pencil button next to output algorithm and change <code>-of GMT</code> to <code>-of GTIFF</code>
## If black 0-level box appears after masking, delete the files and re-run with large (-99999) number and No Data Value box selected
# Go to Raster -> Miscellaneous -> Merge and select two adjacent masked files
[Running into issues with shared color values]


==Laser Cut, Low Resolution==
==Laser Cut, Low Resolution==

Revision as of 21:35, 14 June 2017

Partial Erie bathymetry cut with MPCNC, map from NOAA, processed with QGIS and Aspire 8.5

Ideas

Resources

Create STL for CNC Router or 3D Printer

Proprietary Workflow (Aspire)

Video walkthrough here

  1. Data pulled from NOAA's ETOPO1 images, available directly here which offers a 1-minute resolution of worldwide bedrock
  2. Add raster image to QGIS
  3. Select extent desired (Raster -> Extraction -> Clipper)
  4. Open in Aspire, follow directions from video

Tool speeds used in above image:

Print Pass Tool Size Feed Rate Plunge Rate Print Time
Rough Pass .25" square bit 15.0 mm/sec 3.0 mm/sec 1:30
Finish Pass .125" ball nose 25.0 mm/sec 6.0 mm/sec 4:30

Open Source Workflow

  1. Download ArcGrid DEM from USGS National Map or Earth Explorer (3DEP, 1/3 arc-second DEM)
  2. Unzip file
  3. Open QGIS, add Vector, add layer file (.adf)
  4. Select extent (Raster -> Extraction -> Clipper)
  5. Save as GeoTIFF
  6. Add GeoTIFF to model
  7. Analyze to DEM (Raster -> Analysis -> DEM [Terrain Models])
  8. If necessary, merge the DEMs
  • A balance must be made between extent and resolution. 1:50,000 creates excellent models, but cannot contain an entire lake. Above that and the file crashes my system. A further note on resolution.
  • Solution to bathymetric (negative) altitude values[2]: using Raster Calculator, add bottom value to all height values
  1. Create STL (Raster -> DEMto3D)[3]

Very Long, Detailed Workflow

  1. Download QGIS
  2. Download Great Lakes Bathymetry from NOAA's Grid Extract Tool
  3. Download lakes shapefiles from Science Base
  4. Open shapefiles in QGIS and merge each at border
    1. Open first file, e.g. hydro_p_LakeErie.shp
    2. Right click in Layers Panel and save as LakeEriebound
    3. Remove original shapefile
    4. Repeat for all needed
    5. Select LakeEriebound in Layers Panel, click Select Features by area or single click
    6. Hold shift, select both features in LakeEriebound on map
    7. Click Toggle Editing (pencil icon)
    8. Go to Edit -> Merge Selected Features
    9. Check that LakeEriebound is now one polygon, Toggle Editing, save changes, then repeat for all shapefiles
  5. Go to Vector -> Geoprocessing Tools -> Fixed distance buffer
  6. Run as batch process by inputting each shapefile (LakeEriebound, etc.) into Input Layer, and buffer name (e.g. eriemask) in Buffer column. Used .2 Distance
  7. Remove LakeEriebound, etc. from Layers Panel
  8. Add bathymetry rasters from NOAA's Grid Extract Tool, ensuring all area under buffers is included
  9. Rename Buffer to eriemask, etc.
  10. Go to Raster -> Extraction -> Clipper
  11. Choose first lake input file and name output file (e.g. eriebath)
  12. Choose mask layer and select relevant mask (e.g. eriemask)
    1. If error Output driver `GMT' not recognised . . ., select pencil button next to output algorithm and change -of GMT to -of GTIFF
    2. If black 0-level box appears after masking, delete the files and re-run with large (-99999) number and No Data Value box selected
  13. Go to Raster -> Miscellaneous -> Merge and select two adjacent masked files

[Running into issues with shared color values]

Laser Cut, Low Resolution

Workflow

  1. Download shapefiles from NOAA. Superior bathymetry contours with unclear provenance is available here, with login
  2. Download and install QGIS and Inkscape[4]
  3. No need to extract files, open each in QGIS Desktop
  4. Add OpenStreetMap information if desired (the native support is not working at this time[5], but the plugin does)
  5. Right-click shapefile in left layers panel, select Properties
  6. Choose Filter, then create expression, e.g. "DEPTH" IN ('0', '1', '25', '50', '60')[6]
    • It is helpful to use the Values box (make sure "Use unfiltered layer" is checked if changing an applied filter) to see the extent of the map's values

Other Sources

References

  1. Geographic Information Systems Stack Exchange. "Load .osm.pbf file in Qgis." here.
  2. Geographic Information Systems Stack Exchange. "Mars DTM has all negative elevations in QGIS. Can't build STL file for 3D print." here.
  3. Modified from Laguna Tools. "Max CNC Tutorial 3D Landscape." YouTube. here.
  4. Stack Exchange answer here
  5. "OpenStreetMap in QGIS." OpenStreetMap Wiki. here.
  6. Geographic Information Systems Stack Exchange. "QGIS choose contour line labels." Here