fmeobjects.FMESegment

Inheritance diagram of fmeobjects.FMESegment

FMESegment.boundingBox()

This method returns the bounding box of the geometry.

FMESegment.boundingCube()

This method returns the bounding cube of the geometry.

FMESegment.bounds()

Returns the bounds of the geometry.

FMESegment.clearMeasures()

Remove all measures from the geometry.

FMESegment.copyAttributesFromFeature(...)

Copies all the attributes from the given feature to traits on this geometry, if they match the (optional) regular expression.

FMESegment.copyNameFromGeometry(sourceGeometry)

Copies the name of the 'sourceGeometry' onto this geometry.

FMESegment.copyTraitsFromGeometry(...)

Copies all the traits from the given geometry that match the (optional) regular expression.

FMESegment.copyTraitsToFeature(destFeature, ...)

Copies all the traits from this geometry to attributes on the given feature, if they match the (optional) regular expression.

FMESegment.deleteName()

Deletes the geometry's name.

FMESegment.force2D()

Reduces the geometry to 2D.

FMESegment.force3D(newZ)

This sets the geometry's dimension to 3D.

FMESegment.getArea()

Area calculation.

FMESegment.getAsLine()

Returns the curve as a line.

FMESegment.getAsLineFixedArcSamples(numSamples)

Returns a copy of this curve as a line.

FMESegment.getEndPoint()

Returns the end point of this curve.

FMESegment.getLength(threeD)

Returns the length of the curve.

FMESegment.getMeasureNames()

Retrieve the names of the measures on this geometry.

FMESegment.getName()

This routine retrieves the 'name' of this geometry as a str.

FMESegment.getStartPoint()

Returns the start point of this curve.

FMESegment.getTrait(traitName)

Retrieves the geometry trait value of the specified trait name.

FMESegment.getTraitNames()

Retrieve the names of the traits on this geometry.

FMESegment.getTraitNullMissingAndType(traitName)

This method returns a tuple of a boolean, indicating if the trait is null, a boolean, indicating if the trait is missing, and an integer representing the type of the trait.

FMESegment.getTraitType(traitName)

Returns the type of given trait.

FMESegment.hasMeasures()

Check if this geometry or any sub part of this geometry has measures.

FMESegment.hasName()

Returns whether or not the geometry has a name.

FMESegment.is3D()

Returns whether or not the geometry is 3D.

FMESegment.isClosed(threeD)

Returns True if the start and end points have identical coordinate values.

FMESegment.isCollection()

Check if the geometry is an aggregate or multi-part collection.

FMESegment.isLinear()

Returns True if and only if this curve contains only lines.

FMESegment.measureExists(measureName)

Returns True if the specified measure exists and False otherwise.

FMESegment.offset(offsetPoint)

Offsets the geometry by the coords specified by 'offsetPoint'.

FMESegment.removeDuplicates(checkZ)

Removes any adjacent duplicate points.

FMESegment.removeMeasure(measureName)

Remove the specified measure if it exists.

FMESegment.removeTraits(regexp)

This method has 4 modes:

FMESegment.renameMeasure(oldMeasureName, ...)

Renames the measure specified by 'oldMeasureName' to the new name, specified by 'newMeasureName'.

FMESegment.reverse()

This reverses the order of the curve's points.

FMESegment.rotate2D(center, angle)

Rotate the curve counterclockwise around the 'center' point by the specified 'angle' (in degrees).

FMESegment.scale(xScale, yScale, zScale)

Scale the feature by the given amounts.

FMESegment.setEndPoint(point)

Changes the existing end point of this curve.

FMESegment.setName(name)

Sets the geometry's name with a str.

FMESegment.setStartPoint(point)

Changes the existing start point of this curve.

FMESegment.setTrait(traitName, traitValue)

Sets a geometry trait with the specified value.

FMESegment.setTraitNullWithType(traitName, ...)

This method supplies a null trait value with a type to the geometry.

FMESegment.snip(measureType, measure3D, ...)

Take a description of start and end positions (either as a measured 2D/3D distance, percentage, or normalized distance from the beginning, or a vertex index), and chop off only the portion between these positions.

FMESegment.snipByPoints(startPoint, endPoint)

Snip off the portion between two points.

class FMESegment

FME Segment Class

init()

FMESegment is an abstract class. It cannot be created directly.

__init__(*args, **kwargs)
boundingBox()

This method returns the bounding box of the geometry.

Return type:

tuple[tuple[float]]

Returns:

The bounding box of the Geometry, in the form ((minx, miny), (maxx, maxy)).

boundingCube()

This method returns the bounding cube of the geometry.

Return type:

tuple[tuple[float]]

Returns:

The bounding box of the Geometry, in the form ((minx, miny, minz), (maxx, maxy, maxz)).

bounds()

Returns the bounds of the geometry.

Return type:

tuple[FMEPoint]

Returns:

The min point and max point of the bounds. None is returned if the geometry contains no points.

clearMeasures()

Remove all measures from the geometry.

Return type:

None

copyAttributesFromFeature(sourceFeature, overwriteExisting, regexp, prefix)

Copies all the attributes from the given feature to traits on this geometry, if they match the (optional) regular expression.

Parameters:
  • sourceFeature (FMEFeature) – The feature to copy attributes from.

  • overwriteExisting (bool) – Existing traits will be overwritten only if overwriteExisting is True.

  • regexp (str) – (Optional) The regular expression to match the attributes against. If regexp is not specified, then all attributes will be copied.

  • prefix (str) – (Optional) The prefix is put on all the trait names as they are copied. If it is not specified, a prefix will not be added to the trait names.

Return type:

None

copyNameFromGeometry(sourceGeometry)

Copies the name of the ‘sourceGeometry’ onto this geometry. If ‘sourceGeometry’s name is blank or None, this geometry’s name will become None.

Parameters:

sourceGeometry (FMEGeometry) – The geometry to copy the name from.

Return type:

None

copyTraitsFromGeometry(sourceGeometry, overwriteExisting, regexp, prefix)

Copies all the traits from the given geometry that match the (optional) regular expression.

Parameters:
  • sourceGeometry (FMEGeometry) – The geometry to copy traits from.

  • overwriteExisting (bool) – Existing traits will be overwritten only if overwriteExisting is True.

  • regexp (str) – (Optional) The regular expression to match the traits against. If regexp is not specified, or is an empty string, then all traits will be copied.

  • prefix (str) – (Optional) The prefix is put on all the trait names as they are copied. If it is not specified, a prefix will not be added to the trait names.

Return type:

None

copyTraitsToFeature(destFeature, overwriteExisting, regexp, prefix)

Copies all the traits from this geometry to attributes on the given feature, if they match the (optional) regular expression.

Parameters:
  • destFeature (FMEFeature) – The feature to copy traits to.

  • overwriteExisting (bool) – Existing attributes will be overwritten only if overwriteExisting is True.

  • regexp (str) – (Optional) The regular expression to match the traits against. If regexp is not specified, or is an empty string, then all traits will be copied.

  • prefix (str) – (Optional) The prefix is put on all the attribute names as they are copied. If it is not specified, a prefix will not be added to the attribute names.

Return type:

None

deleteName()

Deletes the geometry’s name. If a name existed prior to this call then True is returned; otherwise False is returned.

Return type:

bool

Returns:

Returns a boolean indicating whether or not the name existed before deletion.

force2D()

Reduces the geometry to 2D.

Return type:

None

force3D(newZ)

This sets the geometry’s dimension to 3D. All Z values are set to the value passed in, even if the geometry is already 3D.

Parameters:

newZ (float) – The new Z value.

Return type:

None

getArea()

Area calculation.

Return type:

float

Returns:

The calculated area.

getAsLine()

Returns the curve as a line.

Return type:

FMELine

Returns:

The curve as a FMELine object.

getAsLineFixedArcSamples(numSamples)

Returns a copy of this curve as a line. All arcs are approximated with the number of points given by ‘numSamples’. If ‘numSamples’ is 0, the number points will first be determined by the value of kFMEStrokeMaxDeviationValue directive in mapping file, which denotes the maximum deviation of the arc from the line. In the absence of this directive or the value of this directive is smaller than or equal to 0, the number points will be determined by the arc’s sweep angle and the value of the mapping file directive kFMEDegreesPerEdge, which defaults to 5.

Parameters:

numSamples (int) – The number of points to approximate the arc with.

Return type:

FMELine

Returns:

The curve as a FMELine object.

getEndPoint()

Returns the end point of this curve. An error is returned and None is returned if this curve has no point to return.

Return type:

FMEPoint or None

Returns:

The end point of the curve, or None if there is no point to return.

Raises:

FMEException – An exception is raised if an error occurred.

getLength(threeD)

Returns the length of the curve. If ‘threeD’ is True, this returns the 3D length of the curve, otherwise this returns the 2D length.

Parameters:

threeD (bool) – Whether to calculate the 2D or 3D length.

Return type:

float

Returns:

The length of the curve.

getMeasureNames()

Retrieve the names of the measures on this geometry.

Return type:

tuple[str]

Returns:

Return a tuple storing the names of the measures on this geometry. This will return an empty tuple if there are no measures. For FMEAggregate, FMEMultiSurface, and FMECompositeSurface, this will return the union of all measure names of all of its parts.

getName()

This routine retrieves the ‘name’ of this geometry as a str. This will return None if it did not have a name associated with it.

Return type:

str or None

Returns:

The geometry’s name.

getStartPoint()

Returns the start point of this curve. An error is returned and None is returned if this curve has no point to return.

Return type:

FMEPoint or None

Returns:

The start point of the curve, or None if there is no point to return.

Raises:

FMEException – An exception is raised if an error occurred.

getTrait(traitName)

Retrieves the geometry trait value of the specified trait name. Null trait values will be returned as an empty string. Binary blob traits are returned as a bytearray.

None is returned when the trait is not found on the geometry.

Parameters:

traitName (str) – The name of the geometry trait.

Return type:

bool, int, float, str, bytearray, bytes or None

Returns:

The trait value.

Raises:

FMEException – An exception is raised if there was a problem in retrieving the trait value.

getTraitNames()

Retrieve the names of the traits on this geometry.

Return type:

tuple[str]

Returns:

Return a tuple storing the names of the traits on this geometry. This will return an empty tuple if there are no traits. For all collections and containers, this will only return the names of traits on the outermost object only.

getTraitNullMissingAndType(traitName)

This method returns a tuple of a boolean, indicating if the trait is null, a boolean, indicating if the trait is missing, and an integer representing the type of the trait. The first boolean is True if ‘traitName’ maps to a null trait value on the geometry. Otherwise it is False. The second boolean is True if ‘traitName’ maps to a no value on the geometry. Otherwise it is False. If the trait is absent, FME_ATTR_UNDEFINED is returned for the type.

The possible trait types are FME_ATTR_UNDEFINED, FME_ATTR_BOOLEAN, FME_ATTR_INT8, FME_ATTR_UINT8, FME_ATTR_INT16, FME_ATTR_UINT16, FME_ATTR_INT32, FME_ATTR_UINT32, FME_ATTR_REAL32, FME_ATTR_REAL64, FME_ATTR_REAL80, FME_ATTR_STRING, FME_ATTR_ENCODED_STRING, FME_ATTR_INT64, FME_ATTR_UINT64.

Parameters:

traitName (str) – The trait’s name.

Return type:

tuple[bool, bool, int]

Returns:

A tuple of 2 boolean values the first indicating whether or not the value of the trait is null, the second indicating whether or not the trait is missing, and an integer representing the trait type.

getTraitType(traitName)

Returns the type of given trait. If the trait cannot be found, FME_ATTR_UNDEFINED will be returned.

Returns one of FME_ATTR_UNDEFINED, FME_ATTR_BOOLEAN, FME_ATTR_INT8, FME_ATTR_UINT8, FME_ATTR_INT16, FME_ATTR_UINT16, FME_ATTR_INT32, FME_ATTR_UINT32, FME_ATTR_REAL32, FME_ATTR_REAL64, FME_ATTR_REAL80, FME_ATTR_STRING, FME_ATTR_ENCODED_STRING, FME_ATTR_INT64, FME_ATTR_UINT64.

Parameters:

traitName (str) – The trait’s name.

Return type:

int

Returns:

The trait type.

hasMeasures()

Check if this geometry or any sub part of this geometry has measures.

Return type:

bool

Returns:

True if this geometry or any sub part of this geometry has measures, False otherwise.

hasName()

Returns whether or not the geometry has a name.

Return type:

bool

Returns:

Returns True if the geometry has a name and False otherwise.

is3D()

Returns whether or not the geometry is 3D.

Return type:

bool

Returns:

Returns True if the geometry is 3D and False otherwise. For FMENull, this method will always return True. For FMEAggregate, FMEMultiPoint, FMEMultiArea, FMEMultiText and FMEMultiCurve, this method will return True if any one of the sub-parts is 3D. If the collection is empty or all of its members are 2D, this method will return False.

isClosed(threeD)

Returns True if the start and end points have identical coordinate values. If ‘threeD’ is True, the z coordinate of the start and end points will be compared. This does not take measures into consideration.

Parameters:

threeD (bool) – Whether to compare the z coordinate value.

Return type:

bool

Returns:

True if the start and end point have identical coordinate values, False otherwise.

isCollection()

Check if the geometry is an aggregate or multi-part collection.

Return type:

bool

Returns:

True if the geometry is an aggregate or multi-part collection.

isLinear()

Returns True if and only if this curve contains only lines.

Return type:

bool

Returns:

True if the curve contains only lines, False otherwise.

measureExists(measureName)

Returns True if the specified measure exists and False otherwise. If the ‘measureName’ parameter is not specified then the default measure is checked.

Parameters:

measureName (str) – (Optional) The measure’s name.

Return type:

bool

Returns:

Boolean indicating whether or not the measure exists.

offset(offsetPoint)

Offsets the geometry by the coords specified by ‘offsetPoint’.

Parameters:

offsetPoint (FMEPoint) – The FMEPoint to offset the curve by.

Return type:

None

Raises:

FMEException – An exception is raised if an error occurred.

removeDuplicates(checkZ)

Removes any adjacent duplicate points. If ‘checkZ’ is True, x, y, and z coordinates are checked, otherwise only x and y are.

Parameters:

checkZ (bool) – Whether to check the z coordinate.

Return type:

None

removeMeasure(measureName)

Remove the specified measure if it exists. If the measure name, is not provided remove the default measure, if there is one.

Parameters:

measureName (str) – (Optional) The name of the measure to remove.

Return type:

None

removeTraits(regexp)

This method has 4 modes:

  1. Remove all traits at the top level: regex == NULL

  2. Remove some traits at the top level: regex == <string>

  3. Remove all traits at all levels: regex == kFME_RecurseAll

  4. Remove some traits at all levels: regex == kFME_RecurseSome <string>

For example, specifying regex == NULL for a multi-surface will remove all traits at the root level of the multi-surface, whereas specifying regex == kFME_RecurseSome <string> will remove all traits from all levels of the multi surface that match <string>. If <string> is an illegal regular expression, no traits will be removed.

Return type:

None

renameMeasure(oldMeasureName, newMeasureName)

Renames the measure specified by ‘oldMeasureName’ to the new name, specified by ‘newMeasureName’.

Parameters:
  • oldMeasureName (str) – The original name of the measure.

  • newMeasureName (str) – The new name of the measure.

Return type:

None

reverse()

This reverses the order of the curve’s points.

Return type:

None

rotate2D(center, angle)

Rotate the curve counterclockwise around the ‘center’ point by the specified ‘angle’ (in degrees).

Parameters:
  • center (FMEPoint) – The center point of the curve.

  • angle (float) – The angle by which the curve is rotated.

Return type:

None

Raises:

FMEException – An exception is raised if an error occurred.

scale(xScale, yScale, zScale)

Scale the feature by the given amounts.

Parameters:
  • xScale (float) – The value to scale x by.

  • yScale (float) – The value to scale y by.

  • zScale (float) – (Optional) The value to scale z by. (Default value is 1.0)

Return type:

None

Raises:

FMEException – An exception is raised if an error occurred.

setEndPoint(point)

Changes the existing end point of this curve. If there are no points on the curve, this method does nothing.

Parameters:

point (FMEPoint) – The point to set at the end of the curve.

Return type:

None

Raises:

FMEException – An exception is raised if an error occurred.

setName(name)

Sets the geometry’s name with a str. By supplying a blank name as input, this method will act as deleteName().

Parameters:

name (str) – The geometry’s new name.

Return type:

None

setStartPoint(point)

Changes the existing start point of this curve. If there are no points on the curve, this method does nothing.

Parameters:

point (FMEPoint) – The point to set at the start of the curve.

Return type:

None

Raises:

FMEException – An exception is raised if an error occurred.

setTrait(traitName, traitValue)

Sets a geometry trait with the specified value. If the geometry trait already exists, its value and type will be changed. The following type numeric mappings are used:

PyInt ==> FME_Int32

PyFloat ==> FME_Real64

PyLong ==> FME_Int64

Binary values are to be specified as bytearray values or bytes values.

Parameters:
Return type:

None

setTraitNullWithType(traitName, traitType)

This method supplies a null trait value with a type to the geometry. If a trait with the same name already exists, it is overwritten.

Trait type must be one of FME_ATTR_UNDEFINED, FME_ATTR_BOOLEAN, FME_ATTR_INT8, FME_ATTR_UINT8, FME_ATTR_INT16, FME_ATTR_UINT16, FME_ATTR_INT32, FME_ATTR_UINT32, FME_ATTR_REAL32, FME_ATTR_REAL64, FME_ATTR_REAL80, FME_ATTR_STRING, FME_ATTR_ENCODED_STRING, FME_ATTR_INT64, FME_ATTR_UINT64.

Parameters:
  • traitName (str) – The trait’s name.

  • traitType (int) – An integer representing the trait type.

Return type:

None

snip(measureType, measure3D, startLocation, endLocation)

Take a description of start and end positions (either as a measured 2D/3D distance, percentage, or normalized distance from the beginning, or a vertex index), and chop off only the portion between these positions. If the start and end positions are the same, keep two same points.

Parameters:
Return type:

None

Raises:

FMEException – An exception is raised if an error occurred.

snipByPoints(startPoint, endPoint)

Snip off the portion between two points. If these points are not on this line, replaced with nearest points which are exactly on the line. If the start and end point are the same, keep two same points.

Parameters:
  • startPoint (FMEPoint) – The start point.

  • endPoint (FMEPoint) – The end point.

Return type:

None

Raises:

FMEException – An exception is raised if an error occurred.