Skip to content

File vegetation_polygon.hpp

FileList > lib > vegetation > vegetation_polygon.hpp

Go to the source code of this file

  • #include <ogrsf_frmts.h>
  • #include <algorithm>
  • #include <cmath>
  • #include <limits>
  • #include <map>
  • #include <memory>
  • #include <set>
  • #include <string>
  • #include <vector>
  • #include "assert/assert.hpp"
  • #include "config_input/config_input.hpp"
  • #include "contour/contour.hpp"
  • #include "contour/contour_gen.hpp"
  • #include "geometry/polygon.hpp"
  • #include "geometry/polygon_subtract.hpp"
  • #include "grid/grid.hpp"
  • #include "io/gdal_init.hpp"
  • #include "io/gpkg.hpp"
  • #include "printing/to_string.hpp"
  • #include "utilities/coordinate.hpp"
  • #include "utilities/filesystem.hpp"
  • #include "utilities/progress_tracker.hpp"

Classes

Type Name
struct VegePolygon

Public Functions

Type Name
void combine_vege_gpkgs (const std::vector< fs::path > & tile_dirs, const fs::path & combined_dir, const std::string & projection, ProgressTracker && progress_tracker)
std::vector< VegePolygon > contours_to_polygons (const std::map< double, std::vector< Contour > > & contours_by_height, const std::map< double, std::string > & height_to_layer)
void cut_understory_from_forest (std::vector< VegePolygon > & polygons, ProgressTracker && progress_tracker)
std::string default_isom_layer_name (const VegeHeightConfig & config, size_t threshold_rank)
std::map< double, std::string > extract_threshold_layers (const VegeHeightConfig & config)
void filter_by_min_area (std::vector< VegePolygon > & polygons, const std::map< std::string, double > & min_areas, ProgressTracker && progress_tracker)
void filter_small_holes (std::vector< VegePolygon > & polygons, const std::map< std::string, double > & min_hole_areas, ProgressTracker && progress_tracker)
std::vector< VegePolygon > generate_vege_polygons (const VegeConfig & vege_config, const std::map< std::string, GeoGrid< float > > & vege_maps, ProgressTracker && progress_tracker)
std::string layer_number (const std::string & layer)
double polygon_net_area_m2 (const VegePolygon & poly)
std::vector< VegePolygon > read_vege_polygons (const fs::path & gpkg_path)
std::vector< VegePolygon > subtract_from_polygon (const VegePolygon & host, const std::vector< VegePolygon > & cutouts)
std::vector< VegePolygon > subtract_from_polygon (const VegePolygon & host, const OGRGeometry * cut_union)
std::string threshold_layer_name (const VegeHeightConfig & config, const BlockingThresholdColorPair & btc, size_t threshold_rank=std::numeric_limits< size_t >::max())
void trim_vege_polygons_to_extent (std::vector< VegePolygon > & polygons, const Extent2D & bounds, ProgressTracker && progress_tracker, const std::vector< Extent2D > & snap_extents={}, double snap_tolerance=0.01)
std::map< std::string, ColorVariant > vege_layer_colors (const VegeConfig & vege_config)
int vege_layer_draw_priority (const std::string & layer)
void write_vege_polygons_gpkg (const std::vector< VegePolygon > & polygons, const fs::path & gpkg_path, const std::string & projection, ProgressTracker && progress_tracker)

Public Functions Documentation

function combine_vege_gpkgs

inline void combine_vege_gpkgs (
    const std::vector< fs::path > & tile_dirs,
    const fs::path & combined_dir,
    const std::string & projection,
    ProgressTracker && progress_tracker
) 

function contours_to_polygons

inline std::vector< VegePolygon > contours_to_polygons (
    const std::map< double, std::vector< Contour > > & contours_by_height,
    const std::map< double, std::string > & height_to_layer
) 

function cut_understory_from_forest

inline void cut_understory_from_forest (
    std::vector< VegePolygon > & polygons,
    ProgressTracker && progress_tracker
) 

function default_isom_layer_name

inline std::string default_isom_layer_name (
    const VegeHeightConfig & config,
    size_t threshold_rank
) 

function extract_threshold_layers

inline std::map< double, std::string > extract_threshold_layers (
    const VegeHeightConfig & config
) 

function filter_by_min_area

inline void filter_by_min_area (
    std::vector< VegePolygon > & polygons,
    const std::map< std::string, double > & min_areas,
    ProgressTracker && progress_tracker
) 

function filter_small_holes

inline void filter_small_holes (
    std::vector< VegePolygon > & polygons,
    const std::map< std::string, double > & min_hole_areas,
    ProgressTracker && progress_tracker
) 

function generate_vege_polygons

inline std::vector< VegePolygon > generate_vege_polygons (
    const VegeConfig & vege_config,
    const std::map< std::string, GeoGrid < float > > & vege_maps,
    ProgressTracker && progress_tracker
) 

function layer_number

inline std::string layer_number (
    const std::string & layer
) 

function polygon_net_area_m2

inline double polygon_net_area_m2 (
    const VegePolygon & poly
) 

function read_vege_polygons

inline std::vector< VegePolygon > read_vege_polygons (
    const fs::path & gpkg_path
) 

function subtract_from_polygon

inline std::vector< VegePolygon > subtract_from_polygon (
    const VegePolygon & host,
    const std::vector< VegePolygon > & cutouts
) 

function subtract_from_polygon

inline std::vector< VegePolygon > subtract_from_polygon (
    const VegePolygon & host,
    const OGRGeometry * cut_union
) 

function threshold_layer_name

inline std::string threshold_layer_name (
    const VegeHeightConfig & config,
    const BlockingThresholdColorPair & btc,
    size_t threshold_rank=std::numeric_limits< size_t >::max()
) 

function trim_vege_polygons_to_extent

inline void trim_vege_polygons_to_extent (
    std::vector< VegePolygon > & polygons,
    const Extent2D & bounds,
    ProgressTracker && progress_tracker,
    const std::vector< Extent2D > & snap_extents={},
    double snap_tolerance=0.01
) 

function vege_layer_colors

inline std::map< std::string, ColorVariant > vege_layer_colors (
    const VegeConfig & vege_config
) 

function vege_layer_draw_priority

inline int vege_layer_draw_priority (
    const std::string & layer
) 

function write_vege_polygons_gpkg

inline void write_vege_polygons_gpkg (
    const std::vector< VegePolygon > & polygons,
    const fs::path & gpkg_path,
    const std::string & projection,
    ProgressTracker && progress_tracker
) 


The documentation for this class was generated from the following file /home/runner/work/Blaze/Blaze/src/lib/vegetation/vegetation_polygon.hpp