Geo::GDAL::FFI::Dataset(3pm) | User Contributed Perl Documentation | Geo::GDAL::FFI::Dataset(3pm) |
NAME¶
Geo::GDAL::FFI::Dataset - A GDAL dataset
SYNOPSIS¶
DESCRIPTION¶
A collection of raster bands or vector layers. Obtain a dataset object by opening it with the Open method of Geo::GDAL::FFI object or by creating it with the Create method of a Driver object.
METHODS¶
GetDriver¶
my $driver = $dataset->GetDriver;
GetWidth¶
my $w = $dataset->GetWidth;
GetHeight¶
my $h = $dataset->GetHeight;
GetSize¶
my @size = $dataset->GetSize;
Returns the size (width, height) of the bands of this raster dataset.
GetBand¶
my $band = $dataset->GetBand($i);
Get the ith (by default the first) band of a raster dataset.
GetBands¶
my @bands = $dataset->GetBands;
Returns a list of Band objects representing the bands of this raster dataset.
CreateLayer¶
my $layer = $dataset->CreateLayer({Name => 'layer', ...});
Create a new vector layer into this vector dataset.
Named arguments are the following.
- "Name"
- Optional, string, default is ''.
- "GeometryType"
- Optional, default is 'Unknown', the type of the first geometry field; note: if type is 'None', the layer schema does not initially contain any geometry fields.
- "SpatialReference"
- Optional, a SpatialReference object, the spatial reference for the first geometry field.
- "Options"
- Optional, driver specific options in an anonymous hash.
- "Fields"
- Optional, a reference to an array of Field objects or schemas, the fields to create into the layer.
- "GeometryFields"
- Optional, a reference to an array of GeometryField objects or schemas, the geometry fields to create into the layer; note that if this argument is defined then the arguments GeometryType and SpatialReference are ignored.
GetLayerCount my $count = $dataset->GetLayerCount();¶
GetLayer¶
my $layer = $dataset->GetLayer($name);
If $name is strictly an integer, then returns the (name-1)th layer in the dataset, otherwise returns the layer whose name is $name. Without arguments returns the first layer.
CopyLayer¶
my $copy = $dataset->CopyLayer($layer, $name, {DST_SRSWKT => 'WKT of a SRS', ...});
Copies the given layer into this dataset using the name $name and returns the new layer. The options hash is mostly driver specific.
ExecuteSQL $dataset->ExecuteSQL ($sql, $filter, $dialect);¶
# build a spatial index $dataset->ExecuteSQL (qq{CREATE SPATIAL INDEX ON "$some_layer_name"}); # filter a data set using the SQLite dialect and a second geometry my $filtered = $dataset->ExecuteSQL ( qq{SELECT "$fld1", "$fld2" FROM "$some_layer_name"}, $some_geometry, 'SQLite', );
Info¶
my $info = $dataset->Info($options); my $info = $dataset->Info(['-json', '-stats']);
This is the same as gdalinfo utility. $options is a reference to an array. Valid options are as per the gdalinfo <https://www.gdal.org/gdalinfo.html> utility.
Translate¶
my $target = $source->Translate($path, $options, $progress, $progress_data);
Convert a raster dataset into another raster dataset. This is the same as the gdal_translate <https://www.gdal.org/gdal_translate.html> utility. $name is the name of the target dataset. $options is a reference to an array of switches.
Warp¶
my $result = $dataset->Warp($args);
$args is a hashref, keys may be Destination, Input, Options, Progress, ProgressData.
Valid options are as per the gdalwarp <https://www.gdal.org/gdalwarp.html> utility.
VectorTranslate¶
my $result = $dataset->VectorTranslate($args);
$args is a hashref, keys may be Destination, Input, Options, Progress, ProgressData.
Valid options are as per the ogr2ogr <https://www.gdal.org/ogr2ogr.html> utility.
DEMProcessing¶
my $result = $dataset->DEMProcessing($path, $args);
$args is a hashref, keys may be Processing, ColorFilename, Options, Progress, ProgressData.
See also gdaldem <https://www.gdal.org/gdaldem.html>.
NearBlack¶
my $result = $dataset->NearBlack($args);
$args is a hashref, keys may be Destination, Options, Progress, ProgressData.
Valid options are as per the nearblack <https://www.gdal.org/nearblack.html> utility.
Grid¶
my $result = $dataset->Grid($path, $options, $progress, $progress_data);
Valid options are as per the gdal_grid <https://www.gdal.org/gdal_grid.html> utility.
Rasterize¶
my $result = $dataset->Rasterize($args); my $result = $dataset->Rasterize({Options => [-b => 1, -at]});
$args is a hashref, keys may be Destination, Options, Progress, ProgressData.
Valid options are as per the gdal_rasterize <https://www.gdal.org/gdal_rasterize.html> utility.
BuildVRT¶
my $result = $dataset->BuildVRT($path, $args);
$args is a hashref, keys may be Input, Options, Progress, ProgressData.
LICENSE¶
This software is released under the Artistic License. See perlartistic.
AUTHOR¶
Ari Jolma - Ari.Jolma at gmail.com
SEE ALSO¶
Geo::GDAL::FFI
Alien::gdal, FFI::Platypus, <http://www.gdal.org>
2025-02-15 | perl v5.40.0 |