GEOS  3.9.1dev
Namespaces | Classes | Typedefs | Enumerations | Functions
geos::geom Namespace Reference

Namespaces

 prep
 Contains classes and interfaces implementing algorithms that optimize the performance of repeated calls to specific geometric operations.
 
 util
 Provides classes that parse and modify Geometry objects.
 

Classes

class  Coordinate
 Coordinate is the lightweight class used to store coordinates. More...
 
class  CoordinateArraySequence
 The default implementation of CoordinateSequence. More...
 
class  CoordinateArraySequenceFactory
 Creates CoordinateSequences internally represented as an array of Coordinates. More...
 
class  CoordinateFilter
 Geometry classes support the concept of applying a coordinate filter to every coordinate in the Geometry. More...
 
struct  CoordinateLessThen
 Strict weak ordering Functor for Coordinate. More...
 
class  CoordinateList
 A list of Coordinates, which may be set to prevent repeated coordinates from occuring in the list. More...
 
class  CoordinateSequence
 The internal representation of a list of coordinates inside a Geometry. More...
 
class  CoordinateSequenceFactory
 A factory to create concrete instances of CoordinateSequences. More...
 
class  CoordinateSequenceFilter
 Interface for classes which provide operations that can be applied to the coordinates in a CoordinateSequence. More...
 
class  DefaultCoordinateSequenceFactory
 
class  Dimension
 
class  Envelope
 An Envelope defines a rectangulare region of the 2D coordinate plane. More...
 
class  FixedSizeCoordinateSequence
 
class  Geometry
 Basic implementation of Geometry, constructed and destructed by GeometryFactory. More...
 
class  GeometryCollection
 Represents a collection of heterogeneous Geometry objects. More...
 
class  GeometryComponentFilter
 
class  GeometryFactory
 Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geometry objects. More...
 
class  GeometryFilter
 Geometry classes support the concept of applying a Geometry filter to the Geometry. More...
 
struct  GeometryGreaterThen
 
struct  GeomPtrPair
 
class  IntersectionMatrix
 Implementation of Dimensionally Extended Nine-Intersection Model (DE-9IM) matrix. More...
 
class  LinearRing
 Models an OGC SFS LinearRing. A LinearRing is a LineString which is both closed and simple. More...
 
class  LineSegment
 
class  LineString
 
struct  LineStringLT
 
class  MultiLineString
 Models a collection of LineStrings. More...
 
class  MultiPoint
 
class  MultiPolygon
 
class  Point
 
class  Polygon
 Represents a linear polygon, which may include holes. More...
 
class  Position
 A Position indicates the position of a Location relative to a graph component (Node, Edge, or Area). More...
 
class  PrecisionModel
 Specifies the precision model of the Coordinate in a Geometry. More...
 
class  Quadrant
 Utility functions for working with quadrants. More...
 
class  Triangle
 Represents a planar triangle, and provides methods for calculating various properties of triangles. More...
 
class  TrianglePredicate
 Algorithms for computing values and predicates associated with triangles. More...
 

Typedefs

typedef CoordinateArraySequence DefaultCoordinateSequence
 This is for backward API compatibility. More...
 
typedef CoordinateArraySequenceFactory DefaultCoordinateSequenceFactory
 This is for backward API compatibility. More...
 

Enumerations

enum  GeometryTypeId {
  GEOS_POINT, GEOS_LINESTRING, GEOS_LINEARRING, GEOS_POLYGON,
  GEOS_MULTIPOINT, GEOS_MULTILINESTRING, GEOS_MULTIPOLYGON, GEOS_GEOMETRYCOLLECTION
}
 Geometry types. More...
 
enum  GeometrySortIndex {
  SORTINDEX_POINT = 0, SORTINDEX_MULTIPOINT = 1, SORTINDEX_LINESTRING = 2, SORTINDEX_LINEARRING = 3,
  SORTINDEX_MULTILINESTRING = 4, SORTINDEX_POLYGON = 5, SORTINDEX_MULTIPOLYGON = 6, SORTINDEX_GEOMETRYCOLLECTION = 7
}
 
enum  Location : char { Location::NONE = (char)(-1), Location::INTERIOR = 0, Location::BOUNDARY = 1, Location::EXTERIOR = 2 }
 Constants representing the location of a point relative to a geometry. More...
 

Functions

bool operator< (const Coordinate &a, const Coordinate &b)
 Strict weak ordering operator for Coordinate. More...
 
std::ostream & operator<< (std::ostream &os, const Coordinate &c)
 Output function. More...
 
bool operator== (const Coordinate &a, const Coordinate &b)
 Equality operator for Coordinate. 2D only. More...
 
bool operator!= (const Coordinate &a, const Coordinate &b)
 Inequality operator for Coordinate. 2D only. More...
 
std::ostream & operator<< (std::ostream &os, const CoordinateList &cl)
 
std::ostream & operator<< (std::ostream &os, const CoordinateSequence &cs)
 
bool operator== (const CoordinateSequence &s1, const CoordinateSequence &s2)
 
bool operator!= (const CoordinateSequence &s1, const CoordinateSequence &s2)
 
std::ostream & operator<< (std::ostream &os, const Envelope &o)
 Output operator. More...
 
bool operator== (const Envelope &a, const Envelope &b)
 Checks if two Envelopes are equal (2D only check) More...
 
std::ostream & operator<< (std::ostream &os, const Geometry &geom)
 Write the Well-known Binary representation of this Geometry as an HEX string to the given output stream. More...
 
std::string geosversion ()
 Return current GEOS version. More...
 
std::string jtsport ()
 Return the version of JTS this GEOS release has been ported from. More...
 
std::unique_ptr< GeometryHeuristicOverlay (const Geometry *g0, const Geometry *g1, int opCode)
 
std::ostream & operator<< (std::ostream &os, const IntersectionMatrix &im)
 
std::ostream & operator<< (std::ostream &o, const LineSegment &l)
 
bool operator== (const LineSegment &a, const LineSegment &b)
 Checks if two LineSegment are equal (2D only check) More...
 
std::ostream & operator<< (std::ostream &os, const Location &loc)
 

Detailed Description

Contains the Geometry interface hierarchy and supporting classes.

The Java Topology Suite (JTS) is a Java API that implements a core set of spatial data operations using an explicit precision model and robust geometric algorithms. JTS is int ended to be used in the development of applications that support the validation, cleaning, integration and querying of spatial datasets.

JTS attempts to implement the OpenGIS Simple Features Specification (SFS) as accurately as possible. In some cases the SFS is unclear or omits a specification; in this case J TS attempts to choose a reasonable and consistent alternative. Differences from and elaborations of the SFS are documented in this specification.

Package Specification

Typedef Documentation

This is for backward API compatibility.

Definition at line 138 of file CoordinateArraySequence.h.

This is for backward API compatibility.

Definition at line 64 of file CoordinateArraySequenceFactory.h.

Enumeration Type Documentation

Enumerator
SORTINDEX_POINT 
SORTINDEX_MULTIPOINT 
SORTINDEX_LINESTRING 
SORTINDEX_LINEARRING 
SORTINDEX_MULTILINESTRING 
SORTINDEX_POLYGON 
SORTINDEX_MULTIPOLYGON 
SORTINDEX_GEOMETRYCOLLECTION 

Definition at line 94 of file Geometry.h.

Geometry types.

Enumerator
GEOS_POINT 

a point

GEOS_LINESTRING 

a linestring

GEOS_LINEARRING 

a linear ring (linestring with 1st point == last point)

GEOS_POLYGON 

a polygon

GEOS_MULTIPOINT 

a collection of points

GEOS_MULTILINESTRING 

a collection of linestrings

GEOS_MULTIPOLYGON 

a collection of polygons

GEOS_GEOMETRYCOLLECTION 

a collection of heterogeneus geometries

Definition at line 75 of file Geometry.h.

enum geos::geom::Location : char
strong

Constants representing the location of a point relative to a geometry.

They can also be thought of as the row or column index of a DE-9IM matrix. For a description of the DE-9IM, see the OpenGIS Simple Features Specification for SQL.

Enumerator
NONE 

Used for uninitialized location values.

INTERIOR 

DE-9IM row index of the interior of the first geometry and column index of the interior of the second geometry. Location value for the interior of a geometry.

BOUNDARY 

DE-9IM row index of the boundary of the first geometry and column index of the boundary of the second geometry. Location value for the boundary of a geometry.

EXTERIOR 

DE-9IM row index of the exterior of the first geometry and column index of the exterior of the second geometry. Location value for the exterior of a geometry.

Definition at line 34 of file Location.h.

Function Documentation

std::string geos::geom::geosversion ( )

Return current GEOS version.

std::unique_ptr<Geometry> geos::geom::HeuristicOverlay ( const Geometry g0,
const Geometry g1,
int  opCode 
)
std::string geos::geom::jtsport ( )

Return the version of JTS this GEOS release has been ported from.

bool geos::geom::operator!= ( const Coordinate a,
const Coordinate b 
)

Inequality operator for Coordinate. 2D only.

Referenced by geos::geom::CoordinateSequence::applyCoordinateFilter(), and operator<().

Here is the caller graph for this function:

bool geos::geom::operator!= ( const CoordinateSequence s1,
const CoordinateSequence s2 
)
bool geos::geom::operator< ( const Coordinate a,
const Coordinate b 
)
inline

Strict weak ordering operator for Coordinate.

Definition at line 134 of file Coordinate.h.

References GEOS_DLL, operator!=(), operator<<(), and operator==().

Here is the call graph for this function:

std::ostream& geos::geom::operator<< ( std::ostream &  os,
const Envelope o 
)

Output operator.

std::ostream& geos::geom::operator<< ( std::ostream &  os,
const Location loc 
)
std::ostream& geos::geom::operator<< ( std::ostream &  os,
const Coordinate c 
)
std::ostream& geos::geom::operator<< ( std::ostream &  os,
const CoordinateList cl 
)
inline

Definition at line 190 of file CoordinateList.h.

References geos::geom::CoordinateList::begin(), and geos::geom::CoordinateList::end().

Here is the call graph for this function:

std::ostream& geos::geom::operator<< ( std::ostream &  os,
const CoordinateSequence cs 
)
std::ostream& geos::geom::operator<< ( std::ostream &  o,
const LineSegment l 
)
std::ostream& geos::geom::operator<< ( std::ostream &  os,
const IntersectionMatrix im 
)
std::ostream& geos::geom::operator<< ( std::ostream &  os,
const Geometry geom 
)

Write the Well-known Binary representation of this Geometry as an HEX string to the given output stream.

bool geos::geom::operator== ( const Coordinate a,
const Coordinate b 
)

Equality operator for Coordinate. 2D only.

Referenced by geos::geom::CoordinateSequence::applyCoordinateFilter(), geos::geom::LineSegment::HashCode::operator()(), operator<(), and geos::noding::OrientedCoordinateArray::OrientedCoordinateArray().

Here is the caller graph for this function:

bool geos::geom::operator== ( const CoordinateSequence s1,
const CoordinateSequence s2 
)
bool geos::geom::operator== ( const LineSegment a,
const LineSegment b 
)

Checks if two LineSegment are equal (2D only check)

bool geos::geom::operator== ( const Envelope a,
const Envelope b 
)

Checks if two Envelopes are equal (2D only check)