KJB
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | List of all members
kjb::Ned13_gp_reader Struct Reference

#include <nedgrid.h>

Inheritance diagram for kjb::Ned13_gp_reader:
kjb::Ned13_caching_reader

Public Member Functions

float elevation_meters (const TopoFusion::pt &)
 basic query operation: estimate the elevation at a point More...
 
 Ned13_gp_reader (const std::vector< std::string > &path=std::vector< std::string >())
 
- Public Member Functions inherited from kjb::Ned13_caching_reader
 Ned13_caching_reader (const std::vector< std::string > &path=std::vector< std::string >())
 
virtual ~Ned13_caching_reader ()
 

Static Public Member Functions

static float characteristic_length_squared ()
 characteristic length of squared exponential kernel function More...
 

Additional Inherited Members

- Public Attributes inherited from kjb::Ned13_caching_reader
Ned13_grid_cache cache
 

Constructor & Destructor Documentation

kjb::Ned13_gp_reader::Ned13_gp_reader ( const std::vector< std::string > &  path = std::vector<std::string>())
inline

Member Function Documentation

static float kjb::Ned13_gp_reader::characteristic_length_squared ( )
inlinestatic

characteristic length of squared exponential kernel function

Since it is about 10 m between points, sigma should be more than 10 m. Let's try a sigma of around 25. This function returns sigma squared. If you forget to square, you will regret it.

20 m (or 400 m squared) works well for elevation but shows artifacts in the incline map. Let's try 25 m. 8 Sep 2013: 25 m still shows artifacts. Let's try 40 m. 15 Sep 2014: Found, fixed a huge bug that basically ignored this value. Values from 20 squared to 30 squared work nicely. 40 squared looks like it might be too much.

Implementation note: This value interacts with 'train_rad_m' in nedget.cpp; the product determines how wide a sweep of training data is used. If you use 20 squared here, you should increase train_rad_m to about 7 or 8 to grab enough training data, otherwise you will see artifacts (i.e., elevations 140 m apart are not conditionally independent). If you increase this value to 22.4 or 30 squared, you can reduce train_rad_m to 6.

float kjb::Ned13_gp_reader::elevation_meters ( const TopoFusion::pt utm)
virtual

basic query operation: estimate the elevation at a point

Implements kjb::Ned13_caching_reader.


The documentation for this struct was generated from the following files: