Difference between revisions of "Great Lakes Bathymetry"

From TSAS Library
Jump to: navigation, search
Line 1: Line 1:
[[File:Erie Bathymetry.jpg|400px|thumb|Partial Erie bathymetry cut with MPCNC, map from NOAA, processed with QGIS and Aspire 8.5]]
[[File:Erie Bathymetry.jpg|400px|thumb|Partial Erie bathymetry cut with MPCNC, map from NOAA, processed with QGIS and Aspire 8.5]]
==Ideas==
==Create Model for CNC Router==
* [http://imgur.com/gallery/EEKOG Process] of creating a 3D map of the area
===QGIS Workflow===
* Try [http://apdrc.soest.hawaii.edu/las8/UI.vm#panelHeaderHidden=false;differences=false;autoContour=false;globalMin=-237;globalMax=1667;xCATID=C1354ADCD9A2E42563E67810557FE547;xDSID=etopo1;varid=b_bathy-etopo1;imageSize=auto;over=xy;compute=Nonetoken;catid=C1354ADCD9A2E42563E67810557FE547;dsid=etopo1;varid=b_bathy-etopo1;avarcount=0;xlo=-92.788119178879;xhi=-69.93315874592;ylo=41.247106546728;yhi=49.388349427462;operation_id=Plot_2D_XY_zoom;view=xy;ferret_image_format=gif;ferret_use_graticules=none;ferret_margins=false;ferret_deg_min_sec=false;ferret_contour_style=color_filled_plus_lines;ferret_contour_levels=20 this] map with [http://www.instructables.com/id/Lasercut-Bathymetric-Map-of-Arabian-Sea/ these] instructions
# Download [https://qgis.org/en/site/forusers/download.html QGIS]
* For OSM information, use [http://download.geofabrik.de/north-america.html Geofabrik.de] and reformat if necessary as described [https://gis.stackexchange.com/questions/39112/load-osm-pbf-file-in-qgis here]<ref>Geographic Information Systems Stack Exchange. "Load .osm.pbf file in Qgis." [https://gis.stackexchange.com/questions/39112/load-osm-pbf-file-in-qgis here].</ref>
# Download Great Lakes Bathymetry from [https://maps.ngdc.noaa.gov/viewers/wcs-client/ NOAA's Grid Extract Tool] by choosing "Great Lakes Bathymetry," selecting the <i class="fa fa-info-circle"></i> then drawing a rectangle around the area
# Download greatlakes_subbasins.zip from [https://www.sciencebase.gov/catalog/item/530f8a0ee4b0e7e46bd300dd Science Base]
# Merge sections
## In QGIS, add subbasins.shp as Vector Layer
## Click Toggle Editing (pencil icon)
## Ctrl +A to select all elements
## Go to Edit -> Merge Selected Features
## Check that subbasins is now one polygon, Toggle Editing, save changes
# Add bathymetry rasters from [https://maps.ngdc.noaa.gov/viewers/wcs-client/ NOAA's Grid Extract Tool], ensuring all area under buffers is included
# Merge images: Raster -> Miscellaneous -> Merge
# Choose raster files and name output file (e.g. greatLakes)
# Go to Raster -> Extraction -> Clipper
# Choose mask layer (greatLakes) and select subbasin mask
## 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


==Resources==
* [https://www.ngdc.noaa.gov/mgg/greatlakes/greatlakes.html Downloadable Great Lakes bathymetric maps] from NOAA
* [https://maps.ngdc.noaa.gov/viewers/bathymetry/ All bathymetric maps] from NOAA
* [https://earthexplorer.usgs.gov/ The USGS Earth Explorer] is easier to use than the above, but requires a login and download client
* [http://www.naturalearthdata.com/downloads/ Natural Earth] provides shapefiles for cultural and physical elements
* [https://dds.cr.usgs.gov/srtm/version2_1/SRTM1/ Index of one arc-second images] from NASA's Shuttle Radar Topography mission
==Create STL for CNC Router or 3D Printer==
===Proprietary Workflow (Aspire)===
===Proprietary Workflow (Aspire)===
Video walkthrough [https://www.youtube.com/watch?v=P3q5Fzb01ls here]
Video walkthrough [https://www.youtube.com/watch?v=P3q5Fzb01ls here]
Line 22: Line 28:
# Overwrite .tiff to save
# Overwrite .tiff to save
# Open in Aspire, under Modeling tab, select "Create a component from selected bitmap"
# Open in Aspire, under Modeling tab, select "Create a component from selected bitmap"
# Switch to 3D view so the changes are illustrated
# Right-click component under Component Tree, then select Properties
# Right-click component under Component Tree, then select Properties
# Switch to 3D view so the changes are illustrated
# Move Shape Height slider until desired relief is achieved (.95" was used for this project)
# Move Shape Height slider until desired relief is achieved (1.5" was used for this project)
# Return to Drawing View. With image selected, choose Trace Bitmap (bird image under "Create Vectors")
# Open unadjusted .tiff in Inkscape (one with dark image with little detail, but sharp boundary edge)
# Increase threshold until outline only is left
# Choose Path -> Trace Bitmap
# Switch to Toolpaths bar and select 3D Roughing Path
#* Use Brightness Cutoff with the lowest possible settings
#* Deselect Smooth
# Choose Path -> Outset to increase size so bitmap is tightly enveloped by vector (may need to adjust outset steps under Preferences -> Steps)
# Erase any holes within the vector to create solid object
# Import vector in Aspire and carefully align to .tiff
# Move to Toolpaths bar and select 3D Roughing Path
# Choose Selected Vector under Machining Limit Boundary, then press Calculate
# Choose Selected Vector under Machining Limit Boundary, then press Calculate
# Press 3D Finishing Toolpath, then choose vector as above
# Press 3D Finishing Toolpath, then choose vector as above
Line 49: Line 50:
|}
|}


===Open Source Workflow===
==STL for 3D Printing==
# Download ArcGrid DEM from USGS [https://viewer.nationalmap.gov/basic/#productSearch National Map] or [https://earthexplorer.usgs.gov/ Earth Explorer] (3DEP, 1/3 arc-second DEM)
# Unzip file
# Open QGIS, add Vector, add layer file (.adf)
# Open QGIS, add Vector, add layer file (.adf)
# Select extent (Raster -> Extraction -> Clipper)
# Select extent (Raster -> Extraction -> Clipper)
Line 63: Line 62:
* 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==
===Workflow===
# Download shapefiles from [https://www.ngdc.noaa.gov/mgg/greatlakes/greatlakes.html NOAA]. Superior bathymetry contours with unclear provenance is available [https://databasin.org/datasets/88d305616c3e44cabbd465dde0d916c7 here], with login
# Download shapefiles from [https://www.ngdc.noaa.gov/mgg/greatlakes/greatlakes.html NOAA]. Superior bathymetry contours with unclear provenance is available [https://databasin.org/datasets/88d305616c3e44cabbd465dde0d916c7 here], with login
# Download and install [http://www.qgis.org/en/site/ QGIS] and [https://inkscape.org/en/download/ Inkscape]<ref>Stack Exchange answer [https://gis.stackexchange.com/questions/51980/how-to-convert-shapefile-to-vector-emf here]</ref>
# Download and install [http://www.qgis.org/en/site/ QGIS] and [https://inkscape.org/en/download/ Inkscape]<ref>Stack Exchange answer [https://gis.stackexchange.com/questions/51980/how-to-convert-shapefile-to-vector-emf here]</ref>
Line 100: Line 71:
# Choose Filter, then create expression, e.g. "DEPTH" IN ('0', '1', '25', '50', '60')<ref>Geographic Information Systems Stack Exchange. "QGIS choose contour line labels." [https://gis.stackexchange.com/questions/121585/qgis-choose-contour-line-labels Here]</ref>
# Choose Filter, then create expression, e.g. "DEPTH" IN ('0', '1', '25', '50', '60')<ref>Geographic Information Systems Stack Exchange. "QGIS choose contour line labels." [https://gis.stackexchange.com/questions/121585/qgis-choose-contour-line-labels Here]</ref>
#* 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
#* 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
==Ideas==
* [http://imgur.com/gallery/EEKOG Process] of creating a 3D map of the area
* Try [http://apdrc.soest.hawaii.edu/las8/UI.vm#panelHeaderHidden=false;differences=false;autoContour=false;globalMin=-237;globalMax=1667;xCATID=C1354ADCD9A2E42563E67810557FE547;xDSID=etopo1;varid=b_bathy-etopo1;imageSize=auto;over=xy;compute=Nonetoken;catid=C1354ADCD9A2E42563E67810557FE547;dsid=etopo1;varid=b_bathy-etopo1;avarcount=0;xlo=-92.788119178879;xhi=-69.93315874592;ylo=41.247106546728;yhi=49.388349427462;operation_id=Plot_2D_XY_zoom;view=xy;ferret_image_format=gif;ferret_use_graticules=none;ferret_margins=false;ferret_deg_min_sec=false;ferret_contour_style=color_filled_plus_lines;ferret_contour_levels=20 this] map with [http://www.instructables.com/id/Lasercut-Bathymetric-Map-of-Arabian-Sea/ these] instructions
* For OSM information, use [http://download.geofabrik.de/north-america.html Geofabrik.de] and reformat if necessary as described [https://gis.stackexchange.com/questions/39112/load-osm-pbf-file-in-qgis here]<ref>Geographic Information Systems Stack Exchange. "Load .osm.pbf file in Qgis." [https://gis.stackexchange.com/questions/39112/load-osm-pbf-file-in-qgis here].</ref>
==Resources==
* [https://www.ngdc.noaa.gov/mgg/greatlakes/greatlakes.html Downloadable Great Lakes bathymetric maps] from NOAA
* [https://maps.ngdc.noaa.gov/viewers/bathymetry/ All bathymetric maps] from NOAA
* [https://earthexplorer.usgs.gov/ The USGS Earth Explorer] is easier to use than the above, but requires a login and download client
* [http://www.naturalearthdata.com/downloads/ Natural Earth] provides shapefiles for cultural and physical elements
* [https://dds.cr.usgs.gov/srtm/version2_1/SRTM1/ Index of one arc-second images] from NASA's Shuttle Radar Topography mission


==Other Sources==
==Other Sources==
* [https://remotesensing.usgs.gov/gallery/ Earth satellite imagery] from USGS, esp. those [https://remotesensing.usgs.gov/gallery/ over time]
* [https://remotesensing.usgs.gov/gallery/ Earth satellite imagery] from USGS, esp. those [https://remotesensing.usgs.gov/gallery/ over time]
* [http://www.arcgis.com/home/item.html?id=286a578979b34c45ba731a96dcff077a ArcGIS contour map of the Great Lakes]
* [http://www.arcgis.com/home/item.html?id=286a578979b34c45ba731a96dcff077a ArcGIS contour map of the Great Lakes]
* [https://earthexplorer.usgs.gov/ Earth Explorer] (3DEP, 1/3 arc-second DEM)
* [http://ferret.pmel.noaa.gov/LAS/documentation/las-servers#NOAA Live Access Servers hosted by NOAA/PMEL/TMAP] provide information on air quality, ocean salinity, temperature, etc.
* [http://ferret.pmel.noaa.gov/LAS/documentation/las-servers#NOAA Live Access Servers hosted by NOAA/PMEL/TMAP] provide information on air quality, ocean salinity, temperature, etc.
* [http://gisgeography.com/top-6-free-lidar-data-sources/ LIDAR resources] in case [http://www.instructables.com/id/Gaia-Horizon-3d-Machining-With-LIDAR-Point-Clouds/ we want to machine it]. I want to machine it.
* [http://gisgeography.com/top-6-free-lidar-data-sources/ LIDAR resources] in case [http://www.instructables.com/id/Gaia-Horizon-3d-Machining-With-LIDAR-Point-Clouds/ we want to machine it]. I want to machine it.
Line 112: Line 96:
* [http://cdm16021.contentdm.oclc.org/cdm/search/collection/p16021coll10/searchterm/great%20lakes/order/nosort Historical maps from the Army Corps of Engineers]
* [http://cdm16021.contentdm.oclc.org/cdm/search/collection/p16021coll10/searchterm/great%20lakes/order/nosort Historical maps from the Army Corps of Engineers]
* [http://www.glos.us/ Portal for Great Lakes Observing System information] from the Integrated Ocean Observing system
* [http://www.glos.us/ Portal for Great Lakes Observing System information] from the Integrated Ocean Observing system
* [https://nationalmap.gov/ The National Map] combines many of the above resources
* [https://nationalmap.gov/ The National Map] combines many of the above resources, including ArcGrid DEM from USGS


==References==
==References==
<references />
<references />

Revision as of 22:38, 4 January 2018

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

Create Model for CNC Router

QGIS Workflow

  1. Download QGIS
  2. Download Great Lakes Bathymetry from NOAA's Grid Extract Tool by choosing "Great Lakes Bathymetry," selecting the then drawing a rectangle around the area
  3. Download greatlakes_subbasins.zip from Science Base
  4. Merge sections
    1. In QGIS, add subbasins.shp as Vector Layer
    2. Click Toggle Editing (pencil icon)
    3. Ctrl +A to select all elements
    4. Go to Edit -> Merge Selected Features
    5. Check that subbasins is now one polygon, Toggle Editing, save changes
  5. Add bathymetry rasters from NOAA's Grid Extract Tool, ensuring all area under buffers is included
  6. Merge images: Raster -> Miscellaneous -> Merge
  7. Choose raster files and name output file (e.g. greatLakes)
  8. Go to Raster -> Extraction -> Clipper
  9. Choose mask layer (greatLakes) and select subbasin mask
    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

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. Export as .tiff
  5. Open in GIMP, click white area surrounding with Magic Wand Tool, then drag upward to increase threshold to maximum
  6. Overwrite .tiff to save
  7. Open in Aspire, under Modeling tab, select "Create a component from selected bitmap"
  8. Switch to 3D view so the changes are illustrated
  9. Right-click component under Component Tree, then select Properties
  10. Move Shape Height slider until desired relief is achieved (.95" was used for this project)
  11. Return to Drawing View. With image selected, choose Trace Bitmap (bird image under "Create Vectors")
  12. Increase threshold until outline only is left
  13. Switch to Toolpaths bar and select 3D Roughing Path
  14. Choose Selected Vector under Machining Limit Boundary, then press Calculate
  15. Press 3D Finishing Toolpath, then choose vector as above
  16. Preview the toolpaths to ensure desired results
  17. If image is larger than machine, use Tile Toolpaths to divide it [1]

Tool speeds used in above (wooden) 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

STL for 3D Printing

  1. Open QGIS, add Vector, add layer file (.adf)
  2. Select extent (Raster -> Extraction -> Clipper)
  3. Save as GeoTIFF
  4. Add GeoTIFF to model
  5. Analyze to DEM (Raster -> Analysis -> DEM [Terrain Models])
  6. 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]

Laser Cut, Low Resolution

  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

Ideas

Resources

Other Sources

References

  1. Vectric Ltd. "Vectric V8 Tutorials - Tiling 3D Toolpathing." YouTube. [1]
  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
  7. Geographic Information Systems Stack Exchange. "Load .osm.pbf file in Qgis." here.