3.3.3. pci.api.mathmodel module

This module has classes that represent math models for describing the relationship between image space and ground space, and the operations that can be performed with them.

class pci.api.mathmodel.MathModel

Bases: instance

The math model for an image is the set of coefficients and equations that describes the relationship between image space (column/row) and ground space (Longitude/Latitude/Height, Easting/Northing/Height, X/Y/Z, etc.).

Most MathModel types cannot be created directly in python, and can only be read from a file using pci.api.datasource.MathmodelDataset.

property cols

The number of columns in the raster.

property crs

The pci.api.cts.CRS coordinate system of the mathmodel.

property downsample_factor

The downsample factor for the raster.

ground_to_image((MathModel)self, (float)x, (float)y, (float)height) tuple :

Project from ground space to image space. Given ground point (x, y, height),return a two-element tuple of (col, row) in image space. If ground_to_image fails, an empty tuple is returned.

image_to_ground((MathModel)self, (float)col, (float)row, (float)height) tuple :

Project from image space to ground space. Given image point (col, row) and ground height height, return a two-element tuple of (x, y) in ground space. If image_to_ground fails, an empty tuple is returned.

property is_height_dependent

True if the height parameter affects the image_to_ground() and ground_to_image() methods, False otherwise. In other words, True if the model is 3D, and False otherwise.

property max_valid_height

The maximum valid height for this model if it has been defined, None otherwise.

property min_valid_height

The minimum valid height for this model if it has been defined, None otherwise.

property model_name

A short string describing the type of math model.

property model_type

The MathModelType of this math model.

property rows

The number of rows in the raster.

class pci.api.mathmodel.RpcMathModel((object)arg1, (float)line_off, (float)sample_off, (float)lat_off, (float)lon_off, (float)height_off, (float)line_scale, (float)sample_scale, (float)lat_scale, (float)lon_scale, (float)height_scale, (VecDouble)line_num_coeffs, (VecDouble)line_den_coeffs, (VecDouble)samp_num_coeffs, (VecDouble)samp_den_coeffs, (CRS)crs[, (object)raster_dimensions=None[, (string_)sensor_id=''[, (bool)is_vendor=False]]])

Bases: MathModel

Encapsulates the RPC Math Model, a representation of image geometry that is based on cubic rational polynomials in latitude, longitude, and height.

property cols

The number of columns in the raster.

property crs

The pci.api.cts.CRS coordinate system of the mathmodel.

property downsample_factor

The downsample factor for the raster.

ground_to_image((MathModel)self, (float)x, (float)y, (float)height) tuple :

Project from ground space to image space. Given ground point (x, y, height),return a two-element tuple of (col, row) in image space. If ground_to_image fails, an empty tuple is returned.

property height_off

height offset

property height_scale

height scale

image_to_ground((MathModel)self, (float)col, (float)row, (float)height) tuple :

Project from image space to ground space. Given image point (col, row) and ground height height, return a two-element tuple of (x, y) in ground space. If image_to_ground fails, an empty tuple is returned.

property is_height_dependent

True if the height parameter affects the image_to_ground() and ground_to_image() methods, False otherwise. In other words, True if the model is 3D, and False otherwise.

property is_vendor

True if the model is from a vendor, False if computed.

property lat_off

latitude offset

property lat_scale

latitude scale

property line_den_coeffs

line denominator coefficients

property line_num_coeffs

line numerator coefficients

property line_off

line offset

property line_scale

line scale

property lon_off

longitude offset

property lon_scale

longitude scale

property max_valid_height

The maximum valid height for this model if it has been defined, None otherwise.

property min_valid_height

The minimum valid height for this model if it has been defined, None otherwise.

property model_name

A short string describing the type of math model.

property model_type

The MathModelType of this math model.

property raster_dimensions

A tuple representing the number of columns and rows in the raster.

property rows

The number of rows in the raster.

property samp_den_coeffs

sample denominator coefficients

property samp_num_coeffs

sample numerator coefficients

property sample_off

sample offset

property sample_scale

sample scale

property sensor_id

The sensor name associated with this model. The sensor name typically describes the imaging system used to collect the image. The value must not contain any white space, or it can cause an error.

class pci.api.mathmodel.MathModelType

Bases: enum

Specifies the type of math model.

  • MODEL_RPC refers to a rational function (RPC) model.

  • MODEL_AIRPHOTO refers to a frame-based airphoto model.

  • MODEL_RADAR refers to a radar model.

  • MODEL_AFFINE refers to an affine 2D model.

  • MODEL_SPB refers to a satellite pushbroom model.

  • MODEL_ADS refers to an ADS airborne pushbroom model.

  • MODEL_POLY refers to a polynomial math model.

  • MODEL_TPS refers to a thin plate spline math model.

  • MODEL_SRS refers to a spacecraft rolling-shutter model.

  • MODEL_SGS refers to a spacecraft global-shutter model.

  • MODEL_SRIT refers to a Toutin model.

  • MODEL_LRS refers to a low resolution satellite orbit model.

  • MODEL_CUSTOM refers to a model not defined by other enum values.

MODEL_RPC = pci.api.mathmodel.MathModelType.MODEL_RPC
MODEL_AIRPHOTO = pci.api.mathmodel.MathModelType.MODEL_AIRPHOTO
MODEL_RADAR = pci.api.mathmodel.MathModelType.MODEL_RADAR
MODEL_AFFINE = pci.api.mathmodel.MathModelType.MODEL_AFFINE
MODEL_SPB = pci.api.mathmodel.MathModelType.MODEL_SPB
MODEL_ADS = pci.api.mathmodel.MathModelType.MODEL_ADS
MODEL_POLY = pci.api.mathmodel.MathModelType.MODEL_POLY
MODEL_TPS = pci.api.mathmodel.MathModelType.MODEL_TPS
MODEL_SRS = pci.api.mathmodel.MathModelType.MODEL_SRS
MODEL_SGS = pci.api.mathmodel.MathModelType.MODEL_SGS
MODEL_SRIT = pci.api.mathmodel.MathModelType.MODEL_SRIT
MODEL_LRS = pci.api.mathmodel.MathModelType.MODEL_LRS
MODEL_CUSTOM = pci.api.mathmodel.MathModelType.MODEL_CUSTOM
class pci.api.mathmodel.EphemerisData((object)arg1)

Bases: instance

The EphemerisData class contains information about satellite position, satellite altitude, IFOV, projection, sensor, orbit, and more.

New in version 2016.

Construct a new Ephemeris object

property angular_spd

Angular speed (N) [rad/s]

property arg_perigee

Argument Perigee (OMEGA-MIN) [rad]

property asc_nodeLong

Ascending node Longitude (OMEGA-MAJ) [rad]

property corner_available

True if the corner coordinates are available, False otherwise

property descending

True indicates descending, ascending otherwise

property earth_satelliteDist

Earth Satellite distance (RHO) [m]

property eccentricity

Eccentricity (ES)

property field_of_view

Scanner field of view (ALPHA) [rad]

property height

Height (H0) [m]

property ht_centre

Centre Height [m]

property ht_ll

LL Height [m]

property ht_lr

LR Height [m]

property ht_ul

UL Height [m]

property ht_ur

UR Height [m]

property image_record_length

Image record length

property image_taken_date

Date of image taken

property inclination

Inclination (I) [rad]

property lat_centre

Latitude of center (PHI) [rad]

property lat_centre_deg

Scene centre latitude [deg]

property lat_ll

Lower left latitude [deg]

property lat_lr

Lower right latitude [deg]

property lat_ul

Upper left latitude [deg]

property lat_ur

Upper right latitude [deg]

property line_res

Pixel resolution in y direction [m]

property long_centre

Longitude of center (LAMBDA) [rad]

property long_centre_deg

Scene centre longitude [deg]

property long_ll

Lower left longitude [deg]

property long_lr

Lower right longitude [deg]

property long_ul

Upper left longitude [deg]

property long_ur

Upper right longitude [deg]

property mapunits

Map units

property nominal_pitch

Nominal pitch (T) [rad]

property num_col_centre

Number of column at center (C0)

property num_line_centre

Number of line at center (L0)

property num_spot_1b_coeff

Number of coefficients for SPOT 1B

property number_byte_perPixel

Number of bytes per pixel

property number_imageLine

Number of image line

property number_prefix_bytes

Number of prefix bytes

property number_sample_perLine

Number of samples per line

property number_suffix_bytes

Number of suffix bytes

property pixel_res

Pixel resolution in x direction [m]

property radial_speed

Radial speed (DELIRO) [m/s]

property satellite_arg

Satellite argument (WP) [rad]

property satellite_description

Satellite description

property satellite_sensor

Satellite sensor

property scene_id

Scene ID

property sensor_num

Satellite sensor number

property spot_1b_coeff

SPOT 1B coefficients

property spot_1b_segment_coeff

SPOT 1B segment coefficients

property supplemental_segment_exist

True if supplemental segment is available, False otherwise

property time_atCentre

Time at centre (T0) [sec]

property time_interval

Time interval (K) [s]

property utm_x_centre

UTM Easting of scene centre

property utm_xll

UTM Easting of lower left corner

property utm_xlr

UTM Easting of lower right corner

property utm_xul

UTM Easting of upper left corner

property utm_xur

UTM Easting of upper right corner

property utm_y_centre

UTM Northing of scene centre

property utm_yll

UTM Northing of lower left corner

property utm_ylr

UTM Northing of lower right corner

property utm_yul

UTM Northing of upper left corner

property utm_yur

UTM Northing of upper right corner

property view_angle

Viewing angle (BETA) [rad]

property x_centre

Pixel coordinate of scene centre

property xll

Pixel coordinate of lower left corner

property xlr

Pixel coordinate of lower right corner

property xul

Pixel coordinate of upper left corner

property xur

Pixel coordinate of upper right corner

property y_centre

Line coordinate of scene centre

property yll

Line coordinate of lower left corner

property ylr

Line coordinate of lower right corner

property yul

Line coordinate of upper left corner

property yur

Line coordinate of upper right corner

pci.api.mathmodel.rpc_txt_to_math_model((string_)rpc_txt_filename) RpcMathModel :

Create an pci.api.mathmodel.RpcMathModel by reading the contents of the RPC TXT file in the parameter rpc_txt_filename. An RPC TXT file is a common file format for storing Rational Polynomial Coefficients (RPCs). Often RPC TXT files are named with the following patterns: *_rpc.txt or *.rpb

New in version CATALYST: 2.2