io.io_gdal
— Geospatial Data Abstraction Library¶
The io.io_gdal
and io.extract_metadata
modules provide convenience wrappers to GDAL.
New in version 0.1.0.
- class plio.io.io_gdal.GeoDataset(file_name)[source]¶
Geospatial dataset object that represents.
- Parameters:
file_name (str) – The name of the input image, including its full path.
- base_name¶
The base name of the input image, extracted from the full path.
- Type:
str
- bounding_box¶
The bounding box of the image in lat/lon space
- Type:
object
- geotransform¶
Geotransform reference OGR object as an array of size 6 containing the affine transformation coefficients for transforming from raw sample/line to projected x/y. xproj = geotransform[0] + sample * geotransform[1] + line * geotransform[2] yproj = geotransform[3] + sample * geotransform[4] + line * geotransform[5]
- Type:
object
- geospatial_coordinate_system¶
Geospatial coordinate system OSR object.
- Type:
object
- latlon_extent¶
of two tuples containing the latitide/longitude boundaries. This list is in the form [(lowerlat, lowerlon), (upperlat, upperlon)].
- Type:
list
- pixel_width¶
The width of the image pixels (i.e. displacement in the x-direction). Note: This is the second value geotransform array.
- Type:
float
- pixel_height¶
The height of the image pixels (i.e. displacement in the y-direction). Note: This is the sixth (last) value geotransform array.
- Type:
float
- spatial_reference¶
Spatial reference system OSR object.
- Type:
object
- standard_parallels¶
of the standard parallels used by the map projection found in the metadata using the spatial reference for this GeoDataset.
- Type:
list
- unit_type¶
Name of the unit used by the raster, e.g. ‘m’ or ‘ft’.
- Type:
str
- x_rotation¶
The geotransform coefficient that represents the rotation about the x-axis. Note: This is the third value geotransform array.
- Type:
float
- xy_extent¶
of two tuples containing the sample/line boundaries. The first value is the upper left corner of the upper left pixel and the second value is the lower right corner of the lower right pixel. This list is in the form [(minx, miny), (maxx, maxy)].
- Type:
list
- xy_corners¶
of tuple corner coordinates in the form: [upper left, lower left, lower right, upper right]
- Type:
list
- y_rotation¶
The geotransform coefficient that represents the rotation about the y-axis. Note: This is the fifth value geotransform array.
- Type:
float
- coordinate_transformation¶
The coordinate transformation from the spatial reference system to the geospatial coordinate system.
- Type:
object
- inverse_coordinate_transformation¶
The coordinate transformation from the geospatial coordinate system to the spatial reference system.
- Type:
object
- scale¶
The name and value of the linear projection units of the spatial reference system. This tuple is of type string/float of the form (unit name, value). To transform a linear distance to meters, multiply by this value. If no units are available (“Meters”, 1) will be returned.
- Type:
tuple
- spheroid¶
The spheroid found in the metadata using the spatial reference system. This is of the form (semi-major, semi-minor, inverse flattening).
- Type:
tuple
- raster_size¶
The dimensions of the raster, i.e. (number of samples, number of lines).
- Type:
tuple
- central_meridian¶
The central meridian of the map projection from the metadata.
- Type:
float
- no_data_value¶
Special value used to indicate pixels that are not valid.
- Type:
float
- metadata¶
A dictionary of available image metadata
- Type:
dict
- footprint¶
An OGR footprint object
- Type:
object
- property geotransform¶
Where the array is in the form: [top left x, w-e pixel resolution, x-rotation, top left y, y-rotation, n-s pixel resolution]
- latlon_to_pixel(lat, lon)[source]¶
Convert from lat/lon space to pixel space (i.e. sample/line).
- Parameters:
lat (float) – Latitude to be transformed.
lon (float) – Longitude to be transformed.
- Returns:
x, y – (Sample, line) position corresponding to the given (latitude, longitude).
- Return type:
tuple
- pixel_to_latlon(x, y)[source]¶
Convert from pixel space (i.e. sample/line) to lat/lon space.
- Parameters:
x (float) – x-coordinate to be transformed.
y (float) – y-coordinate to be transformed.
- Returns:
lat, lon – (Latitude, Longitude) corresponding to the given (x,y).
- Return type:
tuple
- read_array(band=1, pixels=None, dtype=None)[source]¶
Extract the required data as a NumPy array
- Parameters:
band (int) – The image band number to be extracted as a NumPy array. Default band=1.
pixels (list) – [xstart, ystart, xcount, ycount]. Default pixels=None.
dtype (str) – The NumPy dtype for the output array. Defaults to the band dtype.
- Returns:
array – The dataset for the specified band.
- Return type:
ndarray
- plio.io.io_gdal.array_to_raster(array, file_name, projection=None, geotransform=None, outformat='GTiff', ndv=None, bittype='GDT_Float64')[source]¶
Converts the given NumPy array to a raster format using the GeoDataset class.
- Parameters:
array (ndarray) – The data to be written via GDAL
file_name (str) – The output file PATH (relative or absolute)
projection (object) – A GDAL readable projection object, WKT string, PROJ4 string, etc. Default: None
geotransform (object) – A six parameter geotransformation Default:None.
outformat (str) – A GDAL supported output format Default: ‘GTiff’.
ndv (float) – The no data value for the given band. Default: None.
bittype (str) – A GDAL supported bittype, e.g. GDT_Int32 Default: GDT_Float64