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;
GetInfo
my $driver = $dataset->GetInfo(@options);
Translate
my $target = $source->Translate($name, @options);
Convert a raster dataset into another raster dataset. $name is the name of the target dataset. This is the same as the gdal_translate command line program, so the options are the same. See http://www.gdal.org/gdal_translate.html.
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.
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.
LICENSE
This software is released under the Artistic License. See perlartistic.
AUTHOR
Ari Jolma - Ari.Jolma at gmail.com