diff --git a/annotated.html b/annotated.html index 2a84741c..01015d56 100644 --- a/annotated.html +++ b/annotated.html @@ -387,14 +387,16 @@  CFixture_simple_tree  CFixtureCases  CHudsonAlgorithm - CMyNode - CMySpatialGrid - CMyVisitor - CNode"Legacy" tree for testing - Ctransition_matrix - Ctree_visitor - Cvertex_info - Cvertex_t + CMyEdgeInfo + CMyNode + CMySpatialGrid + CMyVertexInfo + CMyVisitor + CNode"Legacy" tree for testing + Ctransition_matrix + Ctree_visitor + Cvertex_info + Cvertex_t diff --git a/annotated_dup.js b/annotated_dup.js index bf30d822..a75569dc 100644 --- a/annotated_dup.js +++ b/annotated_dup.js @@ -257,8 +257,10 @@ var annotated_dup = [ "Fixture_simple_tree", "structFixture__simple__tree.html", "structFixture__simple__tree" ], [ "FixtureCases", "structFixtureCases.html", "structFixtureCases" ], [ "HudsonAlgorithm", "classHudsonAlgorithm.html", "classHudsonAlgorithm" ], + [ "MyEdgeInfo", "structMyEdgeInfo.html", "structMyEdgeInfo" ], [ "MyNode", "structMyNode.html", "structMyNode" ], [ "MySpatialGrid", "structMySpatialGrid.html", "structMySpatialGrid" ], + [ "MyVertexInfo", "structMyVertexInfo.html", "structMyVertexInfo" ], [ "MyVisitor", "structMyVisitor.html", "structMyVisitor" ], [ "Node", "structNode.html", "structNode" ], [ "transition_matrix", "structtransition__matrix.html", "structtransition__matrix" ], diff --git a/bound__policy_8hpp_source.html b/bound__policy_8hpp_source.html index 3a3bd93b..c88f5d70 100644 --- a/bound__policy_8hpp_source.html +++ b/bound__policy_8hpp_source.html @@ -185,7 +185,7 @@
56  int sink = num_land_vertices;
57  assert( graph.num_vertices() == sink + 1 );
58  if ( s < sink )
-
59  detail::edge_construction<edge_property>::delegate(s, sink, graph); // one-way ticket :(
+
59  detail::edge_construction<edge_property>::delegate(s, sink, graph, grid); // one-way ticket :(
60  }
61 };
62 
@@ -222,7 +222,7 @@
100  {
101  symmetricIndex = s - width + 1;
102  }
-
103  detail::edge_construction<edge_property>::delegate(s, symmetricIndex, graph);
+
103  detail::edge_construction<edge_property>::delegate(s, symmetricIndex, graph, grid);
104  }
105 };
106 
diff --git a/classes.html b/classes.html index 4be23fe4..61622796 100644 --- a/classes.html +++ b/classes.html @@ -188,7 +188,7 @@
landscape (quetzal::geography)
latlon (quetzal::geography)
Layer (quetzal::geography::gdalcpp)
literal_factory (quetzal::expressive)
literal_t (quetzal::expressive)
Loader (quetzal::format::genetics)
logistic (quetzal::demography::dispersal_kernel)
lognormal (quetzal::demography::dispersal_kernel)
lonlat (quetzal::geography)
M
-
make_expression_t (quetzal::expressive)
make_undirected (quetzal::detail)
make_undirected< boost::adjacency_list< A, B, C, D, E, F > > (quetzal::detail)
make_undirected< quetzal::coalescence::k_ary_tree< V, E > > (quetzal::detail)
Marker_Descriptor (quetzal::format::genetics)
mass_based (quetzal::demography::demographic_policy)
Matrix (quetzal::polymorphism::fuzzy_transfer_distance)
mean_accumulator (boost::accumulators::impl)
mirror (quetzal::geography)
Munkres (quetzal::polymorphism::fuzzy_transfer_distance)
MyNode
MySpatialGrid
MyVisitor
+
make_expression_t (quetzal::expressive)
make_undirected (quetzal::detail)
make_undirected< boost::adjacency_list< A, B, C, D, E, F > > (quetzal::detail)
make_undirected< quetzal::coalescence::k_ary_tree< V, E > > (quetzal::detail)
Marker_Descriptor (quetzal::format::genetics)
mass_based (quetzal::demography::demographic_policy)
Matrix (quetzal::polymorphism::fuzzy_transfer_distance)
mean_accumulator (boost::accumulators::impl)
mirror (quetzal::geography)
Munkres (quetzal::polymorphism::fuzzy_transfer_distance)
MyEdgeInfo
MyNode
MySpatialGrid
MyVertexInfo
MyVisitor
N
negative_exponential (quetzal::demography::dispersal_kernel)
mass_based::neighboring_migration (quetzal::demography::demographic_policy)
Network (quetzal::coalescence::container)
network (quetzal::coalescence)
network< no_property, no_property > (quetzal::coalescence)
network_common (quetzal::coalescence::detail)
newick_with_distance_to_parent (quetzal::coalescence)
newick_with_distance_to_parent_and_leaf_name (quetzal::coalescence)
Node
node (quetzal::format::newick::ast)
null_output_iterator (quetzal::utils)
diff --git a/classquetzal_1_1geography_1_1landscape-members.html b/classquetzal_1_1geography_1_1landscape-members.html index 5a5cec82..7cd0de69 100644 --- a/classquetzal_1_1geography_1_1landscape-members.html +++ b/classquetzal_1_1geography_1_1landscape-members.html @@ -154,37 +154,43 @@ colrow typedef (defined in quetzal::geography::landscape< Key, Time >)quetzal::geography::landscape< Key, Time > contains(const latlon &x) const noexceptquetzal::geography::landscape< Key, Time >inline contains(const lonlat &x) const noexceptquetzal::geography::landscape< Key, Time >inline - contains(const time_type &t) const noexceptquetzal::geography::landscape< Key, Time >inline - decimal_degree typedef (defined in quetzal::geography::landscape< Key, Time >)quetzal::geography::landscape< Key, Time > - depth() const noexceptquetzal::geography::landscape< Key, Time >inline - from_files(const std::map< key_type, std::filesystem::path > &files, const std::vector< time_type > &times)quetzal::geography::landscape< Key, Time >inlinestatic - get_extent() const noexceptquetzal::geography::landscape< Key, Time >inline - get_resolution() const noexceptquetzal::geography::landscape< Key, Time >inline - height() const noexceptquetzal::geography::landscape< Key, Time >inline - key_type typedef (defined in quetzal::geography::landscape< Key, Time >)quetzal::geography::landscape< Key, Time > - latlon typedef (defined in quetzal::geography::landscape< Key, Time >)quetzal::geography::landscape< Key, Time > - location_descriptor typedef (defined in quetzal::geography::landscape< Key, Time >)quetzal::geography::landscape< Key, Time > - locations() const noexceptquetzal::geography::landscape< Key, Time >inline - lonlat typedef (defined in quetzal::geography::landscape< Key, Time >)quetzal::geography::landscape< Key, Time > - num_locations() const noexceptquetzal::geography::landscape< Key, Time >inline - num_variables() const noexceptquetzal::geography::landscape< Key, Time >inline - operator[](const key_type &key) constquetzal::geography::landscape< Key, Time >inline - operator[](const key_type &key)quetzal::geography::landscape< Key, Time >inline - origin() const noexceptquetzal::geography::landscape< Key, Time >inline - rowcol typedef (defined in quetzal::geography::landscape< Key, Time >)quetzal::geography::landscape< Key, Time > - time_descriptor typedef (defined in quetzal::geography::landscape< Key, Time >)quetzal::geography::landscape< Key, Time > - time_type typedef (defined in quetzal::geography::landscape< Key, Time >)quetzal::geography::landscape< Key, Time > - times() const noexceptquetzal::geography::landscape< Key, Time >inline - to_centroid(const latlon &x) constquetzal::geography::landscape< Key, Time >inline - to_colrow(const latlon &x) const noexceptquetzal::geography::landscape< Key, Time >inline - to_colrow(location_descriptor x) const noexceptquetzal::geography::landscape< Key, Time >inline - to_descriptor(const colrow &x) const noexceptquetzal::geography::landscape< Key, Time >inline - to_descriptor(const latlon &x) const noexceptquetzal::geography::landscape< Key, Time >inline - to_geotiff(Callable f, time_descriptor start, time_descriptor end, const std::filesystem::path &file) constquetzal::geography::landscape< Key, Time >inline - to_latlon(location_descriptor x) const noexceptquetzal::geography::landscape< Key, Time >inline - to_latlon(const colrow &x) const noexceptquetzal::geography::landscape< Key, Time >inline + decimal_degree typedef (defined in quetzal::geography::landscape< Key, Time >)quetzal::geography::landscape< Key, Time > + depth() const noexceptquetzal::geography::landscape< Key, Time >inline + from_file(const std::map< key_type, std::filesystem::path > &files, const std::vector< time_type > &times)quetzal::geography::landscape< Key, Time >inlinestatic + get_extent() const noexceptquetzal::geography::landscape< Key, Time >inline + get_resolution() const noexceptquetzal::geography::landscape< Key, Time >inline + height() const noexceptquetzal::geography::landscape< Key, Time >inline + is_in_interval(const time_type &t) const noexceptquetzal::geography::landscape< Key, Time >inline + is_recorded(const time_type &t) const noexceptquetzal::geography::landscape< Key, Time >inline + is_valid(location_descriptor x) const noexceptquetzal::geography::landscape< Key, Time >inline + is_valid(const colrow &x) const noexceptquetzal::geography::landscape< Key, Time >inline + is_valid(const rowcol &x) const noexceptquetzal::geography::landscape< Key, Time >inline + is_valid(time_descriptor t) const noexceptquetzal::geography::landscape< Key, Time >inline + key_type typedef (defined in quetzal::geography::landscape< Key, Time >)quetzal::geography::landscape< Key, Time > + latlon typedef (defined in quetzal::geography::landscape< Key, Time >)quetzal::geography::landscape< Key, Time > + location_descriptor typedef (defined in quetzal::geography::landscape< Key, Time >)quetzal::geography::landscape< Key, Time > + locations() const noexceptquetzal::geography::landscape< Key, Time >inline + lonlat typedef (defined in quetzal::geography::landscape< Key, Time >)quetzal::geography::landscape< Key, Time > + num_locations() const noexceptquetzal::geography::landscape< Key, Time >inline + num_variables() const noexceptquetzal::geography::landscape< Key, Time >inline + operator[](const key_type &key) constquetzal::geography::landscape< Key, Time >inline + operator[](const key_type &key)quetzal::geography::landscape< Key, Time >inline + origin() const noexceptquetzal::geography::landscape< Key, Time >inline + rowcol typedef (defined in quetzal::geography::landscape< Key, Time >)quetzal::geography::landscape< Key, Time > + time_descriptor typedef (defined in quetzal::geography::landscape< Key, Time >)quetzal::geography::landscape< Key, Time > + time_type typedef (defined in quetzal::geography::landscape< Key, Time >)quetzal::geography::landscape< Key, Time > + times() const noexceptquetzal::geography::landscape< Key, Time >inline + to_centroid(const latlon &x) constquetzal::geography::landscape< Key, Time >inline + to_colrow(const latlon &x) const noexceptquetzal::geography::landscape< Key, Time >inline + to_colrow(location_descriptor x) const noexceptquetzal::geography::landscape< Key, Time >inline + to_descriptor(const colrow &x) const noexceptquetzal::geography::landscape< Key, Time >inline + to_descriptor(const latlon &x) const noexceptquetzal::geography::landscape< Key, Time >inline + to_geotiff(Callable f, time_descriptor start, time_descriptor end, const std::filesystem::path &file) constquetzal::geography::landscape< Key, Time >inline + to_latlon(location_descriptor x) const noexceptquetzal::geography::landscape< Key, Time >inline + to_latlon(const colrow &x) const noexceptquetzal::geography::landscape< Key, Time >inline + to_lonlat(location_descriptor x) const noexceptquetzal::geography::landscape< Key, Time >inline to_lonlat(const colrow &x) const noexceptquetzal::geography::landscape< Key, Time >inline - to_rowcol(const latlon &x) const noexceptquetzal::geography::landscape< Key, Time >inline + to_rowcol(const latlon &x) const noexceptquetzal::geography::landscape< Key, Time >inline to_shapefile(std::vector< latlon > points, const std::filesystem::path &file) constquetzal::geography::landscape< Key, Time >inline to_shapefile(std::map< latlon, int > counts, const std::filesystem::path &file) constquetzal::geography::landscape< Key, Time >inline width() const noexceptquetzal::geography::landscape< Key, Time >inline diff --git a/classquetzal_1_1geography_1_1landscape.html b/classquetzal_1_1geography_1_1landscape.html index c0fe4c4e..70d64c01 100644 --- a/classquetzal_1_1geography_1_1landscape.html +++ b/classquetzal_1_1geography_1_1landscape.html @@ -158,12 +158,12 @@ class quetzal::geography::landscape< Key, Time >

Discrete spatio-temporal variations of a set of environmental variables.

-

Read and write multiple georeferenced raster datasets with multiple bands (layers). Multiple quetzal::geography::raster objects are assembled into a multivariate discrete quetzal::geography::landscape. This geospatial collection is constructed from raster files and gives strong guarantees on grids consistency.

Remarks
Working with multiple variables can lead to simulation problems if the rasters have even slightly different grid properties, like different resolutions, origins or extent. To prevent these problems from happening, a quetzal::geography::landscape wraps multiple quetzal::geography::raster objects into one single coherent object and checks that all rasters are aligned.
+

Read and write multiple geo-referenced raster datasets with multiple bands (layers). Multiple quetzal::geography::raster objects are assembled into a multivariate discrete quetzal::geography::landscape. This geo-spatial collection is constructed from raster files and gives strong guarantees on grids consistency.

Remarks
Working with multiple variables can lead to simulation problems if the rasters have even slightly different grid properties, like different resolutions, origins or extent. To prevent these problems from happening, a quetzal::geography::landscape wraps multiple quetzal::geography::raster objects into one single coherent object and checks that all rasters are aligned.
A quetzal::geography::landscape shares a large part of its spatial semantics with a quetzal::geography::raster.
Template Parameters
- +
KeyA key used to uniquely identifie a variable, e.g. std::string.
KeyA key used to uniquely identify a variable, e.g. std::string.
TimeType used as time period for every band, e.g. std::string with 4.2-0.3 ka
@@ -241,45 +241,58 @@  Depth of the spatial grid.
 
Look-up
- -auto locations () const noexcept - Location descriptors (unique identifiers) of the grid cells.
+auto locations () const noexcept + Location descriptors (unique identifiers) of the grid cells. More...
  - -auto times () const noexcept - Time descriptors (unique identifiers) of the dataset bands.
+auto times () const noexcept + Time descriptors (unique identifiers) of the dataset bands. More...
  - -bool contains (const latlon &x) const noexcept - checks if the raster contains a layer with specific time
+bool is_valid (location_descriptor x) const noexcept + Check if a descriptor describes a valid location of the spatial grid. More...
+  +bool is_valid (const colrow &x) const noexcept + Check if the coordinate describes a valid location of the spatial grid. More...
+  +bool is_valid (const rowcol &x) const noexcept + Check if the coordinate describes a valid location of the spatial grid. More...
+  +bool contains (const latlon &x) const noexcept + Check if the raster contains a coordinate. More...
  - -bool contains (const lonlat &x) const noexcept - checks if the raster contains a layer with specific time
+bool contains (const lonlat &x) const noexcept + Check if the raster contains a coordinate. More...
  - -bool contains (const time_type &t) const noexcept - checks if the raster contains a layer with specific time
-  +bool is_valid (time_descriptor t) const noexcept + Check if the time descriptor is a valid index. More...
+  +bool is_recorded (const time_type &t) const noexcept + Search for the exact time in the list of time points recorded by the raster. More...
+  +bool is_in_interval (const time_type &t) const noexcept + Check if the exact time point falls between the first and last date of record. More...
Coordinate systems
-std::optional< location_descriptor > to_descriptor (const colrow &x) const noexcept - Location descriptor of the cell identified by its column/row. More...
-  -std::optional< location_descriptor > to_descriptor (const latlon &x) const noexcept - Location descriptor of the cell to which the given coordinate belongs. More...
-  -std::optional< colrow > to_colrow (const latlon &x) const noexcept - Column and row of the cell to which the given coordinate belongs. More...
-  -std::optional< rowcol > to_rowcol (const latlon &x) const noexcept - Row and column of the cell to which the given coordinate belongs. More...
-  -std::optional< colrow > to_colrow (location_descriptor x) const noexcept - Column and row of the cell to which the given descriptor belongs. More...
-  -std::optional< latlon > to_latlon (location_descriptor x) const noexcept - Latitude and longitude of the cell to which the given coordinate belongs. More...
-  +location_descriptor to_descriptor (const colrow &x) const noexcept + Location descriptor of the cell identified by its column/row. More...
+  +location_descriptor to_descriptor (const latlon &x) const noexcept + Location descriptor of the cell to which the given coordinate belongs. More...
+  +colrow to_colrow (const latlon &x) const noexcept + Column and row of the cell to which the given coordinate belongs. More...
+  +rowcol to_rowcol (const latlon &x) const noexcept + Row and column of the cell to which the given coordinate belongs. More...
+  +colrow to_colrow (location_descriptor x) const noexcept + Column and row of the cell to which the given descriptor belongs. More...
+  +latlon to_latlon (location_descriptor x) const noexcept + Latitude and longitude of the cell to which the given coordinate belongs. More...
+  +lonlat to_lonlat (location_descriptor x) const noexcept + Longitude and latitude of the cell to which the given coordinate belongs. More...
+  latlon to_latlon (const colrow &x) const noexcept  Latitude and longitude of the cell identified by its column/row. More...
  @@ -291,9 +304,9 @@   - - - + + + @@ -310,8 +323,8 @@

Input/Output

static landscape from_files (const std::map< key_type, std::filesystem::path > &files, const std::vector< time_type > &times)
 Read the rasters from a set of input geotiff files. More...
 
static landscape from_file (const std::map< key_type, std::filesystem::path > &files, const std::vector< time_type > &times)
 Read the rasters from a set of input geotiff files. More...
 
template<typename Callable >
requires std::invocable< Callable, location_descriptor, time_descriptor, std::optional< double > > void to_geotiff (Callable f, time_descriptor start, time_descriptor end, const std::filesystem::path &file) const
 Export a spatio-temporal raster to a Geotiff file. More...
 

Member Function Documentation

- -

◆ from_files()

+ +

◆ contains() [1/2]

+ +

◆ contains() [2/2]

+ +
+
+
+template<typename Key = std::string, typename Time = int>
+ + + + + +
+ + + + + + + + +
bool quetzal::geography::landscape< Key, Time >::contains (const lonlat & x) const
+
+inlinenoexcept
+
+ +

Check if the raster contains a coordinate.

+
Parameters
+ + +
xthe lon/lat to check.
+
+
+
Returns
True if x is valid, false otherwise.
+ +
+
+ +

◆ from_file()

+ +
+
+
+template<typename Key = std::string, typename Time = int>
+ + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + +
+ + + @@ -359,6 +446,258 @@

Returns
A raster object
Remarks
error will be thrown if the datasets do not have the exactly same geographical properties (origin, extent, resolution, number of layers).
+ + +
+

◆ is_in_interval()

+ +
+
+
+template<typename Key = std::string, typename Time = int>
+

static landscape quetzal::geography::landscape< Key, Time >::from_file ( const std::map< key_type, std::filesystem::path > &  files,
+ + + + +
+ + + + + + + + +
bool quetzal::geography::landscape< Key, Time >::is_in_interval (const time_type & t) const
+
+inlinenoexcept
+
+ +

Check if the exact time point falls between the first and last date of record.

+
Parameters
+ + +
tAn exact point in time
+
+
+
Returns
True if the time point falls in the temporal range, false otherwise.
+ +
+ + +

◆ is_recorded()

+ +
+
+
+template<typename Key = std::string, typename Time = int>
+ + + + + +
+ + + + + + + + +
bool quetzal::geography::landscape< Key, Time >::is_recorded (const time_type & t) const
+
+inlinenoexcept
+
+ +

Search for the exact time in the list of time points recorded by the raster.

+
Parameters
+ + +
tAn exact point in time
+
+
+
Returns
True if the time point is found, false otherwise.
+ +
+
+ +

◆ is_valid() [1/4]

+ +
+
+
+template<typename Key = std::string, typename Time = int>
+ + + + + +
+ + + + + + + + +
bool quetzal::geography::landscape< Key, Time >::is_valid (const colrow & x) const
+
+inlinenoexcept
+
+ +

Check if the coordinate describes a valid location of the spatial grid.

+
Parameters
+ + +
xthe column/row to check.
+
+
+
Returns
True if x is valid, false otherwise.
+ +
+
+ +

◆ is_valid() [2/4]

+ +
+
+
+template<typename Key = std::string, typename Time = int>
+ + + + + +
+ + + + + + + + +
bool quetzal::geography::landscape< Key, Time >::is_valid (const rowcol & x) const
+
+inlinenoexcept
+
+ +

Check if the coordinate describes a valid location of the spatial grid.

+
Parameters
+ + +
xthe row/column to check.
+
+
+
Returns
True if x is valid, false otherwise.
+ +
+
+ +

◆ is_valid() [3/4]

+ +
+
+
+template<typename Key = std::string, typename Time = int>
+ + + + + +
+ + + + + + + + +
bool quetzal::geography::landscape< Key, Time >::is_valid (location_descriptor x) const
+
+inlinenoexcept
+
+ +

Check if a descriptor describes a valid location of the spatial grid.

+
Parameters
+ + +
xthe descriptor to check
+
+
+
Returns
True if x is valid, false otherwise.
+ +
+
+ +

◆ is_valid() [4/4]

+ +
+
+
+template<typename Key = std::string, typename Time = int>
+ + + + + +
+ + + + + + + + +
bool quetzal::geography::landscape< Key, Time >::is_valid (time_descriptor t) const
+
+inlinenoexcept
+
+ +

Check if the time descriptor is a valid index.

+
Parameters
+ + +
tA time descriptor identifying a layer of the raster.
+
+
+
Returns
True if the descriptor is a valid index, false otherwise.
+ +
+
+ +

◆ locations()

+ +
+
+
+template<typename Key = std::string, typename Time = int>
+ + + + + +
+ + + + + + + +
auto quetzal::geography::landscape< Key, Time >::locations () const
+
+inlinenoexcept
+
+ +

Location descriptors (unique identifiers) of the grid cells.

+
Returns
A range of unique identifiers for every cell
+
@@ -493,6 +832,36 @@

Returns
the raster object of the specified variable.
+ + +
+

◆ times()

+ +
+
+
+template<typename Key = std::string, typename Time = int>
+ + + + + +
+ + + + + + + +
auto quetzal::geography::landscape< Key, Time >::times () const
+
+inlinenoexcept
+
+ +

Time descriptors (unique identifiers) of the dataset bands.

+
Returns
A range of unique identifiers for every time point recorded
+
@@ -530,11 +899,12 @@

Returns
The coordinate of the centroid of the cell it belongs.
+
Precondition
x is in spatial extent
-
-

◆ to_colrow() [1/2]

+ +

◆ to_colrow() [1/2]

- -

◆ to_colrow() [2/2]

+ +

◆ to_colrow() [2/2]

- -

◆ to_descriptor() [2/2]

+ +

◆ to_descriptor() [2/2]

@@ -777,12 +1151,13 @@

Returns
A pair (latitude, longitude)
+
Returns
A pair (latitude, longitude).
+
Precondition
x is in spatial extent.
-
-

◆ to_latlon() [2/2]

+ +

◆ to_latlon() [2/2]

- -

◆ to_rowcol()

+ +

◆ to_rowcol()

diff --git a/classquetzal_1_1geography_1_1landscape.js b/classquetzal_1_1geography_1_1landscape.js index 6e25e943..4df03523 100644 --- a/classquetzal_1_1geography_1_1landscape.js +++ b/classquetzal_1_1geography_1_1landscape.js @@ -11,11 +11,16 @@ var classquetzal_1_1geography_1_1landscape = [ "time_type", "classquetzal_1_1geography_1_1landscape.html#a9efd7928a74776999cdcf7d459453a6c", null ], [ "contains", "classquetzal_1_1geography_1_1landscape.html#ab3479445ee6eea58e4e6e530b17442e5", null ], [ "contains", "classquetzal_1_1geography_1_1landscape.html#a99a338c731efec06f0bcb2a91f3a2f8b", null ], - [ "contains", "classquetzal_1_1geography_1_1landscape.html#a857c9ae8d5a9cc2a2530d330a2a88bc9", null ], [ "depth", "classquetzal_1_1geography_1_1landscape.html#aa370bcb74a697431ae62627f46453667", null ], [ "get_extent", "classquetzal_1_1geography_1_1landscape.html#a620d187056eeb0eed2b8f6cf78979b11", null ], [ "get_resolution", "classquetzal_1_1geography_1_1landscape.html#a6926256dc8861ad507410c19fac23c5e", null ], [ "height", "classquetzal_1_1geography_1_1landscape.html#a7d108433201ea92670500e9380908610", null ], + [ "is_in_interval", "classquetzal_1_1geography_1_1landscape.html#ae7d2dd01c529000d13da2516a741e686", null ], + [ "is_recorded", "classquetzal_1_1geography_1_1landscape.html#a4cf6d262482544b1a38daee8e51e7668", null ], + [ "is_valid", "classquetzal_1_1geography_1_1landscape.html#ad84e8b36bbb30ba9b56bd16363360255", null ], + [ "is_valid", "classquetzal_1_1geography_1_1landscape.html#a9b14a6dbc4551b48fb3fee623ff53e17", null ], + [ "is_valid", "classquetzal_1_1geography_1_1landscape.html#a4e9ba2868e73dafa672d073ba567fcad", null ], + [ "is_valid", "classquetzal_1_1geography_1_1landscape.html#af2b87b19410addbecaf2aa11f1a917ab", null ], [ "locations", "classquetzal_1_1geography_1_1landscape.html#ab94a23956f297f6074a69588a4d48002", null ], [ "num_locations", "classquetzal_1_1geography_1_1landscape.html#a1324a19f40068b154090c75e79001899", null ], [ "num_variables", "classquetzal_1_1geography_1_1landscape.html#a7f2edd53cfd6bc60d4a9deb843cc7765", null ], @@ -24,15 +29,16 @@ var classquetzal_1_1geography_1_1landscape = [ "origin", "classquetzal_1_1geography_1_1landscape.html#a1e61da288b158072d126fbf1986d4333", null ], [ "times", "classquetzal_1_1geography_1_1landscape.html#a3bd2fef74ff43831f98de5138522cc98", null ], [ "to_centroid", "classquetzal_1_1geography_1_1landscape.html#a9dfd95704c08353e7ea05b3d5974680e", null ], - [ "to_colrow", "classquetzal_1_1geography_1_1landscape.html#a0006c7e5e6f5613f6469d61ab173c08e", null ], - [ "to_colrow", "classquetzal_1_1geography_1_1landscape.html#a1787965739bbd9ca65a73ee96d37bb59", null ], - [ "to_descriptor", "classquetzal_1_1geography_1_1landscape.html#a5fbf21a34c75840221f349e2a5d88601", null ], - [ "to_descriptor", "classquetzal_1_1geography_1_1landscape.html#a83223b0b4e656f8155369af96650adf4", null ], + [ "to_colrow", "classquetzal_1_1geography_1_1landscape.html#aa1cd74dfa03785963eab0f6d645369bf", null ], + [ "to_colrow", "classquetzal_1_1geography_1_1landscape.html#a0901b86db4340b573d269f4317775c0c", null ], + [ "to_descriptor", "classquetzal_1_1geography_1_1landscape.html#ab2ab5a400e7b1a1ba11a757f7bb1f840", null ], + [ "to_descriptor", "classquetzal_1_1geography_1_1landscape.html#a912d0555798e06b6b950dbb106cefe4a", null ], [ "to_geotiff", "classquetzal_1_1geography_1_1landscape.html#a6e2250dca4776f4cd5a6f57a653b651a", null ], [ "to_latlon", "classquetzal_1_1geography_1_1landscape.html#ae61d099b94ce1ee303d23570ed1da169", null ], - [ "to_latlon", "classquetzal_1_1geography_1_1landscape.html#a45546d53199d7b547e496ae7d0884466", null ], + [ "to_latlon", "classquetzal_1_1geography_1_1landscape.html#a6006fcee91733c22b87d6e2d6e61108e", null ], [ "to_lonlat", "classquetzal_1_1geography_1_1landscape.html#ab3d71385903ab2659e028a5058dbe550", null ], - [ "to_rowcol", "classquetzal_1_1geography_1_1landscape.html#a233a041e6db8110f76e93862dec5eded", null ], + [ "to_lonlat", "classquetzal_1_1geography_1_1landscape.html#a346455d150bd4336b28cf20fb27aef77", null ], + [ "to_rowcol", "classquetzal_1_1geography_1_1landscape.html#aef689aabe1ff696810af389d4927470a", null ], [ "to_shapefile", "classquetzal_1_1geography_1_1landscape.html#acd8a09f4adb4464563f0537873dcf1fd", null ], [ "to_shapefile", "classquetzal_1_1geography_1_1landscape.html#ac3df6d37cb4eca1eb2ace7014f3fd51b", null ], [ "width", "classquetzal_1_1geography_1_1landscape.html#aed4754bc3e79f19b6a59e75bf3bfcd5c", null ], diff --git a/classquetzal_1_1geography_1_1raster-members.html b/classquetzal_1_1geography_1_1raster-members.html index 00518180..ebd226fc 100644 --- a/classquetzal_1_1geography_1_1raster-members.html +++ b/classquetzal_1_1geography_1_1raster-members.html @@ -156,47 +156,50 @@

const (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
contains(const latlon &x) const noexceptquetzal::geography::raster< Time >inline
contains(const lonlat &x) const noexceptquetzal::geography::raster< Time >inline
contains(const time_type &t) const noexceptquetzal::geography::raster< Time >inline
decimal_degree typedef (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
depth() const noexceptquetzal::geography::raster< Time >inline
end (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
from_file(const std::filesystem::path &file, const std::vector< time_type > &times)quetzal::geography::raster< Time >inlinestatic
get_extent() const noexceptquetzal::geography::raster< Time >inline
get_resolution() const noexceptquetzal::geography::raster< Time >inline
height() const noexceptquetzal::geography::raster< Time >inline
latlon typedef (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
location_descriptor typedef (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
locations() const noexceptquetzal::geography::raster< Time >inline
lonlat typedef (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
NA() const noexceptquetzal::geography::raster< Time >inline
origin() const noexceptquetzal::geography::raster< Time >inline
raster(const std::filesystem::path &file, const std::vector< time_type > &times)quetzal::geography::raster< Time >inlineexplicit
requires(std::is_invocable_r_v< std::optional< value_type >, Callable, location_descriptor, time_type >) void to_geotiff(Callable fquetzal::geography::raster< Time >
rowcol typedef (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
start (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
time_descriptor typedef (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
time_type typedef (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
times() const noexceptquetzal::geography::raster< Time >inline
to_centroid(const latlon &x) constquetzal::geography::raster< Time >inline
to_colrow(const latlon &x) constquetzal::geography::raster< Time >inline
to_colrow(location_descriptor x) const noexceptquetzal::geography::raster< Time >inline
to_descriptor(const colrow &x) constquetzal::geography::raster< Time >inline
to_descriptor(const latlon &x) constquetzal::geography::raster< Time >inline
to_latlon(location_descriptor x) const noexceptquetzal::geography::raster< Time >inline
to_latlon(const colrow &x) const noexceptquetzal::geography::raster< Time >inline
to_latlon(const rowcol &x) const noexceptquetzal::geography::raster< Time >inline
to_latlon(const lonlat &x) const noexceptquetzal::geography::raster< Time >inline
to_lonlat(const colrow &x) const noexceptquetzal::geography::raster< Time >inline
to_lonlat(const latlon &x) const noexceptquetzal::geography::raster< Time >inline
decimal_degree typedef (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
depth() const noexceptquetzal::geography::raster< Time >inline
end (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
from_file(const std::filesystem::path &file, const std::vector< time_type > &times)quetzal::geography::raster< Time >inlinestatic
get_extent() const noexceptquetzal::geography::raster< Time >inline
get_resolution() const noexceptquetzal::geography::raster< Time >inline
height() const noexceptquetzal::geography::raster< Time >inline
is_in_interval(const time_type &t) const noexceptquetzal::geography::raster< Time >inline
is_recorded(const time_type &t) const noexceptquetzal::geography::raster< Time >inline
is_valid(location_descriptor x) const noexceptquetzal::geography::raster< Time >inline
is_valid(const colrow &x) const noexceptquetzal::geography::raster< Time >inline
is_valid(const rowcol &x) const noexceptquetzal::geography::raster< Time >inline
is_valid(time_descriptor t) const noexceptquetzal::geography::raster< Time >inline
latlon typedef (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
location_descriptor typedef (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
locations() const noexceptquetzal::geography::raster< Time >inline
lonlat typedef (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
NA() const noexceptquetzal::geography::raster< Time >inline
origin() const noexceptquetzal::geography::raster< Time >inline
raster(const std::filesystem::path &file, const std::vector< time_type > &times)quetzal::geography::raster< Time >inlineexplicit
requires(std::is_invocable_r_v< std::optional< value_type >, Callable, location_descriptor, time_type >) inline void to_geotiff(Callable fquetzal::geography::raster< Time >
rowcol typedef (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
start (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
time_descriptor typedef (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
time_type typedef (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
times() const noexceptquetzal::geography::raster< Time >inline
to_centroid(const latlon &x) constquetzal::geography::raster< Time >inline
to_colrow(const latlon &x) const noexceptquetzal::geography::raster< Time >inline
to_colrow(location_descriptor x) const noexceptquetzal::geography::raster< Time >inline
to_descriptor(const colrow &x) const noexceptquetzal::geography::raster< Time >inline
to_descriptor(const latlon &x) const noexceptquetzal::geography::raster< Time >inline
to_latlon(location_descriptor x) const noexceptquetzal::geography::raster< Time >inline
to_latlon(const colrow &x) const noexceptquetzal::geography::raster< Time >inline
to_latlon(const rowcol &x) const noexceptquetzal::geography::raster< Time >inline
to_lonlat(location_descriptor x) const noexceptquetzal::geography::raster< Time >inline
to_rowcol(const latlon &x) const noexceptquetzal::geography::raster< Time >inline
to_rowcol(location_descriptor x) const noexceptquetzal::geography::raster< Time >inline
to_shapefile(std::vector< latlon > points, const std::filesystem::path &file) constquetzal::geography::raster< Time >inline
to_shapefile(std::map< latlon, int > counts, const std::filesystem::path &file) constquetzal::geography::raster< Time >inline
to_view() const noexceptquetzal::geography::raster< Time >inline
value_type typedef (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
width() const noexceptquetzal::geography::raster< Time >inline
write(std::ostream &stream) constquetzal::geography::raster< Time >inline
to_lonlat(const colrow &x) const noexceptquetzal::geography::raster< Time >inline
to_rowcol(const latlon &x) const noexceptquetzal::geography::raster< Time >inline
to_rowcol(location_descriptor x) const noexceptquetzal::geography::raster< Time >inline
to_shapefile(std::vector< latlon > points, const std::filesystem::path &file) constquetzal::geography::raster< Time >inline
to_shapefile(std::map< latlon, int > counts, const std::filesystem::path &file) constquetzal::geography::raster< Time >inline
to_view() const noexceptquetzal::geography::raster< Time >inline
value_type typedef (defined in quetzal::geography::raster< Time >)quetzal::geography::raster< Time >
width() const noexceptquetzal::geography::raster< Time >inline
write(std::ostream &stream) constquetzal::geography::raster< Time >inline
diff --git a/classquetzal_1_1geography_1_1raster.html b/classquetzal_1_1geography_1_1raster.html index 68e74798..3c9c2fad 100644 --- a/classquetzal_1_1geography_1_1raster.html +++ b/classquetzal_1_1geography_1_1raster.html @@ -163,12 +163,15 @@ + + + + - - @@ -181,9 +184,6 @@ - - @@ -225,26 +225,36 @@ - - + + - - + + - - + + + + + + + + + + + - - + + - - - + + + + + + + + + @@ -252,17 +262,17 @@ - - - - - - - - - + + + + + + + + + - + @@ -273,6 +283,9 @@ + + + @@ -282,15 +295,6 @@ - - - - - - - - - @@ -304,10 +308,10 @@ - - - - + + + + @@ -417,6 +421,84 @@

Returns
An optional that is empty if the value read is equal to NA.
+
Precondition
x is contained in the spatial extent
+
+t is contained in the temporal extent
+ + + +
+

◆ contains() [1/2]

+ +
+
+
+template<typename Time = int>
+

Public Types

+using time_type = Time
 
+using time_descriptor = std::vector< time_type >::size_type
 
using location_descriptor = int
 
-using time_descriptor = int
 
using latlon = quetzal::geography::latlon
 
using rowcol = quetzal::geography::rowcol
 
-using time_type = Time
 
using decimal_degree = double
 
 NA value, as read in the first band of the dataset.
 
Look-up
-auto locations () const noexcept
 Location descriptors (unique identifiers) of the grid cells.
auto locations () const noexcept
 Location descriptors (unique identifiers) of the grid cells. More...
 
-auto times () const noexcept
 Time descriptors (unique identifiers) of the dataset bands.
auto times () const noexcept
 Time descriptors (unique identifiers) of the dataset bands. More...
 
-bool contains (const latlon &x) const noexcept
 checks if the raster contains a layer with specific time
bool is_valid (location_descriptor x) const noexcept
 Check if a descriptor describes a valid location of the spatial grid. More...
 
bool is_valid (const colrow &x) const noexcept
 Check if the coordinate describes a valid location of the spatial grid. More...
 
bool is_valid (const rowcol &x) const noexcept
 Check if the coordinate describes a valid location of the spatial grid. More...
 
bool contains (const latlon &x) const noexcept
 Check if the raster contains a coordinate. More...
 
-bool contains (const lonlat &x) const noexcept
 checks if the raster contains a layer with specific time
bool contains (const lonlat &x) const noexcept
 Check if the raster contains a coordinate. More...
 
-bool contains (const time_type &t) const noexcept
 checks if the raster contains a layer with specific time
 
bool is_valid (time_descriptor t) const noexcept
 Check if the time descriptor is a valid index. More...
 
bool is_recorded (const time_type &t) const noexcept
 Search for the exact time in the list of time points recorded by the raster. More...
 
bool is_in_interval (const time_type &t) const noexcept
 Check if the exact time point falls between the first and last date of record. More...
 
std::optional< value_type > at (location_descriptor x, time_descriptor t) const noexcept
 Read the value at location x and time t. More...
 
 Makes the raster a callable with signature std::optional<value_type> (location_descriptor x, time_descriptor t) returning the value at location x and time t. More...
 
Coordinate systems
location_descriptor to_descriptor (const colrow &x) const
 Location descriptor of the cell identified by its column/row. If no such cell exists, an exception of type std::out_of_range is thrown. More...
 
location_descriptor to_descriptor (const latlon &x) const
 Location descriptor of the cell to which the given coordinate belongs. If no such cell exists, an exception of type std::out_of_range is thrown. More...
 
colrow to_colrow (const latlon &x) const
 Column and row of the cell to which the given coordinate belongs. If no such cell exists, an exception of type std::out_of_range is thrown. More...
 
location_descriptor to_descriptor (const colrow &x) const noexcept
 Location descriptor of the cell identified by its column/row. More...
 
location_descriptor to_descriptor (const latlon &x) const noexcept
 Location descriptor of the cell to which the given coordinate belongs. More...
 
colrow to_colrow (const latlon &x) const noexcept
 Column and row of the cell to which the given coordinate belongs. More...
 
rowcol to_rowcol (const latlon &x) const noexcept
 Row and column of the cell to which the given coordinate belongs. If no such cell exists, an exception of type std::out_of_range is thrown. More...
 Row and column of the cell to which the given coordinate belongs. More...
 
colrow to_colrow (location_descriptor x) const noexcept
 Column and row of the cell to which the given descriptor belongs. More...
latlon to_latlon (location_descriptor x) const noexcept
 Latitude and longitude of the cell to which the given coordinate belongs. More...
 
lonlat to_lonlat (location_descriptor x) const noexcept
 Latitude and longitude of the cell to which the given coordinate belongs. More...
 
latlon to_latlon (const colrow &x) const noexcept
 Latitude and longitude of the cell identified by its column/row. More...
 
lonlat to_lonlat (const colrow &x) const noexcept
 Longitude and latitude of the deme identified by its column/row. More...
 
lonlat to_lonlat (const latlon &x) const noexcept
 Latlon to lonlat conversation. More...
 
latlon to_latlon (const lonlat &x) const noexcept
 Latlon to lonlat conversation. More...
 
lonlat to_lonlat (location_descriptor x) const noexcept
 Longitude and latitude of the deme identified by its column/row. More...
 
latlon to_centroid (const latlon &x) const
 Reprojects a coordinate to the centroid of the cell it belongs. More...
 
 
time_type time_type const std::filesystem::path &file const
 
template<class Callable >
 requires (std::is_invocable_r_v< std::optional< value_type >, Callable, location_descriptor, time_type >) void to_geotiff(Callable f
 Export a spatio-temporal raster to a Geotiff file. More...
 
template<class Callable >
 requires (std::is_invocable_r_v< std::optional< value_type >, Callable, location_descriptor, time_type >) inline void to_geotiff(Callable f
 Export a spatio-temporal raster to a Geotiff file. More...
 
void to_shapefile (std::vector< latlon > points, const std::filesystem::path &file) const
 Export spatial points to a shapefile. More...
 
+ + + + +
+ + + + + + + + +
bool quetzal::geography::raster< Time >::contains (const latlonx) const
+
+inlinenoexcept
+
+ +

Check if the raster contains a coordinate.

+
Parameters
+ + +
xthe lat/lon to check.
+
+
+
Returns
True if x is valid, false otherwise.
+
+ +
+ + +

◆ contains() [2/2]

+ +
+
+
+template<typename Time = int>
+ + + + + +
+ + + + + + + + +
bool quetzal::geography::raster< Time >::contains (const lonlatx) const
+
+inlinenoexcept
+
+ +

Check if the raster contains a coordinate.

+
Parameters
+ + +
xthe lon/lat to check.
+
+
+
Returns
True if x is valid, false otherwise.
@@ -460,9 +542,7 @@

Parameters
- - - +
fileThe file to read from
startThe first time period to map to the first band
endThe last time period to map to the last band
stepThe time increment between each band
timesThe time periods relative to each band.

@@ -500,42 +580,82 @@

-

◆ requires()

+ +

◆ is_in_interval()

template<typename Time = int>
+ + + + + +
+ + + + + + + + +
bool quetzal::geography::raster< Time >::is_in_interval (const time_type & t) const
+
+inlinenoexcept
+
+ +

Check if the exact time point falls between the first and last date of record.

+
Parameters
+ + +
tAn exact point in time
+
+
+
Returns
True if the time point falls in the temporal range, false otherwise.
+ +
+
+ +

◆ is_recorded()

+ +
+
-template<class Callable >
+template<typename Time = int>
+ + + + + +
- + - - - + + +
quetzal::geography::raster< Time >::requires bool quetzal::geography::raster< Time >::is_recorded (std::is_invocable_r_v< std::optional< value_type >, Callable, location_descriptor, time_type > )const time_type & t) const
+
+inlinenoexcept
-

Export a spatio-temporal raster to a Geotiff file.

+

Search for the exact time in the list of time points recorded by the raster.

Parameters
- - - - +
ffunctor defining the variable: its signature should be equivalent to std::optional<double> f(location_descriptor, time_descriptor)
startthe first time_descriptor value where f should be called.
endthe last time_descriptor value where f should be called.
filethe file name where to save
tAn exact point in time
-
Remarks
If the returned optional is empty, the raster NA value will be used.
+
Returns
True if the time point is found, false otherwise.
- -

◆ to_centroid()

+ +

◆ is_valid() [1/4]

- -

◆ to_colrow() [1/2]

+ +

◆ is_valid() [2/4]

- -

◆ to_colrow() [2/2]

+ +

◆ is_valid() [3/4]

-
Returns
A pair (column, row)
+
Returns
True if x is valid, false otherwise.
-
-

◆ to_descriptor() [1/2]

+ +

◆ is_valid() [4/4]

@@ -658,9 +777,140 @@

- + - + + + + +
location_descriptor quetzal::geography::raster< Time >::to_descriptor bool quetzal::geography::raster< Time >::is_valid (const colrowtime_descriptor t) const
+ + +inlinenoexcept + + +

+ +

Check if the time descriptor is a valid index.

+
Parameters
+ + +
tA time descriptor identifying a band of the raster dataset.
+
+
+
Returns
True if t is a valid index, false otherwise.
+ +
+
+ +

◆ locations()

+ +
+
+
+template<typename Time = int>
+ + + + + +
+ + + + + + + +
auto quetzal::geography::raster< Time >::locations () const
+
+inlinenoexcept
+
+ +

Location descriptors (unique identifiers) of the grid cells.

+
Returns
A range of unique identifiers for every cell
+ +
+
+ +

◆ requires()

+ +
+
+
+template<typename Time = int>
+
+template<class Callable >
+ + + + + + + + +
quetzal::geography::raster< Time >::requires (std::is_invocable_r_v< std::optional< value_type >, Callable, location_descriptor, time_type > )
+
+ +

Export a spatio-temporal raster to a Geotiff file.

+
Parameters
+ + + + + +
ffunctor defining the variable: its signature should be equivalent to std::optional<double> f(location_descriptor, time_descriptor)
startthe first time_descriptor value where f should be called.
endthe last time_descriptor value where f should be called.
filethe file name where to save
+
+
+
Remarks
If the returned optional is empty, the raster NA value will be used.
+ +
+
+ +

◆ times()

+ +
+
+
+template<typename Time = int>
+ + + + + +
+ + + + + + + +
auto quetzal::geography::raster< Time >::times () const
+
+inlinenoexcept
+
+ +

Time descriptors (unique identifiers) of the dataset bands.

+
Returns
A range of unique identifiers for every time point recorded
+ +
+
+ +

◆ to_centroid()

+ +
+
+
+template<typename Time = int>
+ + + - + @@ -820,7 +1113,7 @@

-

Latitude and longitude of the cell identified by its row/column.

+

Latitude and longitude of the cell identified by its column/row.

Parameters

+ + + + + @@ -672,19 +922,21 @@

-

Location descriptor of the cell identified by its column/row. If no such cell exists, an exception of type std::out_of_range is thrown.

+

Reprojects a coordinate to the centroid of the cell it belongs.

+
Precondition
The spatial extent of the raster must contain the coordinate.
Parameters

latlon quetzal::geography::raster< Time >::to_centroid (const latlon x) const
- +
xthe 1D coordinate to evaluate.
xThe location to reproject
-
Returns
The descriptor value of x
+
Returns
The coordinate of the centroid of the cell it belongs.
+
Precondition
x is in the spatial extent
-
-

◆ to_descriptor() [2/2]

+ +

◆ to_colrow() [1/2]

- -

◆ to_latlon() [1/4]

+ +

◆ to_colrow() [2/2]

- -

◆ to_latlon() [2/4]

+ +

◆ to_descriptor() [1/2]

- -

◆ to_latlon() [3/4]

+ +

◆ to_descriptor() [2/2]

+ +
+
+
+template<typename Time = int>
+ + + + + +
+ + + + + + + + +
location_descriptor quetzal::geography::raster< Time >::to_descriptor (const latlonx) const
+
+inlinenoexcept
+
+ +

Location descriptor of the cell to which the given coordinate belongs.

+
Parameters
+ + +
xthe latitude/longitude coordinate to evaluate.
+
+
+
Returns
The descriptor value of x.
+
Precondition
x is in the spatial extent.
+ +
+
+ +

◆ to_latlon() [1/3]

@@ -808,7 +1101,7 @@

latlon quetzal::geography::raster< Time >::to_latlon

(const rowcolconst colrow x) const
@@ -828,11 +1121,12 @@

Returns
A pair (latitude, longitude)
+
Precondition
x is in the spatial extent
-
-

◆ to_latlon() [4/4]

+ +

◆ to_latlon() [2/3]

@@ -845,7 +1139,7 @@

latlon quetzal::geography::raster< Time >::to_latlon

- + @@ -857,19 +1151,20 @@

-

Latitude and longitude of the cell to which the given coordinate belongs.

+

Latitude and longitude of the cell identified by its row/column.

Parameters

xthe location to evaluate.
(location_descriptor const rowcol x) const
xthe location to evaluate.
-
Returns
An optional with a pair (lat, lon) if x is in the spatial extent, empty otherwise.
+
Returns
A pair (latitude, longitude).
+
Precondition
x is in the spatial extent.
- -

◆ to_lonlat() [1/3]

+ +

◆ to_latlon() [3/3]

@@ -880,9 +1175,9 @@

- + - + @@ -894,19 +1189,20 @@

-

Longitude and latitude of the deme identified by its column/row.

+

Latitude and longitude of the cell to which the given coordinate belongs.

Parameters

lonlat quetzal::geography::raster< Time >::to_lonlat latlon quetzal::geography::raster< Time >::to_latlon (const colrowlocation_descriptor  x) const
xthe location to evaluate.
-
Returns
A pair (latitude, longitude)
+
Returns
A pair (lat, lon).
+
Precondition
x is in the spatial extent.

- -

◆ to_lonlat() [2/3]

+ +

◆ to_lonlat() [1/2]

@@ -919,7 +1215,7 @@

lonlat quetzal::geography::raster< Time >::to_lonlat ( - const latlon &  + const colrowx) const @@ -931,19 +1227,20 @@

-

Latlon to lonlat conversation.

+

Longitude and latitude of the deme identified by its column/row.

Parameters
xthe location to evaluate.
-
Returns
A pair (longitude, latitude)
+
Returns
A pair (longitude, latitude).
+
Precondition
x is in the spatial extent.

-

◆ to_lonlat() [3/3]

+

◆ to_lonlat() [2/2]

@@ -968,14 +1265,15 @@

-

Longitude and latitude of the deme identified by its column/row.

+

Latitude and longitude of the cell to which the given coordinate belongs.

Parameters
xthe location to evaluate.
-
Returns
A pair (latitude, longitude)
+
Returns
A pair (lon, lat).
+
Precondition
x is in the spatial extent

@@ -1005,14 +1303,15 @@

-

Row and column of the cell to which the given coordinate belongs. If no such cell exists, an exception of type std::out_of_range is thrown.

+

Row and column of the cell to which the given coordinate belongs.

Parameters
xthe latitude/longitude coordinate to evaluate.
-
Returns
A pair (row, column)
+
Returns
A pair (row, column).
+
Precondition
x is in the spatial extent.
@@ -1049,7 +1348,8 @@

Returns
A pair (column, row)
+
Returns
A pair (column, row).
+
Precondition
x is in the spatial extent.
diff --git a/classquetzal_1_1geography_1_1raster.js b/classquetzal_1_1geography_1_1raster.js index 4bf85618..bb47000c 100644 --- a/classquetzal_1_1geography_1_1raster.js +++ b/classquetzal_1_1geography_1_1raster.js @@ -6,34 +6,37 @@ var classquetzal_1_1geography_1_1raster = [ "location_descriptor", "classquetzal_1_1geography_1_1raster.html#a1c1af939a96dc773a20a95be28719edf", null ], [ "lonlat", "classquetzal_1_1geography_1_1raster.html#a03c24e95141fe7df76a12cb7d51f4b7c", null ], [ "rowcol", "classquetzal_1_1geography_1_1raster.html#a1630ee3f6bbf9c9605bcf4a7a27562cd", null ], - [ "time_descriptor", "classquetzal_1_1geography_1_1raster.html#a5b592e36d96933e67f24b73dda643bad", null ], + [ "time_descriptor", "classquetzal_1_1geography_1_1raster.html#a301787c173273acc25bac14b3a297ec0", null ], [ "time_type", "classquetzal_1_1geography_1_1raster.html#a26b0e2075ffc13c55185af707772b48c", null ], [ "value_type", "classquetzal_1_1geography_1_1raster.html#aa6f3d535880a15377b1c772552654062", null ], [ "raster", "classquetzal_1_1geography_1_1raster.html#a8c685d463803930f1b45807e69f943e6", null ], [ "at", "classquetzal_1_1geography_1_1raster.html#a2b82a40699a9b00cdb14b53e5d1db796", null ], [ "contains", "classquetzal_1_1geography_1_1raster.html#aec04b7cff49129b71ce6a48bdef50028", null ], [ "contains", "classquetzal_1_1geography_1_1raster.html#a5ba36480a58221da18efaf2559f6980b", null ], - [ "contains", "classquetzal_1_1geography_1_1raster.html#aaa0b4aee6d7d2510e2ca53c3f2826d24", null ], [ "depth", "classquetzal_1_1geography_1_1raster.html#a234d3b6ccfc19c1fe71e713a03b8a7fd", null ], [ "get_extent", "classquetzal_1_1geography_1_1raster.html#aad6fba3a6d20df1286502ed107434c5b", null ], [ "get_resolution", "classquetzal_1_1geography_1_1raster.html#adf0b5f9dc7d7e10bcf614a5d9eb06980", null ], [ "height", "classquetzal_1_1geography_1_1raster.html#a5713da017b8f6fdac1325314fac2d1cc", null ], + [ "is_in_interval", "classquetzal_1_1geography_1_1raster.html#a30d705ce366f499efa4a06001edfe54e", null ], + [ "is_recorded", "classquetzal_1_1geography_1_1raster.html#a126e127a2b8d605fe8b27dc727b6c9d0", null ], + [ "is_valid", "classquetzal_1_1geography_1_1raster.html#aab1d6ebf36a176ebf0c029d4af71a863", null ], + [ "is_valid", "classquetzal_1_1geography_1_1raster.html#ac746493345875d0ee6cd2c9570a71342", null ], + [ "is_valid", "classquetzal_1_1geography_1_1raster.html#adfdd5619fd562857d748362860f3fb99", null ], + [ "is_valid", "classquetzal_1_1geography_1_1raster.html#aa68ec9f4ff44d275300edffb78575e7f", null ], [ "locations", "classquetzal_1_1geography_1_1raster.html#a60619ac297a381810d00e187bbc3d108", null ], [ "NA", "classquetzal_1_1geography_1_1raster.html#a636a15c4ea3bc32589cc3d7eb967bb86", null ], [ "origin", "classquetzal_1_1geography_1_1raster.html#a3ba5b1ac1da5f52452c05dacdf88ca2f", null ], - [ "requires", "classquetzal_1_1geography_1_1raster.html#af5a053394612e69488ab676985fa6c74", null ], + [ "requires", "classquetzal_1_1geography_1_1raster.html#a1855ca4338a74c9ee7338512c2c41b09", null ], [ "times", "classquetzal_1_1geography_1_1raster.html#a142e63d8fe1b4d01fce3e76ae4a4fc7c", null ], [ "to_centroid", "classquetzal_1_1geography_1_1raster.html#aac2bb734b3fd032885cbfcdff2d26236", null ], - [ "to_colrow", "classquetzal_1_1geography_1_1raster.html#a951ff44d7de985f90b11c02a49253680", null ], + [ "to_colrow", "classquetzal_1_1geography_1_1raster.html#ac3035ff291b61bd242ae663d850a02c6", null ], [ "to_colrow", "classquetzal_1_1geography_1_1raster.html#a4e0bcd36bf955a12d8105f073796317d", null ], - [ "to_descriptor", "classquetzal_1_1geography_1_1raster.html#a685eac58cd1db2c2f0d32955223672f2", null ], - [ "to_descriptor", "classquetzal_1_1geography_1_1raster.html#aeda96bff5f48641a17414020fd9adc7a", null ], + [ "to_descriptor", "classquetzal_1_1geography_1_1raster.html#a27f9d3f735c11ee404190d92b6b4d205", null ], + [ "to_descriptor", "classquetzal_1_1geography_1_1raster.html#a96a4ac84bb597fc2a3f192076f1a49cb", null ], [ "to_latlon", "classquetzal_1_1geography_1_1raster.html#a2f85f10a50c132390763122750fc1552", null ], - [ "to_latlon", "classquetzal_1_1geography_1_1raster.html#af0a79579e3026bd4e51fa676d56ccc62", null ], [ "to_latlon", "classquetzal_1_1geography_1_1raster.html#aef403bad648e2cda98887b3b94c5e562", null ], [ "to_latlon", "classquetzal_1_1geography_1_1raster.html#a3932c4c5df77166d61f7a18214bf40c5", null ], [ "to_lonlat", "classquetzal_1_1geography_1_1raster.html#ae035cb8e204ba9b927edb3d6ed6178f3", null ], - [ "to_lonlat", "classquetzal_1_1geography_1_1raster.html#a8c85322e3e9aa555bacd69c3066ce253", null ], [ "to_lonlat", "classquetzal_1_1geography_1_1raster.html#a69078a5d193060397f81bf8022b287e6", null ], [ "to_rowcol", "classquetzal_1_1geography_1_1raster.html#a4b3d9b6ad6fc75868099c529653fd1ca", null ], [ "to_rowcol", "classquetzal_1_1geography_1_1raster.html#ab072cc74af191ff5e547e7d5cfbb4924", null ], diff --git a/dispersal_kernels.html b/dispersal_kernels.html index eeef0bbf..b5c1abf9 100644 --- a/dispersal_kernels.html +++ b/dispersal_kernels.html @@ -7,7 +7,7 @@ - Quetzal-CoaTL: Dispersal Kernels + Quetzal-CoaTL: Distance-based dispersal Kernels @@ -145,12 +145,11 @@
-
Dispersal Kernels
+
Distance-based dispersal Kernels
@@ -200,9 +199,7 @@
3 probability is 7.34343e-13 1/m²
4 mean dispersal distance is 886.227 m

-

-Resistance-based Dispersal

- + diff --git a/expressive_friction.html b/expressive_friction.html index 1a113711..f740e6fb 100644 --- a/expressive_friction.html +++ b/expressive_friction.html @@ -178,7 +178,7 @@
22  std::iota(times.begin(), times.end(), 2001);
23 
24  // Makes sure the rasters are aligned
-
25  auto landscape = landscape_type::from_files({{"suit", file1}, {"DEM", file2}}, times);
+
25  auto landscape = landscape_type::from_file({{"suit", file1}, {"DEM", file2}}, times);
26 
27  // lightweight functor returning empty optionals where NA
28  auto s_view = landscape["suit"].to_view();
diff --git a/expressive_suitability_DEM_landscape.html b/expressive_suitability_DEM_landscape.html index eec00517..94ce9228 100644 --- a/expressive_suitability_DEM_landscape.html +++ b/expressive_suitability_DEM_landscape.html @@ -184,7 +184,7 @@

22  std::iota(times.begin(), times.end(), 2001);
23 
24  // Makes sure the rasters are aligned
-
25  auto landscape = landscape_type::from_files({{"suit", file1}, {"DEM", file2}}, times);
+
25  auto landscape = landscape_type::from_file({{"suit", file1}, {"DEM", file2}}, times);
26 
27  // lightweight functor returning empty optionals where NA
28  auto s_view = landscape["suit"].to_view();
diff --git a/functions_c.html b/functions_c.html index 73dff936..9e309c27 100644 --- a/functions_c.html +++ b/functions_c.html @@ -157,7 +157,7 @@

- c -