Cell2Fire
A large-scale forest fire simulator.
Loading...
Searching...
No Matches
DataGenerator.h
1#ifndef DATAGENERATOR_H
2#define DATAGENERATOR_H
3
4#include "tiffio.h"
5#include <algorithm>
6#include <array>
7#include <cassert>
8#include <cmath>
9#include <cstdint>
10#include <fstream>
11#include <iostream>
12#include <limits>
13#include <memory>
14#include <sstream>
15#include <string>
16#include <unordered_map>
17#include <vector>
18
19std::tuple<std::unordered_map<std::string, std::string>,
20 std::unordered_map<std::string, std::tuple<float, float, float, float>>>
21Dictionary(const std::string& filename);
22
23std::tuple<std::vector<int>, std::vector<std::string>, int, int, float>
24ForestGrid(const std::string& filename, const std::unordered_map<std::string, std::string>& Dictionary);
25
26bool fileExists(const std::string& filename);
27
28void DataGrids(const std::string& filename, std::vector<float>& data, int nCells);
29
30std::vector<std::vector<std::unique_ptr<std::string>>> GenerateDat(const std::vector<std::string>& GFuelType,
31 const std::vector<int>& GFuelTypeN,
32 const std::vector<float>& Elevation,
33 const std::vector<float>& PS,
34 const std::vector<float>& SAZ,
35 const std::vector<float>& Curing,
36 const std::vector<float>& CBD,
37 const std::vector<float>& CBH,
38 const std::vector<float>& CCF,
39 const std::vector<float>& PY,
40 const std::vector<float>& FMC,
41 const std::vector<float>& TreeHeight,
42
43 const std::string& InFolder);
44
45void writeDataToFile(const std::vector<std::vector<std::unique_ptr<std::string>>>& dataGrids,
46 const std::string& InFolder);
47
48void GenDataFile(const std::string& InFolder, const std::string& Simulator);
49
50#endif // DataGenerator.h
std::tuple< std::unordered_map< std::string, std::string >, std::unordered_map< std::string, std::tuple< float, float, float, float > > > Dictionary(const std::string &filename)
Reads the model lookup table and creates dictionaries for the fuel types and cell's ColorsDict.
Definition DataGenerator.cpp:59
void GenDataFile(const std::string &InFolder, const std::string &Simulator)
Reads all available input raster files and generates a new file called 'Data.csv' in which each row c...
Definition DataGenerator.cpp:950
void DataGrids(const std::string &filename, std::vector< float > &data, int nCells)
Read grid data from ASCII file into a vector.
Definition DataGenerator.cpp:270
void writeDataToFile(const std::vector< std::vector< std::unique_ptr< std::string > > > &dataGrids, const std::string &InFolder)
Save data matrix into a CSV file called Data.csv.
Definition DataGenerator.cpp:888
std::vector< std::vector< std::unique_ptr< std::string > > > GenerateDat(const std::vector< std::string > &GFuelType, const std::vector< int > &GFuelTypeN, const std::vector< float > &Elevation, const std::vector< float > &PS, const std::vector< float > &SAZ, const std::vector< float > &Curing, const std::vector< float > &CBD, const std::vector< float > &CBH, const std::vector< float > &CCF, const std::vector< float > &PY, const std::vector< float > &FMC, const std::vector< float > &TreeHeight, const std::string &InFolder)
Create input data matrix.
Definition DataGenerator.cpp:600
std::tuple< std::vector< int >, std::vector< std::string >, int, int, float > ForestGrid(const std::string &filename, const std::unordered_map< std::string, std::string > &Dictionary)
Reads fuels from ASCII raster file and creates a list of cells.
Definition DataGenerator.cpp:148
bool fileExists(const std::string &filename)
checks if a file exists.
Definition DataGenerator.cpp:254