pygplates.GmlTimePeriod

class pygplates.GmlTimePeriod(begin_time, end_time)

Bases: pygplates.PropertyValue

A property value representing a period in geological time (time of appearance to time of disappearance).

__init__(begin_time, end_time)

Create a property value representing a specific time period.

Parameters:
  • begin_time (float or GeoTimeInstant) – the begin time (time of appearance)
  • end_time (float or GeoTimeInstant) – the end time (time of disappearance)
Raises:

GmlTimePeriodBeginTimeLaterThanEndTimeError if begin time is later than end time

time_period = pygplates.GmlTimePeriod(pygplates.GeoTimeInstant.create_distant_past(), 0)

Methods

__init__(begin_time, end_time) Create a property value representing a specific time period.
accept_visitor(visitor) Accept a property value visitor so that it can visit this property value.
clone() Create a duplicate of this property value (derived) instance, including a recursive copy of any nested property values that this instance might contain.
contains(time_position) Determine if a time lies within this time period.
get_begin_time() Returns the begin time position (time of appearance) of this property value.
get_end_time() Returns the end time position (time of disappearance) of this property value.
get_geometry() Extracts the geometry if this property value contains a geometry.
get_value([time=0]) Extracts the value, of this possibly time-dependent property value, at the reconstruction time.
set_begin_time(time_position) Sets the begin time position (time of appearance) of this property value.
set_end_time(time_position) Sets the end time position (time of disappearance) of this property value.
accept_visitor(visitor)

Accept a property value visitor so that it can visit this property value. As part of the visitor pattern, this enables the visitor instance to discover the derived class type of this property. Note that there is no common interface shared by all property value types, hence the visitor pattern provides one way to find out which type of property value is being visited.

Parameters:visitor (PropertyValueVisitor) – the visitor instance visiting this property value
clone()

Create a duplicate of this property value (derived) instance, including a recursive copy of any nested property values that this instance might contain.

Return type:PropertyValue
contains(time_position)

Determine if a time lies within this time period.

Parameters:time_position (float or GeoTimeInstant) – the time position to test
Return type:bool

Note

time_position is considered to lie within a time period if it coincides with the begin or end time.

get_begin_time()

Returns the begin time position (time of appearance) of this property value.

Return type:float

You can use GeoTimeInstant with the returned float to check for distant past or distant future for example. See GmlTimeInstant.get_time() for more details.

get_end_time()

Returns the end time position (time of disappearance) of this property value.

Return type:float

You can use GeoTimeInstant with the returned float to check for distant past or distant future for example. See GmlTimeInstant.get_time() for more details.

get_geometry()

Extracts the geometry if this property value contains a geometry.

Return type:GeometryOnSphere or None

This function searches for a geometry in the following standard geometry property value types:

If this property value does not contain a geometry then None is returned.

Time-dependent geometry properties are not yet supported, so the only time-dependent property value wrapper currently supported by this function is GpmlConstantValue.

To extract geometry from a specific feature property:

property_value = feature.get_value(pygplates.PropertyName.gpml_pole_position)
if property_value:
    geometry = property_value.get_geometry()

...however Feature.get_geometry() provides an easier way to extract geometry from a feature with:

geometry = feature.get_geometry(pygplates.PropertyName.gpml_pole_position)

To extract all geometries from a feature (regardless of which properties they came from):

all_geometries = []
for property in feature:
    property_value = property.get_value()
    if property_value:
        geometry = property_value.get_geometry()
        if geometry:
            all_geometries.append(geometry)

...however again Feature.get_geometry() does this more easily with:

all_geometries = feature.get_geometry(lambda property: True, pygplates.PropertyReturn.all)
get_value([time=0])

Extracts the value, of this possibly time-dependent property value, at the reconstruction time.

Parameters:time (float or GeoTimeInstant) – the time to extract value (defaults to present day)
Return type:PropertyValue or None

If this property value is a time-dependent property (GpmlConstantValue, GpmlIrregularSampling or GpmlPiecewiseAggregation) then a nested property value is extracted at the reconstruction time and returned. Otherwise this property value instance is simply returned as is (since it’s not a time-dependent property value).

Returns None if this property value is a time-dependent property (GpmlConstantValue, GpmlIrregularSampling or GpmlPiecewiseAggregation) and time is outside its time range (of time samples or time windows).

Note that if this property value is a GpmlIrregularSampling instance then the extracted property value is interpolated (at reconstruction time) if property value can be interpolated (currently only GpmlFiniteRotation and XsDouble), otherwise None is returned.

The following example demonstrates extracting an interpolated finite rotation from a total reconstruction pole at time 20Ma:

gpml_finite_rotation_20Ma = total_reconstruction_pole.get_value(20)
if gpml_finite_rotation_20Ma:
  print 'Interpolated finite rotation at 20Ma: %s' % gpml_finite_rotation_20Ma.get_finite_rotation()
set_begin_time(time_position)

Sets the begin time position (time of appearance) of this property value.

Parameters:time_position (float or GeoTimeInstant) – the begin time position (time of appearance)
Raises:GmlTimePeriodBeginTimeLaterThanEndTimeError if begin time is later than end time
set_end_time(time_position)

Sets the end time position (time of disappearance) of this property value.

Parameters:time_position (float or GeoTimeInstant) – the end time position (time of disappearance)
Raises:GmlTimePeriodBeginTimeLaterThanEndTimeError if begin time is later than end time

Previous topic

pygplates.GmlTimeInstant

Next topic

pygplates.GpmlArray

This Page