Package org.locationtech.jts.geom.util
Class LinearComponentExtracter
- java.lang.Object
-
- org.locationtech.jts.geom.util.LinearComponentExtracter
-
- All Implemented Interfaces:
GeometryComponentFilter
public class LinearComponentExtracter extends java.lang.Object implements GeometryComponentFilter
Extracts all the 1-dimensional (LineString
) components from aGeometry
. For polygonal geometries, this will extract all the componentLinearRing
s. If desired,LinearRing
s can be forced to be returned asLineString
s.- Version:
- 1.7
-
-
Constructor Summary
Constructors Constructor Description LinearComponentExtracter(java.util.Collection lines)
Constructs a LineExtracterFilter with a list in which to store LineStrings found.LinearComponentExtracter(java.util.Collection lines, boolean isForcedToLineString)
Constructs a LineExtracterFilter with a list in which to store LineStrings found.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
filter(Geometry geom)
Performs an operation with or ongeom
.static Geometry
getGeometry(Geometry geom)
Extracts the linear components from a singleGeometry
and returns them as either aLineString
orMultiLineString
.static Geometry
getGeometry(Geometry geom, boolean forceToLineString)
Extracts the linear components from a singleGeometry
and returns them as either aLineString
orMultiLineString
.static java.util.Collection
getLines(java.util.Collection geoms, java.util.Collection lines)
Extracts the linear components from a singleGeometry
and adds them to the providedCollection
.static java.util.Collection
getLines(java.util.Collection geoms, java.util.Collection lines, boolean forceToLineString)
Extracts the linear components from a singleGeometry
and adds them to the providedCollection
.static java.util.List
getLines(Geometry geom)
Extracts the linear components from a single geometry.static java.util.List
getLines(Geometry geom, boolean forceToLineString)
Extracts the linear components from a single geometry.static java.util.Collection
getLines(Geometry geom, java.util.Collection lines)
Extracts the linear components from a singleGeometry
and adds them to the providedCollection
.static java.util.Collection
getLines(Geometry geom, java.util.Collection lines, boolean forceToLineString)
Extracts the linear components from a singleGeometry
and adds them to the providedCollection
.void
setForceToLineString(boolean isForcedToLineString)
Indicates that LinearRing components should be converted to pure LineStrings.
-
-
-
Constructor Detail
-
LinearComponentExtracter
public LinearComponentExtracter(java.util.Collection lines)
Constructs a LineExtracterFilter with a list in which to store LineStrings found.
-
LinearComponentExtracter
public LinearComponentExtracter(java.util.Collection lines, boolean isForcedToLineString)
Constructs a LineExtracterFilter with a list in which to store LineStrings found.
-
-
Method Detail
-
getLines
public static java.util.Collection getLines(java.util.Collection geoms, java.util.Collection lines)
Extracts the linear components from a singleGeometry
and adds them to the providedCollection
.- Parameters:
geoms
- the collection of geometries from which to extract linear componentslines
- the collection to add the extracted linear components to- Returns:
- the collection of linear components (LineStrings or LinearRings)
-
getLines
public static java.util.Collection getLines(java.util.Collection geoms, java.util.Collection lines, boolean forceToLineString)
Extracts the linear components from a singleGeometry
and adds them to the providedCollection
.- Parameters:
geoms
- the Collection of geometries from which to extract linear componentslines
- the collection to add the extracted linear components toforceToLineString
- true if LinearRings should be converted to LineStrings- Returns:
- the collection of linear components (LineStrings or LinearRings)
-
getLines
public static java.util.Collection getLines(Geometry geom, java.util.Collection lines)
Extracts the linear components from a singleGeometry
and adds them to the providedCollection
.- Parameters:
geom
- the geometry from which to extract linear componentslines
- the Collection to add the extracted linear components to- Returns:
- the Collection of linear components (LineStrings or LinearRings)
-
getLines
public static java.util.Collection getLines(Geometry geom, java.util.Collection lines, boolean forceToLineString)
Extracts the linear components from a singleGeometry
and adds them to the providedCollection
.- Parameters:
geom
- the geometry from which to extract linear componentslines
- the Collection to add the extracted linear components toforceToLineString
- true if LinearRings should be converted to LineStrings- Returns:
- the Collection of linear components (LineStrings or LinearRings)
-
getLines
public static java.util.List getLines(Geometry geom)
Extracts the linear components from a single geometry. If more than one geometry is to be processed, it is more efficient to create a singleLinearComponentExtracter
instance and pass it to multiple geometries.- Parameters:
geom
- the geometry from which to extract linear components- Returns:
- the list of linear components
-
getLines
public static java.util.List getLines(Geometry geom, boolean forceToLineString)
Extracts the linear components from a single geometry. If more than one geometry is to be processed, it is more efficient to create a singleLinearComponentExtracter
instance and pass it to multiple geometries.- Parameters:
geom
- the geometry from which to extract linear componentsforceToLineString
- true if LinearRings should be converted to LineStrings- Returns:
- the list of linear components
-
getGeometry
public static Geometry getGeometry(Geometry geom)
Extracts the linear components from a singleGeometry
and returns them as either aLineString
orMultiLineString
.- Parameters:
geom
- the geometry from which to extract- Returns:
- a linear geometry
-
getGeometry
public static Geometry getGeometry(Geometry geom, boolean forceToLineString)
Extracts the linear components from a singleGeometry
and returns them as either aLineString
orMultiLineString
.- Parameters:
geom
- the geometry from which to extractforceToLineString
- true if LinearRings should be converted to LineStrings- Returns:
- a linear geometry
-
setForceToLineString
public void setForceToLineString(boolean isForcedToLineString)
Indicates that LinearRing components should be converted to pure LineStrings.- Parameters:
isForcedToLineString
- true if LinearRings should be converted to LineStrings
-
filter
public void filter(Geometry geom)
Description copied from interface:GeometryComponentFilter
Performs an operation with or ongeom
.- Specified by:
filter
in interfaceGeometryComponentFilter
- Parameters:
geom
- aGeometry
to which the filter is applied.
-
-