# GEOS Class List

Here are the classes, structs, unions and interfaces with brief descriptions:

geos::index::strtree::AbstractNode | A node of the STR tree
geos::index::strtree::AbstractSTRtree | Base class for STRtree and SIRtree
geos::index::strtree::AbstractSTRtree::IntersectsOp | A test for intersection between two bounds, necessary because subclasses of AbstractSTRtree have different implementations of bounds
geos::util::AssertionFailedException | Indicates a bug in GEOS code
geos::index::bintree::Bintree | An BinTree (or "Binary Interval Tree") is a 1-dimensional version of a quadtree
geos::index::strtree::Boundable | A spatial object in an AbstractSTRtree
geos::operation::buffer::BufferBuilder | Builds the buffer geometry for a given input geometry and precision model
geos::operation::buffer::BufferOp | Computes the buffer of a geometry, for both positive and negative buffer distances
geos::operation::buffer::BufferSubgraph | A connected subset of the graph of DirectedEdges and geomgraph::Node
geos::algorithm::CentralEndpointIntersector | Computes an approximate intersection of two line segments by taking the most central of the endpoints of the segments
geos::algorithm::CentroidArea | Computes the centroid of an area geometry
geos::algorithm::CGAlgorithms | Specifies and implements various fundamental Computational Geometric algorithms. The algorithms supplied in this class are robust for double-precision floating point
geos::precision::CommonBits | Determines the maximum number of common most-significant bits in the mantissa of one or numbers
geos::precision::CommonBitsOp | Provides versions of Geometry spatial functions which use common bit removal to reduce the likelihood of robustness problems
geos::precision::CommonBitsRemover | Allow computing and removing common mantissa bits from one or more Geometries
geos::operation::distance::ConnectedElementLocationFilter | A ConnectedElementPointFilter extracts a single point from each connected element in a Geometry (e.g. a polygon, linestring or point) and returns them in a list. The elements of the list are DistanceOp::GeometryLocation
geos::operation::distance::ConnectedElementPointFilter | Extracts a single point from each connected element in a Geometry (e.g. a polygon, linestring or point) and returns them in a list
geos::operation::valid::ConnectedInteriorTester | This class tests that the interior of an area Geometry (Polygon or MultiPolygon) is connected
geos::planargraph::algorithm::ConnectedSubgraphFinder | Finds all connected Subgraphs of a PlanarGraph
geos::operation::valid::ConsistentAreaTester | Checks that a geomgraph::GeometryGraph representing an area (a Polygon or MultiPolygon ) is consistent with the SFS semantics for area geometries
geos::algorithm::ConvexHull |
geos::geom::Coordinate | Coordinate is the lightweight class used to store coordinates
geos::util::CoordinateArrayFilter |
geos::geom::CoordinateArraySequence | The default implementation of CoordinateSequence
geos::geom::CoordinateArraySequenceFactory | Creates CoordinateSequences internally represented as an array of Coordinates
geos::geom::CoordinateFilter |
geos::geom::CoordinateLessThen | Strict weak ordering Functor for Coordinate
geos::geom::CoordinateList |
geos::geom::util::CoordinateOperation |
geos::geom::CoordinateSequence | The internal representation of a list of coordinates inside a Geometry
geos::geom::CoordinateSequenceFactory | An object that knows how to build a particular implementation of CoordinateSequence from an array of Coordinates
geos::geom::Dimension | Constants representing the dimensions of a point, a curve and a surface
geos::planargraph::DirectedEdge | Represents a directed edge in a PlanarGraph
geos::geomgraph::DirectedEdge | A directed EdgeEnd
geos::planargraph::DirectedEdgeStar | A sorted collection of DirectedEdge which leave a Node in a PlanarGraph
geos::geomgraph::DirectedEdgeStar | A DirectedEdgeStar is an ordered list of outgoing DirectedEdges around a node
geos::operation::distance::DistanceOp | Computes the distance and closest points between two Geometrys
geos::index::quadtree::DoubleBits | DoubleBits manipulates Double numbers by using bit manipulation and bit-field extraction
geos::simplify::DouglasPeuckerLineSimplifier | Simplifies a linestring (sequence of points) using the standard Douglas-Peucker algorithm
geos::simplify::DouglasPeuckerSimplifier | Simplifies a Geometry using the standard Douglas-Peucker algorithm
geos::planargraph::Edge | Represents an undirected edge of a PlanarGraph
geos::geomgraph::EdgeEnd | Models the end of an edge incident on a node
geos::operation::relate::EdgeEndBuilder | Computes the geomgraph::EdgeEnd objects which arise from a noded geomgraph::Edge
geos::operation::relate::EdgeEndBundle | Contains all geomgraph::EdgeEnd objectss which start at the same point and are parallel
geos::operation::relate::EdgeEndBundleStar | An ordered list of EdgeEndBundle objects around a RelateNode
geos::geomgraph::EdgeEndStar | A EdgeEndStar is an ordered list of EdgeEnds around a node
geos::geomgraph::EdgeIntersectionList |
geos::geomgraph::EdgeNodingValidator |
geos::operation::polygonize::EdgeRing | Represents a ring of PolygonizeDirectedEdge which form a ring of a polygon. The ring may be either an outer shell or a hole
geos::operation::overlay::EdgeSetNoder | Nodes a set of edges
geos::operation::linemerge::EdgeString | A sequence of LineMergeDirectedEdge forming one of the lines that will be output by the line-merging process
geos::precision::EnhancedPrecisionOp | Provides versions of Geometry spatial functions which use enhanced precision techniques to reduce the likelihood of robustness problems
geos::geom::Envelope | An Envelope defines a rectangulare region of the 2D coordinate plane
geos::noding::FastNodingValidator | Validates that a collection of SegmentStrings is correctly noded
geos::operation::overlay::FuzzyPointLocator | Finds the most likely Location of a point relative to the polygonal components of a geometry, using a tolerance value
geos::util::GeometricShapeFactory | Computes various kinds of common geometric shapes. Allows various ways of specifying the location and extent of the shapes, as well as number of line segments used to form them
geos::geom::Geometry | Basic implementation of Geometry, constructed and destructed by GeometryFactory
geos::geom::GeometryCollection | Represents a collection of heterogeneous Geometry objects
geos::geom::GeometryComponentFilter |
geos::geom::util::GeometryEditor |
geos::geom::util::GeometryEditorOperation |
geos::geom::GeometryFactory | Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geometry objects
geos::geom::GeometryFilter | Geometry classes support the concept of applying a Geometry filter to the Geometry
geos::operation::GeometryGraphOperation | The base class for operations that require GeometryGraph
geos::geom::GeometryList | Manager of Geometry pointers. Owns the Geometries
geos::operation::distance::GeometryLocation | Represents the location of a point on a Geometry
geos::precision::GeometrySnapper | Snaps the vertices and segments of a geometry to another's vertices. Should improve robustness for overlay operations
geos::geom::util::GeometryTransformer | A framework for processes which transform an input Geometry into an output Geometry, possibly changing its structure and type(s)
geos::util::GEOSException | Base class for all GEOS exceptions
geos::planargraph::GraphComponent | The base class for all graph component classes
geos::algorithm::HCoordinate | Represents a homogeneous coordinate in a 2-D coordinate space
geos::noding::snapround::HotPixel | Implements a "hot pixel" as used in the Snap Rounding algorithm
geos::util::IllegalArgumentException | Indicates one or more legal arguments
geos::algorithm::InteriorPointArea | Computes a point in the interior of an area geometry
geos::algorithm::InteriorPointLine | Computes a point in the interior of an linear geometry
geos::algorithm::InteriorPointPoint | Computes a point in the interior of an point geometry
geos::noding::IntersectionAdder |
geos::noding::IntersectionFinderAdder | Finds proper and interior intersections in a set of SegmentStrings, and adds them as nodes
geos::geom::IntersectionMatrix | Implementation of Dimensionally Extended Nine-Intersection Model (DE-9IM) matrix
geos::index::bintree::Interval | Represents an (1-dimensional) closed interval on the Real number line
geos::index::strtree::Interval | A contiguous portion of 1D-space. Used internally by SIRtree
geos::index::quadtree::IntervalSize | Provides a test for whether an interval is so small it should be considered as zero for the purposes of inserting it into a binary tree
geos::operation::IsSimpleOp | Tests whether a Geometry is simple
geos::operation::valid::IsValidOp | Implements the algorithsm required to compute the `isValid()` method for Geometrys
geos::index::strtree::ItemBoundable | Boundable wrapper for a non-Boundable spatial object. Used internally by AbstractSTRtree
geos::index::ItemVisitor | A visitor for items in an index
geos::noding::IteratedNoder |
geos::index::bintree::Key | A Key is a unique identifier for a node in a tree
geos::index::quadtree::Key | A Key is a unique identifier for a node in a quadtree
geos::geomgraph::Label | A `Label` indicates the topological relationship of a component of a topology graph to a given `Geometry`. This class supports labels for relationships to two `Geometry`s, which is sufficient for algorithms for binary operations
geos::geom::util::LinearComponentExtracter |
geos::geom::LinearRing | Basic implementation of `LinearRing`
geos::operation::overlay::LineBuilder | Forms JTS LineStrings out of a the graph of geomgraph::DirectedEdge created by an OverlayOp
geos::algorithm::LineIntersector | A LineIntersector is an algorithm that can both test whether two line segments intersect and compute the intersection point if they do
geos::operation::linemerge::LineMergeDirectedEdge | A planargraph::DirectedEdge of a LineMergeGraph
geos::operation::linemerge::LineMergeEdge | An edge of a LineMergeGraph. The `marked` field indicates whether this Edge has been logically deleted from the graph
geos::operation::linemerge::LineMergeGraph | A planar graph of edges that is analyzed to sew the edges together
geos::operation::linemerge::LineMerger | Sews together a set of fully noded LineStrings
geos::geom::LineSegment |
geos::operation::linemerge::LineSequencer | Builds a sequence from a set of LineStrings so that they are ordered end to end
geos::geom::LineString | Basic implementation of LineString
geos::precision::LineStringSnapper | Snaps the vertices and segments of a LineString to another's vertices. Should improve robustness for overlay operations
geos::geom::Location | Constants representing the location of a point relative to a geometry
geos::operation::overlay::MaximalEdgeRing | A ring of edges which may contain nodes of degree > 2
geos::noding::MCIndexNoder | Nodes a set of SegmentString using a index based on index::chain::MonotoneChain and a index::SpatialIndex
geos::noding::snapround::MCIndexPointSnapper | "Snaps" all SegmentStrings in a SpatialIndex containing MonotoneChains to a given HotPixel
geos::noding::snapround::MCIndexSnapRounder | Uses Snap Rounding to compute a rounded, fully noded arrangement from a set of SegmentString
geos::operation::overlay::MinimalEdgeRing | A ring of Edges with the property that no node has degree greater than 2
geos::algorithm::MinimumDiameter | Computes the minimum diameter of a geom::Geometry
geos::geomgraph::index::MonotoneChain |
geos::index::chain::MonotoneChain | MonotoneChains are a way of partitioning the segments of a linestring to allow for fast searching of intersections
geos::index::chain::MonotoneChainBuilder | A MonotoneChainBuilder implements functions to determine the monotone chains in a sequence of points
geos::index::chain::MonotoneChainOverlapAction |
geos::index::chain::MonotoneChainSelectAction |
geos::geom::MultiLineString | Basic implementation of MultiLineString objects
geos::geom::MultiPoint | Models a collection of Point objects
geos::geom::MultiPolygon | Basic implementation of `MultiPolygon`
geos::index::bintree::Node | A node of a Bintree
geos::index::quadtree::Node | Represents a node of a Quadtree
geos::planargraph::Node | A node in a PlanarGraph is a location where 0 or more Edge meet
geos::index::bintree::NodeBase | The base class for nodes in a Bintree
geos::index::quadtree::NodeBase | The base class for nodes in a Quadtree
geos::planargraph::NodeMap | A map of Node, indexed by the coordinate of the node
geos::noding::Noder | Computes all intersections between segments in a set of SegmentString
geos::noding::NodingValidator |
geos::algorithm::NotRepresentableException | Indicates that a HCoordinate has been computed which is not representable on the Cartesian plane
geos::noding::Octant | Methods for computing and working with octants of the Cartesian plane
geos::operation::buffer::OffsetCurveBuilder | Computes the raw offset curve for a single Geometry component (ring, line or point)
geos::operation::buffer::OffsetCurveSetBuilder | Creates all the raw offset curves for a buffer of a Geometry
geos::operation::buffer::OffsetCurveVertexList | A list of the vertices in a constructed offset curve
geos::operation::overlay::OffsetPointGenerator | Generates points offset from both sides of all segments in a geometry
geos::operation::overlay::OverlayNodeFactory | Creates nodes for use in the geomgraph::PlanarGraph constructed during overlay operations. NOTE: also used by operation::valid
geos::operation::overlay::OverlayOp | Computes the overlay of two Geometry
geos::operation::overlay::overlayOp | OverlayOp::overlayOp Adapter for use with geom::BinaryOp
geos::operation::overlay::OverlayResultValidator | Validates that the result of an overlay operation is geometrically correct within a given tolerance
geos::io::ParseException | Notifies a parsing error
geos::geomgraph::PlanarGraph | Represents a directed graph which is embeddable in a planar surface
geos::planargraph::PlanarGraph | Represents a directed graph which is embeddable in a planar surface
geos::geom::Point | Basic implementation of Point
geos::operation::overlay::PointBuilder | Constructs geom::Point s from the nodes of an overlay graph
geos::geom::util::PointExtracter |
geos::algorithm::PointLocator | Computes the topological relationship (Location) of a single point to a Geometry
geos::geom::Polygon | Represents a linear polygon, which may include holes
geos::operation::overlay::PolygonBuilder | Forms Polygon out of a graph of geomgraph::DirectedEdge
geos::geom::util::PolygonExtracter |
geos::operation::polygonize::PolygonizeDirectedEdge | A DirectedEdge of a PolygonizeGraph, which represents an edge of a polygon formed by the graph
geos::operation::polygonize::PolygonizeGraph | Represents a planar graph of edges that can be used to compute a polygonization, and implements the algorithms to compute the EdgeRings formed by the graph
geos::operation::polygonize::Polygonizer | Polygonizes a set of Geometrys which contain linework that represents the edges of a planar graph
geos::geom::PrecisionModel | Specifies the precision model of the Coordinate in a Geometry
geos::geomgraph::Quadrant |
geos::index::quadtree::Quadtree | A Quadtree is a spatial index structure for efficient querying of 2D rectangles. If other kinds of spatial objects need to be indexed they can be represented by their envelopes
geos::operation::valid::QuadtreeNestedRingTester | Tests whether any of a set of LinearRings are nested inside another ring in the set, using a Quadtree index to speed up the comparisons
geos::operation::predicate::RectangleContains | Optimized implementation of spatial predicate "contains" for cases where the first Geometry is a rectangle
geos::operation::predicate::RectangleIntersects | Optimized implementation of spatial predicate "intersects" for cases where the first Geometry is a rectangle
geos::operation::relate::RelateComputer | Computes the topological relationship between two Geometries
geos::operation::relate::RelateNode | Represents a node in the topological graph used to compute spatial relationships
geos::operation::relate::RelateNodeFactory | Used by the geomgraph::NodeMap in a RelateNodeGraph to create RelateNode objects
geos::operation::relate::RelateNodeGraph | Implements the simple graph of Nodes and geomgraph::EdgeEnd which is all that is required to determine topological relationships between Geometries
geos::operation::relate::RelateOp | Implements the relate() operation on Geometry
geos::operation::valid::RepeatedPointTester | Implements the appropriate checks for repeated points (consecutive identical coordinates) as defined in the JTS spec
geos::operation::buffer::RightmostEdgeFinder | A RightmostEdgeFinder find the geomgraph::DirectedEdge in a list which has the highest coordinate, and which is oriented L to R at that point. (I.e. the right side is on the RHS of the edge.)
geos::index::quadtree::Root | QuadRoot is the root of a single Quadtree. It is centred at the origin, and does not have a defined extent
geos::index::bintree::Root | The root node of a single Bintree
geos::noding::ScaledNoder | Wraps a Noder and transforms its input into the integer domain
geos::operation::predicate::SegmentIntersectionTester | Tests if any line segments in two sets of CoordinateSequences intersect. Optimized for small geometry size
geos::noding::SegmentIntersector | Processes possible intersections detected by a Noder
geos::noding::SegmentNode | Represents an intersection point between two SegmentString
geos::noding::SegmentNodeList | A list of the SegmentNode present along a noded SegmentString
geos::noding::SegmentString | Represents a list of contiguous line segments, and supports noding the segments
geos::geom::util::ShortCircuitedGeometryVisitor | A visitor to Geometry elements which can be short-circuited by a given condition
geos::precision::SimpleGeometryPrecisionReducer | Reduces the precision of a Geometry according to the supplied PrecisionModel, without attempting to preserve valid topology
geos::geomgraph::index::SimpleMCSweepLineIntersector | Finds all intersections in one or two sets of edges, using an x-axis sweepline algorithm in conjunction with Monotone Chains
geos::operation::valid::SimpleNestedRingTester | Tests whether any of a set of LinearRings are nested inside another ring in the set, using a simple O(n^2) comparison
geos::noding::SimpleNoder | Nodes a set of SegmentStrings by performing a brute-force comparison of every segment to every other one
geos::noding::snapround::SimpleSnapRounder | Uses Snap Rounding to compute a rounded, fully noded arrangement from a set of SegmentStrings
geos::geomgraph::index::SimpleSweepLineIntersector | Finds all intersections in one or two sets of edges, using a simple x-axis sweepline algorithm
geos::noding::SingleInteriorIntersectionFinder | Finds an interior intersection in a set of SegmentString, if one exists. Only the first intersection found is reported
geos::noding::SinglePassNoder |
geos::index::strtree::SIRtree | One-dimensional version of an STR-packed R-tree
geos::index::SpatialIndex | The basic insertion and query operations supported by classes implementing spatial index algorithms
geos::index::strtree::STRtree | A query-only R-tree created using the Sort-Tile-Recursive (STR) algorithm. For two-dimensional spatial data
geos::planargraph::Subgraph | A subgraph of a PlanarGraph
geos::operation::buffer::SubgraphDepthLocater | Locates a subgraph inside a set of subgraphs, in order to determine the outside depth of the subgraph
geos::index::sweepline::SweepLineIndex | A sweepline implements a sorted index on a set of intervals
geos::operation::valid::SweeplineNestedRingTester | Tests whether any of a set of LinearRings are nested inside another ring in the set, using an index::sweepline::SweepLineIndex to speed up the comparisons
geos::simplify::TaggedLineSegment | A geom::LineSegment which is tagged with its location in a geom::Geometry
geos::simplify::TaggedLinesSimplifier | Simplifies a collection of TaggedLineStrings, preserving topology (in the sense that no new intersections are introduced)
geos::simplify::TaggedLineString | Contains and owns a list of TaggedLineSegments
geos::simplify::TaggedLineStringSimplifier | Simplifies a TaggedLineString, preserving topology (in the sense that no new intersections are introduced). Uses the recursive Douglas-Peucker algorithm
geos::util::TopologyException | Indicates an invalid or inconsistent topological situation encountered during processing
geos::geomgraph::TopologyLocation | A TopologyLocation is the labelling of a GraphComponent's topological relationship to a single Geometry
geos::simplify::TopologyPreservingSimplifier | Simplifies a geometry, ensuring that the result is a valid geometry having the same dimension and number of components as the input
geos::operation::valid::TopologyValidationError | Contains information about the nature and location of a Geometry validation error
geos::geom::Triangle | Represents a planar triangle, and provides methods for calculating various properties of triangles
geos::util::UnsupportedOperationException | Indicates that the requested operation is unsopported
geos::io::WKBReader | Reads a Geometry from Well-Known Binary format
geos::io::WKBWriter | Writes a Geometry into Well-Known Binary format
geos::io::WKTReader | WKT parser class; see also WKTWriter
geos::io::WKTWriter | Outputs the textual representation of a Geometry. See also WKTReader