OGR
|
#include <ogr_geometry.h>
Public Member Functions | |
OGRMultiPolygon () | |
Create an empty multi polygon collection. | |
OGRMultiPolygon (const OGRMultiPolygon &other) | |
Copy constructor. More... | |
OGRMultiPolygon & | operator= (const OGRMultiPolygon &other) |
Assignment operator. More... | |
virtual const char * | getGeometryName () const CPL_OVERRIDE |
Fetch WKT name for geometry type. More... | |
virtual OGRwkbGeometryType | getGeometryType () const CPL_OVERRIDE |
Fetch geometry type. More... | |
virtual OGRErr | exportToWkt (char **, OGRwkbVariant=wkbVariantOldOgc) const CPL_OVERRIDE |
Convert a geometry into well known text format. More... | |
virtual OGRErr | PointOnSurface (OGRPoint *poPoint) const CPL_OVERRIDE |
This method relates to the SFCOM IMultiSurface::get_PointOnSurface() method. More... | |
virtual OGRBoolean | hasCurveGeometry (int bLookForNonLinear=FALSE) const CPL_OVERRIDE |
Returns if this geometry is or has curve geometry. More... | |
![]() | |
OGRMultiSurface () | |
Create an empty multi surface collection. | |
OGRMultiSurface (const OGRMultiSurface &other) | |
Copy constructor. More... | |
OGRMultiSurface & | operator= (const OGRMultiSurface &other) |
Assignment operator. More... | |
virtual OGRErr | importFromWkt (char **) CPL_OVERRIDE |
Assign geometry from well known text data. More... | |
virtual int | getDimension () const CPL_OVERRIDE |
Get the dimension of this object. More... | |
![]() | |
OGRGeometryCollection () | |
Create an empty geometry collection. | |
OGRGeometryCollection (const OGRGeometryCollection &other) | |
Copy constructor. More... | |
OGRGeometryCollection & | operator= (const OGRGeometryCollection &other) |
Assignment operator. More... | |
virtual OGRGeometry * | clone () const CPL_OVERRIDE |
Make a copy of this object. More... | |
virtual void | empty () CPL_OVERRIDE |
Clear geometry information. This restores the geometry to it's initial state after construction, and before assignment of actual geometry. More... | |
virtual OGRErr | transform (OGRCoordinateTransformation *poCT) CPL_OVERRIDE |
Apply arbitrary coordinate transformation to geometry. More... | |
virtual void | flattenTo2D () CPL_OVERRIDE |
Convert geometry to strictly 2D. In a sense this converts all Z coordinates to 0.0. More... | |
virtual OGRBoolean | IsEmpty () const CPL_OVERRIDE |
Returns TRUE (non-zero) if the object has no points. More... | |
virtual void | segmentize (double dfMaxLength) CPL_OVERRIDE |
Modify the geometry such it has no segment longer then the given distance. More... | |
virtual OGRGeometry * | getCurveGeometry (const char *const *papszOptions=NULL) const CPL_OVERRIDE |
Return curve version of this geometry. More... | |
virtual OGRGeometry * | getLinearGeometry (double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=NULL) const CPL_OVERRIDE |
Return, possibly approximate, non-curve version of this geometry. More... | |
virtual int | WkbSize () const CPL_OVERRIDE |
Returns size of related binary representation. More... | |
virtual OGRErr | importFromWkb (unsigned char *, int=-1, OGRwkbVariant=wkbVariantOldOgc) CPL_OVERRIDE |
Assign geometry from well known binary data. More... | |
virtual OGRErr | exportToWkb (OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc) const CPL_OVERRIDE |
Convert a geometry into well known binary format. More... | |
virtual double | get_Length () const |
Compute the length of a multicurve. More... | |
virtual double | get_Area () const |
Compute area of geometry collection. More... | |
virtual void | getEnvelope (OGREnvelope *psEnvelope) const CPL_OVERRIDE |
Computes and returns the bounding envelope for this geometry in the passed psEnvelope structure. More... | |
virtual void | getEnvelope (OGREnvelope3D *psEnvelope) const CPL_OVERRIDE |
Computes and returns the bounding envelope (3D) for this geometry in the passed psEnvelope structure. More... | |
int | getNumGeometries () const |
Fetch number of geometries in container. More... | |
OGRGeometry * | getGeometryRef (int) |
Fetch geometry from container. More... | |
const OGRGeometry * | getGeometryRef (int) const |
Fetch geometry from container. More... | |
virtual OGRBoolean | Equals (OGRGeometry *) const CPL_OVERRIDE |
Returns TRUE if two geometries are equivalent. More... | |
virtual void | setCoordinateDimension (int nDimension) CPL_OVERRIDE |
Set the coordinate dimension. More... | |
virtual void | set3D (OGRBoolean bIs3D) CPL_OVERRIDE |
Add or remove the Z coordinate dimension. More... | |
virtual void | setMeasured (OGRBoolean bIsMeasured) CPL_OVERRIDE |
Add or remove the M coordinate dimension. More... | |
virtual OGRErr | addGeometry (const OGRGeometry *) |
Add a geometry to the container. More... | |
virtual OGRErr | addGeometryDirectly (OGRGeometry *) |
Add a geometry directly to the container. More... | |
virtual OGRErr | removeGeometry (int iIndex, int bDelete=TRUE) |
Remove a geometry from the container. More... | |
void | closeRings () CPL_OVERRIDE |
Force rings to be closed. More... | |
virtual void | swapXY () CPL_OVERRIDE |
Swap x and y coordinates. More... | |
![]() | |
OGRGeometry (const OGRGeometry &other) | |
Copy constructor. More... | |
OGRGeometry & | operator= (const OGRGeometry &other) |
Assignment operator. More... | |
virtual int | getCoordinateDimension () const |
Get the dimension of the coordinates in this object. More... | |
int | CoordinateDimension () const |
Get the dimension of the coordinates in this object. More... | |
virtual OGRBoolean | IsValid () const |
Test if the geometry is valid. More... | |
virtual OGRBoolean | IsSimple () const |
Test if the geometry is simple. More... | |
OGRBoolean | Is3D () const |
OGRBoolean | IsMeasured () const |
virtual OGRBoolean | IsRing () const |
Test if the geometry is a ring. More... | |
OGRwkbGeometryType | getIsoGeometryType () const |
Get the geometry type that conforms with ISO SQL/MM Part3. More... | |
virtual void | dumpReadable (FILE *, const char *=NULL, char **papszOptions=NULL) const |
Dump geometry in well known text format to indicated output file. More... | |
virtual char * | exportToGML (const char *const *papszOptions=NULL) const |
Convert a geometry into GML format. More... | |
virtual char * | exportToKML () const |
Convert a geometry into KML format. More... | |
virtual char * | exportToJson () const |
Convert a geometry into GeoJSON format. More... | |
virtual GEOSGeom | exportToGEOS (GEOSContextHandle_t hGEOSCtxt) const CPL_WARN_UNUSED_RESULT |
void | assignSpatialReference (OGRSpatialReference *poSR) |
Assign spatial reference to this object. More... | |
OGRSpatialReference * | getSpatialReference (void) const |
Returns spatial reference system for object. More... | |
OGRErr | transformTo (OGRSpatialReference *poSR) |
Transform geometry to new spatial reference system. More... | |
virtual OGRBoolean | Intersects (const OGRGeometry *) const |
Do these features intersect? More... | |
virtual OGRBoolean | Disjoint (const OGRGeometry *) const |
Test for disjointness. More... | |
virtual OGRBoolean | Touches (const OGRGeometry *) const |
Test for touching. More... | |
virtual OGRBoolean | Crosses (const OGRGeometry *) const |
Test for crossing. More... | |
virtual OGRBoolean | Within (const OGRGeometry *) const |
Test for containment. More... | |
virtual OGRBoolean | Contains (const OGRGeometry *) const |
Test for containment. More... | |
virtual OGRBoolean | Overlaps (const OGRGeometry *) const |
Test for overlap. More... | |
virtual OGRGeometry * | Boundary () const CPL_WARN_UNUSED_RESULT |
Compute boundary. More... | |
virtual double | Distance (const OGRGeometry *) const |
Compute distance between two geometries. More... | |
virtual OGRGeometry * | ConvexHull () const CPL_WARN_UNUSED_RESULT |
Compute convex hull. More... | |
virtual OGRGeometry * | Buffer (double dfDist, int nQuadSegs=30) const CPL_WARN_UNUSED_RESULT |
Compute buffer of geometry. More... | |
virtual OGRGeometry * | Intersection (const OGRGeometry *) const CPL_WARN_UNUSED_RESULT |
Compute intersection. More... | |
virtual OGRGeometry * | Union (const OGRGeometry *) const CPL_WARN_UNUSED_RESULT |
Compute union. More... | |
virtual OGRGeometry * | UnionCascaded () const CPL_WARN_UNUSED_RESULT |
Compute union using cascading. More... | |
virtual OGRGeometry * | Difference (const OGRGeometry *) const CPL_WARN_UNUSED_RESULT |
Compute difference. More... | |
virtual OGRGeometry * | SymDifference (const OGRGeometry *) const CPL_WARN_UNUSED_RESULT |
Compute symmetric difference. More... | |
virtual OGRErr | Centroid (OGRPoint *poPoint) const |
Compute the geometry centroid. More... | |
virtual OGRGeometry * | Simplify (double dTolerance) const CPL_WARN_UNUSED_RESULT |
Simplify the geometry. More... | |
OGRGeometry * | SimplifyPreserveTopology (double dTolerance) const CPL_WARN_UNUSED_RESULT |
Simplify the geometry while preserving topology. More... | |
virtual OGRGeometry * | DelaunayTriangulation (double dfTolerance, int bOnlyEdges) const CPL_WARN_UNUSED_RESULT |
Return a Delaunay triangulation of the vertices of the geometry. More... | |
virtual OGRGeometry * | Polygonize () const CPL_WARN_UNUSED_RESULT |
Polygonizes a set of sparse edges. More... | |
virtual double | Distance3D (const OGRGeometry *poOtherGeom) const |
Returns the 3D distance between two geometries. More... | |
Static Public Member Functions | |
static OGRMultiSurface * | CastToMultiSurface (OGRMultiPolygon *poMP) |
Cast to multisurface. More... | |
![]() | |
static OGRMultiPolygon * | CastToMultiPolygon (OGRMultiSurface *poMS) |
Cast to multipolygon. More... | |
![]() | |
static OGRGeometryCollection * | CastToGeometryCollection (OGRGeometryCollection *poSrc) |
Cast to geometry collection. More... | |
![]() | |
static GEOSContextHandle_t | createGEOSContext () |
static void | freeGEOSContext (GEOSContextHandle_t hGEOSCtxt) |
Protected Member Functions | |
virtual OGRBoolean | isCompatibleSubType (OGRwkbGeometryType) const CPL_OVERRIDE |
Friends | |
class | OGRPolyhedralSurface |
class | OGRTriangulatedSurface |
A collection of non-overlapping OGRPolygon.
OGRMultiPolygon::OGRMultiPolygon | ( | const OGRMultiPolygon & | other | ) |
Copy constructor.
Note: before GDAL 2.1, only the default implementation of the constructor existed, which could be unsafe to use.
|
static |
Cast to multisurface.
The passed in geometry is consumed and a new one returned .
poMP | the input geometry - ownership is passed to the method. |
References CPLError(), and OGRMultiSurface::OGRMultiSurface().
|
virtual |
Convert a geometry into well known text format.
This method relates to the SFCOM IWks::ExportToWKT() method.
This method is the same as the C function OGR_G_ExportToWkt().
ppszDstText | a text buffer is allocated by the program, and assigned to the passed pointer. After use, *ppszDstText should be freed with CPLFree(). |
eWkbVariant | the specification that must be conformed too :
|
Reimplemented from OGRMultiSurface.
|
virtual |
Fetch WKT name for geometry type.
There is no SFCOM analog to this method.
This method is the same as the C function OGR_G_GetGeometryName().
Reimplemented from OGRMultiSurface.
|
virtual |
Fetch geometry type.
Note that the geometry type may include the 2.5D flag. To get a 2D flattened version of the geometry type apply the wkbFlatten() macro to the return result.
This method is the same as the C function OGR_G_GetGeometryType().
Reimplemented from OGRMultiSurface.
References wkbMultiPolygon, wkbMultiPolygon25D, wkbMultiPolygonM, and wkbMultiPolygonZM.
|
virtual |
Returns if this geometry is or has curve geometry.
Returns if a geometry is, contains or may contain a CIRCULARSTRING, COMPOUNDCURVE, CURVEPOLYGON, MULTICURVE or MULTISURFACE.
If bLookForNonLinear is set to TRUE, it will be actually looked if the geometry or its subgeometries are or contain a non-linear geometry in them. In which case, if the method returns TRUE, it means that getLinearGeometry() would return an approximate version of the geometry. Otherwise, getLinearGeometry() would do a conversion, but with just converting container type, like COMPOUNDCURVE -> LINESTRING, MULTICURVE -> MULTILINESTRING or MULTISURFACE -> MULTIPOLYGON, resulting in a "loss-less" conversion.
This method is the same as the C function OGR_G_HasCurveGeometry().
bLookForNonLinear | set it to TRUE to check if the geometry is or contains a CIRCULARSTRING. |
Reimplemented from OGRMultiSurface.
|
protectedvirtual |
Returns whether a geometry of the specified geometry type can be a member of this collection.
eSubType | type of the potential member |
Reimplemented from OGRMultiSurface.
References wkbFlatten, and wkbPolygon.
OGRMultiPolygon & OGRMultiPolygon::operator= | ( | const OGRMultiPolygon & | other | ) |
Assignment operator.
Note: before GDAL 2.1, only the default implementation of the operator existed, which could be unsafe to use.
References OGRMultiSurface::operator=().
This method relates to the SFCOM IMultiSurface::get_PointOnSurface() method.
NOTE: Only implemented when GEOS included in build.
poPoint | point to be set with an internal point. |
Reimplemented from OGRMultiSurface.