Object to handle integer rasters. More...
#include <LSDIndexRaster.hpp>
Public Member Functions | |
LSDIndexRaster () | |
The create function. This is default and throws an error. More... | |
LSDIndexRaster (string filename, string extension) | |
Create an LSDIndexRaster from a file. Uses a filename and file extension. More... | |
LSDIndexRaster (int nrows, int ncols, float xmin, float ymin, float cellsize, int ndv, Array2D< int > data) | |
Create an LSDIndexRaster from memory. More... | |
LSDIndexRaster (int nrows, int ncols, float xmin, float ymin, float cellsize, int ndv, Array2D< int > data, map< string, string > GRS_map) | |
Create an LSDIndexRaster from memory. More... | |
LSDIndexRaster (int nrows, int ncols, float xmin, float ymin, float cellsize, int ndv, map< string, string > GRS_map, int ConstValue) | |
Create an LSDIndexRaster with a constant value. More... | |
LSDIndexRaster (LSDRaster &NonIntLSDRaster) | |
Create an LSDIndexRaster from an LSDRaster object, rounding to nearest int. More... | |
LSDIndexRaster (LSDRaster &ARaster, int ConstValue) | |
Create an LSDIndexRaster that is the same size as a raster but all values are some constant value. More... | |
int | get_NRows () const |
int | get_NCols () const |
float | get_XMinimum () const |
float | get_YMinimum () const |
float | get_DataResolution () const |
int | get_NoDataValue () const |
Array2D< int > | get_RasterData () const |
map< string, string > | get_GeoReferencingStrings () const |
LSDIndexRaster & | operator= (const LSDIndexRaster &LSDIR) |
Assignment operator. | |
void | read_raster (string filename, string extension) |
Read a raster into memory from a file. More... | |
vector< int > | get_list_of_values () |
Return the list of value but check if it has been initialized. More... | |
void | write_raster (string filename, string extension) |
Read a raster from memory to a file. More... | |
int | get_data_element (int row, int column) |
Get the raster data at a specified location. More... | |
void | set_data_element (int row, int column, int data) |
Sets the raster data at a specified location. More... | |
void | get_x_and_y_locations (int row, int col, double &x_loc, double &y_loc) |
this gets the x and y location of a node at row and column More... | |
void | get_x_and_y_locations (int row, int col, float &x_loc, float &y_loc) |
this gets the x and y location of a node at row and column More... | |
void | get_lat_and_long_locations (int row, int col, double &lat, double &longitude, LSDCoordinateConverterLLandUTM Converter) |
a function to get the lat and long of a node in the raster Assumes WGS84 ellipsiod More... | |
int | get_value_of_point (float UTME, float UTMN) |
This gets the value at a point in UTM coordinates. More... | |
void | get_UTM_information (int &UTM_zone, bool &is_North) |
this function gets the UTM_zone and a boolean that is true if the map is in the northern hemisphere More... | |
void | FlattenToCSV (string FileName) |
Method to flatten an LSDIndexRaster and place the non NDV values in a csv file. Each value is placed on its own line, so that it can be read more quickly in python etc. It includes the x and y locations so it can be read by GIS software. More... | |
void | FlattenToWGS84CSV (string FileName) |
Method to flatten an LSDIndexRaster and place the non NDV values in a csv file. More... | |
bool | does_raster_have_same_dimensions (LSDRaster &Compare_raster) |
Checks to see if two rasters have the same dimensions Does NOT check georeferencing. More... | |
bool | does_raster_have_same_dimensions (LSDIndexRaster &Compare_raster) |
Checks to see if two rasters have the same dimensions Does NOT check georeferencing. More... | |
bool | does_raster_have_same_dimensions_and_georeferencing (LSDRaster &Compare_raster) |
Checks to see if two rasters have the same georeferencing. More... | |
bool | does_raster_have_same_dimensions_and_georeferencing (LSDIndexRaster &Compare_raster) |
Checks to see if two rasters have the same georeferencing. More... | |
LSDIndexRaster | clip_to_smaller_raster (LSDRaster &smaller_raster) |
This returns a clipped raster that has the same dimensions as the smaller raster. More... | |
LSDIndexRaster | clip_to_smaller_raster (LSDIndexRaster &smaller_raster) |
This returns a clipped raster that has the same dimensions as the smaller raster. More... | |
map< string, string > | Update_GeoReferencingStrings (float NewXmin, float NewYmax) |
Method which takes a new xmin and ymax value and modifys the GeoReferencingStrings map_info line to contain these new values. More... | |
void | Update_GeoReferencingStrings () |
Method which updates the map info element of the georeferencing strings based on information within the datamembers of the raster. More... | |
void | impose_georeferencing_UTM (int zone, string NorS) |
This method imposes georefereing strings assuming the coordinate system is UTM. More... | |
int | Find_UTM_central_meridian (int UTM_zone) |
This method looks up the central meridian given a UTM zone. More... | |
bool | check_if_point_is_in_raster (float X_coordinate, float Y_coordinate) |
this check to see if a point is within the raster More... | |
void | get_row_and_col_of_a_point (float X_coordinate, float Y_coordinate, int &row, int &col) |
Gets the row and column of a point in the raster. More... | |
LSDIndexRaster | RasterTrimmer () |
Calculate the minimum bounding rectangle for an LSDIndexRaster Object and crop out all the surrounding NoDataValues to reduce the size and load times of output rasters. More... | |
void | get_points_in_holes_for_interpolation (int NSteps, int NSweeps, vector< float > &UTME, vector< float > &UTMN, vector< int > &row_nodes, vector< int > &col_nodes) |
This function runs the hole finding algorithm but instead of printing a raster it returns the points that are in holes. This can be used for interpolation. More... | |
LSDIndexRaster | find_holes_with_nodata_bots (int NSteps, int NSweeps) |
This is a brute force method for finding all the nodata regions connected to the edge of the raster. More... | |
void | release_random_bot (Array2D< int > &Visited, int startrow, int startcol, int NSteps) |
This takes a starting position and releases a random bot that moves about in nodata regions, marking its presence. More... | |
LSDIndexRaster | LSDRasterTemplate (Array2D< int > InputData) |
Make LSDIndexRaster object using a 'template' raster and an Array2D of data. More... | |
LSDIndexRaster | Resample (float OutputResolution) |
Method to resample an LSDIndexRaster to a lower resolution. More... | |
LSDIndexRaster | CombineBinaryNetwork (LSDIndexRaster &Network1, LSDIndexRaster &Network2) |
Method to combine two rasters, ignoring nodata. More... | |
LSDIndexRaster | MergeChannelWithFloodplain (LSDIndexRaster FloodPlain) |
Method to merge a floodplain raster with a channel raster. More... | |
LSDIndexRaster | ConnectedComponents () |
Method to identify connected components using a two pass method. More... | |
LSDIndexRaster | filter_by_connected_components (int connected_components_threshold) |
Method to filter a binary array according to a connected components threshold. More... | |
LSDIndexRaster | thin_to_skeleton () |
A method to thin a multipixel feature (binary) to a single thread skeleton. More... | |
void | thinningIteration (Array2D< int > &binary, int iter) |
LSDIndexRaster | find_end_points () |
void | remove_downstream_endpoints (LSDIndexRaster CC, LSDRaster Topo) |
LSDIndexRaster | ConvertToBinary (int Value, int ndv) |
Method to convert all values in an LSDIndexRaster to a single value. More... | |
LSDIndexRaster | RemoveSmallPatches (int minimum_segment_size) |
Method to remove patches generated by the connected components analysis that are smaller than a user defined threshold. More... | |
LSDIndexRaster | remove_holes_in_patches (int window_radius) |
Method to remove small holes in patches from a binary raster. More... | |
LSDIndexRaster | remove_holes_in_patches_connected_components (int window_radius) |
Method to remove small holes in patches from a connected components raster. Holes will only be filled if surrounded by pixels with the same CC value. More... | |
LSDIndexRaster | remove_checkerboard_pattern () |
Method to fill in checkerboard pattern from a binary raster. More... | |
vector< float > | AnalysisOfQuality (LSDIndexRaster &ActualRaster) |
Function to calculate the reliability of floodplain method. More... | |
float | GetAreaDifference (LSDIndexRaster &ActualRaster) |
Function to calculate the percentage area difference between two binary rasters. More... | |
void | MergeIndexRasters (LSDIndexRaster &RasterToAdd) |
Function to merge data from two LSDIndexRasters WITH SAME EXTENT together. The data from the raster specified as an argument will be added (will overwrite the original raster if there is a conflict.) More... | |
void | PadRaster (int NPixels) |
Function to pad values in an LSDIndexRaster by a certain number of pixels with values taken from the nearest pixel to be padded. More... | |
void | detect_unique_values () |
Function to detect and store all the unique values into the vector list_unique_values. Detect if this has already been launched to avoid relaunch. More... | |
void | NoData_from_another_raster (LSDRaster &other_raster) |
Function to copy NoData Region from another raster. More... | |
Protected Attributes | |
int | NRows |
Number of rows. | |
int | NCols |
Number of columns. | |
float | XMinimum |
Minimum X coordinate. | |
float | YMinimum |
Minimum Y coordinate. | |
float | DataResolution |
Data resolution. | |
int | NoDataValue |
No data value. | |
vector< int > | list_unique_values |
list of unique values, for example in case of a lithologic raster | |
map< string, string > | GeoReferencingStrings |
A map of strings for holding georeferencing information. | |
Array2D< int > | RasterData |
Raster data. | |
Object to handle integer rasters.
|
inline |
The create function. This is default and throws an error.
|
inline |
Create an LSDIndexRaster from a file. Uses a filename and file extension.
filename | A String, the file to be loaded. |
extension | A String, the file extension to be loaded. |
|
inline |
Create an LSDIndexRaster from memory.
nrows | An integer of the number of rows. |
ncols | An integer of the number of columns. |
xmin | A float of the minimum X coordinate. |
ymin | A float of the minimum Y coordinate. |
cellsize | A float of the cellsize. |
ndv | An integer of the no data value. |
data | An Array2D of integers in the shape nrows*ncols, containing the data to be written. |
|
inline |
Create an LSDIndexRaster from memory.
nrows | An integer of the number of rows. |
ncols | An integer of the number of columns. |
xmin | A float of the minimum X coordinate. |
ymin | A float of the minimum Y coordinate. |
cellsize | A float of the cellsize. |
ndv | An integer of the no data value. |
data | An Array2D of integers in the shape nrows*ncols, |
GRS_map | a map containing information about the georeferencing containing the data to be written. |
|
inline |
Create an LSDIndexRaster with a constant value.
nrows | An integer of the number of rows. |
ncols | An integer of the number of columns. |
xmin | A float of the minimum X coordinate. |
ymin | A float of the minimum Y coordinate. |
cellsize | A float of the cellsize. |
ndv | An integer of the no data value. |
GRS_map | a map containing information about the georeferencing |
ConstValue | the value all elements in array have containing the data to be written. |
|
inline |
Create an LSDIndexRaster from an LSDRaster object, rounding to nearest int.
NonIntLSDRaster | an LSDRaster object containing flaoting point data |
|
inline |
Create an LSDIndexRaster that is the same size as a raster but all values are some constant value.
NonIntLSDRaster | an LSDRaster object |
CanstValue | a value that will be assigned to all data points |
vector< float > LSDIndexRaster::AnalysisOfQuality | ( | LSDIndexRaster & | ActualRaster | ) |
Function to calculate the reliability of floodplain method.
ActualRaster | raster of actual values |
bool LSDIndexRaster::check_if_point_is_in_raster | ( | float | X_coordinate, |
float | Y_coordinate | ||
) |
this check to see if a point is within the raster
X_coordinate | the x location of the point |
Y_coordinate | the y location of the point |
LSDIndexRaster LSDIndexRaster::clip_to_smaller_raster | ( | LSDRaster & | smaller_raster | ) |
This returns a clipped raster that has the same dimensions as the smaller raster.
smaller_raster | the raster to which the bigger raster should be clipped |
LSDIndexRaster LSDIndexRaster::clip_to_smaller_raster | ( | LSDIndexRaster & | smaller_raster | ) |
This returns a clipped raster that has the same dimensions as the smaller raster.
smaller_raster | the raster to which the bigger raster should be clipped |
LSDIndexRaster LSDIndexRaster::CombineBinaryNetwork | ( | LSDIndexRaster & | Network1, |
LSDIndexRaster & | Network2 | ||
) |
Method to combine two rasters, ignoring nodata.
Network1 | The first raster to be combined. |
Network2 | The second raster to be combined. |
LSDIndexRaster LSDIndexRaster::ConnectedComponents | ( | ) |
Method to identify connected components using a two pass method.
Takes a binary array, where components parts are identifed by 1 and separates into connected components according to a two-pass algorithm based on that described in He et al. (2008), "A Run-Based Two-Scan Labeling Algorithm," Image Processing, IEEE Transactions on , vol.17, no.5, pp.749,756, doi: 10.1109/TIP.2008.919369
LSDIndexRaster LSDIndexRaster::ConvertToBinary | ( | int | Value, |
int | ndv | ||
) |
Method to convert all values in an LSDIndexRaster to a single value.
Value,an | integer value that will be assigned to every non NDV cell in the raster. |
ndv | an integer no data value. |
void LSDIndexRaster::detect_unique_values | ( | ) |
Function to detect and store all the unique values into the vector list_unique_values. Detect if this has already been launched to avoid relaunch.
No | param |
bool LSDIndexRaster::does_raster_have_same_dimensions | ( | LSDRaster & | Compare_raster | ) |
Checks to see if two rasters have the same dimensions Does NOT check georeferencing.
Compare_raster | the raster to compare |
bool LSDIndexRaster::does_raster_have_same_dimensions | ( | LSDIndexRaster & | Compare_raster | ) |
Checks to see if two rasters have the same dimensions Does NOT check georeferencing.
Compare_raster | the raster to compare |
bool LSDIndexRaster::does_raster_have_same_dimensions_and_georeferencing | ( | LSDRaster & | Compare_raster | ) |
Checks to see if two rasters have the same georeferencing.
Compare_raster | the raster to compare |
bool LSDIndexRaster::does_raster_have_same_dimensions_and_georeferencing | ( | LSDIndexRaster & | Compare_raster | ) |
Checks to see if two rasters have the same georeferencing.
Compare_raster | the raster to compare |
LSDIndexRaster LSDIndexRaster::filter_by_connected_components | ( | int | connected_components_threshold | ) |
Method to filter a binary array according to a connected components threshold.
LSDIndexRaster LSDIndexRaster::find_holes_with_nodata_bots | ( | int | NSteps, |
int | NSweeps | ||
) |
This is a brute force method for finding all the nodata regions connected to the edge of the raster.
NSteps | the number of steps for each cellular automata bot |
NSweeps | the number of times the raster is swept |
int LSDIndexRaster::Find_UTM_central_meridian | ( | int | UTM_zone | ) |
This method looks up the central meridian given a UTM zone.
UTM_zone | the UTM zone |
void LSDIndexRaster::FlattenToCSV | ( | string | FileName | ) |
Method to flatten an LSDIndexRaster and place the non NDV values in a csv file. Each value is placed on its own line, so that it can be read more quickly in python etc. It includes the x and y locations so it can be read by GIS software.
FileName_prefix | The prefix of the file to write, if no path is included it will write to the current directory. The csv extension is added automatically. |
void LSDIndexRaster::FlattenToWGS84CSV | ( | string | FileName | ) |
Method to flatten an LSDIndexRaster and place the non NDV values in a csv file.
Each value is placed on its own line, so that it can be read more quickly in python etc. It includes the lat long coordinates in CSV
FileName_prefix | The prefix of the file to write, if no path is included it will write to the current directory. The csv extension is added automatically. |
|
inline |
Get the raster data at a specified location.
row | An integer, the X coordinate of the target cell. |
column | An integer, the Y coordinate of the target cell. |
|
inline |
|
inline |
void LSDIndexRaster::get_lat_and_long_locations | ( | int | row, |
int | col, | ||
double & | lat, | ||
double & | longitude, | ||
LSDCoordinateConverterLLandUTM | Converter | ||
) |
a function to get the lat and long of a node in the raster Assumes WGS84 ellipsiod
row | the row of the node |
col | the col of the node |
lat | the latitude of the node (in decimal degrees, replaced by function) Note: this is a double, because a float does not have sufficient precision relative to a UTM location (which is in metres) |
long | the longitude of the node (in decimal degrees, replaced by function) Note: this is a double, because a float does not have sufficient precision relative to a UTM location (which is in metres) |
Converter | a converter object (from LSDShapeTools) |
vector< int > LSDIndexRaster::get_list_of_values | ( | ) |
Return the list of value but check if it has been initialized.
|
inline |
|
inline |
|
inline |
void LSDIndexRaster::get_points_in_holes_for_interpolation | ( | int | NSteps, |
int | NSweeps, | ||
vector< float > & | UTME, | ||
vector< float > & | UTMN, | ||
vector< int > & | row_nodes, | ||
vector< int > & | col_nodes | ||
) |
This function runs the hole finding algorithm but instead of printing a raster it returns the points that are in holes. This can be used for interpolation.
NSteps | the number of steps for each cellular automata bot |
NSweeps | the number of times the raster is swept |
UTME | the easting coordinates of the hole points (overwritten) |
UTMN | the northing coordinates of the hole points (overwritten) |
row_nodes | the row numbers of the hole nodes (overwritten) |
col_nodes | the col numbers of the hole nodes (overwritten) |
|
inline |
void LSDIndexRaster::get_row_and_col_of_a_point | ( | float | X_coordinate, |
float | Y_coordinate, | ||
int & | row, | ||
int & | col | ||
) |
Gets the row and column of a point in the raster.
X_coordinate | the x location of the point |
Y_coordinate | the y location of the point |
row | the row of the point, replaced upon running the routine |
col | the col of the point, replaced upon running the routine |
void LSDIndexRaster::get_UTM_information | ( | int & | UTM_zone, |
bool & | is_North | ||
) |
this function gets the UTM_zone and a boolean that is true if the map is in the northern hemisphere
UTM_zone | the UTM zone. Replaced in function. |
is_North | a boolean that is true if the DEM is in the northern hemisphere. replaced in function |
int LSDIndexRaster::get_value_of_point | ( | float | UTME, |
float | UTMN | ||
) |
This gets the value at a point in UTM coordinates.
UTME | the easting coordinate |
UTMN | the northing coordinate |
void LSDIndexRaster::get_x_and_y_locations | ( | int | row, |
int | col, | ||
double & | x_loc, | ||
double & | y_loc | ||
) |
this gets the x and y location of a node at row and column
row | the row of the node |
col | the column of the node |
x_loc | the x location (Northing) of the node |
y_loc | the y location (Easting) of the node |
void LSDIndexRaster::get_x_and_y_locations | ( | int | row, |
int | col, | ||
float & | x_loc, | ||
float & | y_loc | ||
) |
this gets the x and y location of a node at row and column
row | the row of the node |
col | the column of the node |
x_loc | the x location (Northing) of the node |
y_loc | the y location (Easting) of the node |
|
inline |
|
inline |
float LSDIndexRaster::GetAreaDifference | ( | LSDIndexRaster & | ActualRaster | ) |
Function to calculate the percentage area difference between two binary rasters.
ActualRaster | raster of actual values |
void LSDIndexRaster::impose_georeferencing_UTM | ( | int | zone, |
string | NorS | ||
) |
This method imposes georefereing strings assuming the coordinate system is UTM.
zone | the UTM zone |
NorS | a string containing characters that start either N (for north) or S for south. The letter is not case sensitive |
LSDIndexRaster LSDIndexRaster::LSDRasterTemplate | ( | Array2D< int > | InputData | ) |
Make LSDIndexRaster object using a 'template' raster and an Array2D of data.
InputData | 2DArray of ints to be written to LSDIndexRaster. |
LSDIndexRaster LSDIndexRaster::MergeChannelWithFloodplain | ( | LSDIndexRaster | FloodPlain | ) |
Method to merge a floodplain raster with a channel raster.
Creates an output LSDIndexRaster which is coded coded channel == input channel index, floodplain == 500, NDV == hillslopes. This allows the preservation of the stream order in addition to the floodplain geometry.
FloodPlain | an LSDIndexRaster of the floodplains coded with any integer value. |
void LSDIndexRaster::MergeIndexRasters | ( | LSDIndexRaster & | RasterToAdd | ) |
Function to merge data from two LSDIndexRasters WITH SAME EXTENT together. The data from the raster specified as an argument will be added (will overwrite the original raster if there is a conflict.)
RasterToAdd | the raster to merge |
void LSDIndexRaster::NoData_from_another_raster | ( | LSDRaster & | other_raster | ) |
Function to copy NoData Region from another raster.
LSDRaster | OtherRaster |
void LSDIndexRaster::PadRaster | ( | int | NPixels | ) |
Function to pad values in an LSDIndexRaster by a certain number of pixels with values taken from the nearest pixel to be padded.
NPixels | the number of pixels to pad by |
LSDIndexRaster LSDIndexRaster::RasterTrimmer | ( | ) |
Calculate the minimum bounding rectangle for an LSDIndexRaster Object and crop out all the surrounding NoDataValues to reduce the size and load times of output rasters.
Ideal for use with chi analysis tools which output basin and chi m value rasters which can be predominantly no data. As an example, a 253 Mb file can be reduced to ~5 Mb with no loss or resampling of data.
void LSDIndexRaster::read_raster | ( | string | filename, |
string | extension | ||
) |
Read a raster into memory from a file.
The supported formats are .asc and .flt which are both exported and imported by arcmap.
The filename is the string of characters before the '.' in the extension and the extension is the characters after the '.'.
If the full filename is my_dem.01.asc then: filename = "my_dem.01" and extension = "asc".
For float files both a data file and a header are read the header file must have the same filename, before extention, of the raster data, and the extension must be .hdr.
void LSDIndexRaster::release_random_bot | ( | Array2D< int > & | Visited, |
int | startrow, | ||
int | startcol, | ||
int | NSteps | ||
) |
This takes a starting position and releases a random bot that moves about in nodata regions, marking its presence.
Visited | and array of numbers for the number of times a pixel is visited |
startrow | the starting row |
startcol | the starting column |
NSteps | the number of steps the bot takes |
LSDIndexRaster LSDIndexRaster::remove_checkerboard_pattern | ( | ) |
Method to fill in checkerboard pattern from a binary raster.
LSDIndexRaster LSDIndexRaster::remove_holes_in_patches | ( | int | window_radius | ) |
Method to remove small holes in patches from a binary raster.
window_radius | radius over which to search to remove holes (size of hole) |
LSDIndexRaster LSDIndexRaster::remove_holes_in_patches_connected_components | ( | int | window_radius | ) |
Method to remove small holes in patches from a connected components raster. Holes will only be filled if surrounded by pixels with the same CC value.
window_radius | radius over which to search to remove holes (size of hole) |
LSDIndexRaster LSDIndexRaster::RemoveSmallPatches | ( | int | minimum_segment_size | ) |
Method to remove patches generated by the connected components analysis that are smaller than a user defined threshold.
minimum_segment_size | Size in pixels below which a patch should be removed. |
LSDIndexRaster LSDIndexRaster::Resample | ( | float | OutputResolution | ) |
Method to resample an LSDIndexRaster to a lower resolution.
OutputResolution | the resolution in spatial units to be resampled to. |
|
inline |
Sets the raster data at a specified location.
row | An integer, the X coordinate of the target cell. |
column | An integer, the Y coordinate of the target cell. |
value | the vaule of the data element at the give row and column |
LSDIndexRaster LSDIndexRaster::thin_to_skeleton | ( | ) |
A method to thin a multipixel feature (binary) to a single thread skeleton.
Takes a binary array in which features are identified as 1, and background 0, and thins the features down to a skeleton, using the thinning algorithm described by Zhang and Suen, 1984, "A fast algorithm for thinning digital patterns", Communications of the ACM.
map< string, string > LSDIndexRaster::Update_GeoReferencingStrings | ( | float | NewXmin, |
float | NewYmax | ||
) |
Method which takes a new xmin and ymax value and modifys the GeoReferencingStrings map_info line to contain these new values.
Intended for use in the rastertrimmer methods and is called from within these methods. Modifying georeferencing information by hand is messy and should be avoided if at all possible.
NewXmin | floating point value of the new minimum x value in the raster. |
NewYmax | floating point value of the new maximum y value in the raster. |
void LSDIndexRaster::Update_GeoReferencingStrings | ( | ) |
Method which updates the map info element of the georeferencing strings based on information within the datamembers of the raster.
Intended for use when changing raster dimesions
void LSDIndexRaster::write_raster | ( | string | filename, |
string | extension | ||
) |
Read a raster from memory to a file.
The supported formats are .asc and .flt which are both exported and imported by arcmap.
The filename is the string of characters before the '.' in the extension and the extension is the characters after the '.'.
If the full filename is my_dem.01.asc then: filename = "my_dem.01" and extension = "asc".
For float files both a data file and a header are written the header file must have the same filename, before extention, of the raster data, and the extension must be .hdr.