Giter Club home page Giter Club logo

crowdsourced_bathy_processing's Introduction

Crowdsourced Bathymetry Processing

This tool processes crowdsourced bathymetry from International Hydrographic Organization's Data Centre for Digital Bathymetry (CSV data from their CSB point store). It corrects for water levels/tides and data-derived vessel transducer offset values.

An SOP on how to use the tool can be found here (copy and paste this URL in your web browser): https://github.com/anthonyklemm/Crowdsourced_Bathy_Processing/blob/main/CSB%20Processing%20SOP%20v1.pdf

Note: This is the first iteration of this tool, and is intended to provide users reconnaissance information from existing CSB data.

Contact Anthony Klemm [email protected] for any questions regarding this tool

To use this tool, you must download csb data from the IHO Data Centre for Digital Bathymetry https://www.ncei.noaa.gov/maps/iho_dcdb/. You must also download a BAG file (or geotiff) for some comparison data in the same area where your CSB tracklines intersect. This is important for the data-derived transducer offset step. The script accomodates comparison bathymetry BlueTopo tiles in geotiff format. Use the downloader tool manually in Pydro if interested, OR you can click the option button to have the script auto-download all the bluetopo model tiles automatically (THIS IS THE PREFERRED METHOD in areas where the bluetopo model is available).

The tide zone polygons are from NOAA COOPS and a copy of the polygons are located here: "C:\Pydro22\NOAA\site-packages\Python38\svn_repo\HSTB\CSB_processing\tide_zone_polygons.shp" You may find an area of interest with missing tide zone polygons. You can edit this shapefile to include new custom polygons (just understand that this may not be as accurate as the published COOPS zones). If there is a tide reference station nearby, you just need to update the ControlStn attribute of your custom polygon with the correlating tide reference station control number (found on the COOPS website), as well as the ATCorr to 0 (which means there is a time correction of zero since it's nearby the tide station), and a RR of 1 (the magnitude coefficient). Also, a beta version of a tie zone polygon dataset is also available with auto-generated zones around subordinate tide prediction stations outside the official tide zone definitions provided by NOAA CO-OPS. USE WITH CAUTION They were generated using Voronoi diagram/Thiessen Plogyons algorithm from the point locations of all subordinate tide prediction stations, but were not edited to respect shoreline so there are errors. The script pulls the predicted highs and lows and interpolates between the values using cosine interpolation (which approximates tide changes but adds uncertainty to the estimated values).

Basic steps of the script are:

  1. Read in CSV file and perform basic outlier filtering
  2. Spatially join CSB points with tide zone polygons
  3. Download waterlevel/tide data from tide control stations for time period of CSB from NOAA COOPS datagetter web API
  4. Perform waterlevel correction to MLLW
  5. Extract geotiff from best available NOAA BAG bathymetry in the area
  6. Extract raster values to CSB points, perform aggregated summary stats of difference between CSB depth and BAG bathymetry.
  7. Use this table to choose unapplied static vertical transducer offsets of each vessel
  8. Apply the data-derived static offsets to the CSB data by performing an inner join with the offset table and CSB points
  9. Export CSB points to shapefile for further bathy processing in ArcGIS Pro (IDW gridding, etc...) - The attribute with the final corrected depths is called "depth_fina" and is in WGS84 crs (unprojected).
  10. Export out a quick-look geotiff (not using any interpolation) at EPSG: 3395 (World Mercator) and 50m resolution

Images: Comparison of CSB grid (IDW algorithm) vs Hydrographic Survey H13387 in Houston, TX Harbor

Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot

crowdsourced_bathy_processing's People

Contributors

anthonyklemm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.