USGSCSM
U.S. flag

An official website of the United States government

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

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