FireSTARR
Loading...
Searching...
No Matches
EnvironmentInfo.h
1/* Copyright (c) Queen's Printer for Ontario, 2020. */
2/* Copyright (c) His Majesty the King in Right of Canada as represented by the Minister of Natural Resources, 2021-2025. */
3
4/* SPDX-License-Identifier: AGPL-3.0-or-later */
5
6#pragma once
7#include <memory>
8#include <string>
9#include "Environment.h"
10#include "Grid.h"
11namespace fs::topo
12{
17{
18public:
25 [[nodiscard]] static unique_ptr<EnvironmentInfo> loadInfo(const string& in_fuel,
26 const string& in_elevation);
33 EnvironmentInfo(const string& in_fuel,
34 const string& in_elevation);
39 EnvironmentInfo(EnvironmentInfo&& rhs) noexcept = default;
40 EnvironmentInfo(const EnvironmentInfo& rhs) = delete;
46 EnvironmentInfo& operator=(EnvironmentInfo&& rhs) noexcept = default;
47 EnvironmentInfo& operator=(const EnvironmentInfo& rhs) = delete;
54 [[nodiscard]] unique_ptr<Coordinates> findCoordinates(
55 const Point& point,
56 bool flipped) const;
63 [[nodiscard]] unique_ptr<FullCoordinates> findFullCoordinates(
64 const Point& point,
65 bool flipped) const;
72 [[nodiscard]] Environment load(const string dir_out,
73 const Point& point) const;
78 [[nodiscard]] constexpr FullIdx calculateRows() const
79 {
80 return fuel_.calculateRows();
81 }
86 [[nodiscard]] constexpr FullIdx calculateColumns() const
87 {
88 return fuel_.calculateColumns();
89 }
94 [[nodiscard]] constexpr const string& proj4() const
95 {
96 return fuel_.proj4();
97 }
98private:
110 string in_fuel_;
122 EnvironmentInfo(string in_fuel,
123 string in_elevation,
124 data::GridBase&& fuel,
125 data::GridBase&& elevation) noexcept;
126};
127}
The base class with information for a grid of data with geographic coordinates.
Definition Grid.h:43
constexpr const string & proj4() const noexcept
Proj4 string defining coordinate system for this grid. Must be a UTM projection.
Definition Grid.h:132
constexpr FullIdx calculateRows() const noexcept
Number of rows in the GridBase.
Definition Grid.h:80
constexpr FullIdx calculateColumns() const noexcept
Number of columns in the GridBase.
Definition Grid.h:90
Information regarding an Environment, such as grids to read and location.
Definition EnvironmentInfo.h:17
constexpr const string & proj4() const
UTM projection that this uses.
Definition EnvironmentInfo.h:94
EnvironmentInfo(EnvironmentInfo &&rhs) noexcept=default
Move constructor.
Environment load(const string dir_out, const Point &point) const
Load the full Environment using the given FuelLookup to determine fuels.
Definition EnvironmentInfo.cpp:60
static unique_ptr< EnvironmentInfo > loadInfo(const string &in_fuel, const string &in_elevation)
Load EnvironmentInfo from given rasters.
Definition EnvironmentInfo.cpp:41
constexpr FullIdx calculateRows() const
Number of rows in grid.
Definition EnvironmentInfo.h:78
data::GridBase elevation_
Information about elevation raster.
Definition EnvironmentInfo.h:106
constexpr FullIdx calculateColumns() const
Number of columns in grid.
Definition EnvironmentInfo.h:86
EnvironmentInfo(const string &in_fuel, const string &in_elevation)
Construct from given rasters.
Definition EnvironmentInfo.cpp:33
unique_ptr< Coordinates > findCoordinates(const Point &point, bool flipped) const
Determine Coordinates in the grid for the Point.
Definition EnvironmentInfo.cpp:64
string in_elevation_
Elevation raster path.
Definition EnvironmentInfo.h:114
data::GridBase fuel_
Information about fuel raster.
Definition EnvironmentInfo.h:102
EnvironmentInfo & operator=(EnvironmentInfo &&rhs) noexcept=default
Move assignment.
string in_fuel_
Fuel raster path.
Definition EnvironmentInfo.h:110
unique_ptr< FullCoordinates > findFullCoordinates(const Point &point, bool flipped) const
Determine FullCoordinates in the grid for the Point.
Definition EnvironmentInfo.cpp:70
The area that a Model is run for, with Fuel, Slope, and Aspect grids.
Definition Environment.h:49
A geographic location in lat/long coordinates.
Definition Point.h:13