GDAL

- Main Page
- Related Pages
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
OGRMultiPolygon Class Reference

A collection of non-overlapping OGRPolygon. More...

`#include <ogr_geometry.h>`

Inheritance diagram for OGRMultiPolygon:

## 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
| Fetch WKT name for geometry type. More...
virtual OGRwkbGeometryType | getGeometryType () const
| Fetch geometry type. More...
virtual OGRErr | exportToWkt (char **, OGRwkbVariant=wkbVariantOldOgc) const
| Convert a geometry into well known text format. More...
virtual OGRErr | PointOnSurface (OGRPoint *poPoint) const
| This method relates to the SFCOM IMultiSurface::get_PointOnSurface() method. More...
virtual OGRBoolean | hasCurveGeometry (int bLookForNonLinear=FALSE) const
| Returns if this geometry is or has curve geometry. More...
Public Member Functions inherited from OGRMultiSurface
| 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 **)
| Assign geometry from well known text data. More...
virtual int | getDimension () const
| Get the dimension of this object. More...
Public Member Functions inherited from OGRGeometryCollection
| 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
| Make a copy of this object. More...
virtual void | empty ()
| Clear geometry information. More...
virtual OGRErr | transform (OGRCoordinateTransformation *poCT)
| Apply arbitrary coordinate transformation to geometry. More...
virtual void | flattenTo2D ()
| Convert geometry to strictly 2D. More...
virtual OGRBoolean | IsEmpty () const
| Returns TRUE (non-zero) if the object has no points. More...
virtual void | segmentize (double dfMaxLength)
| Modify the geometry such it has no segment longer then the given distance. More...
virtual OGRGeometry * | getCurveGeometry (const char *const *papszOptions=NULL) const
| Return curve version of this geometry. More...
virtual OGRGeometry * | getLinearGeometry (double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=NULL) const
| Return, possibly approximate, non-curve version of this geometry. More...
virtual int | WkbSize () const
| Returns size of related binary representation. More...
virtual OGRErr | importFromWkb (unsigned char *, int=-1, OGRwkbVariant=wkbVariantOldOgc)
| Assign geometry from well known binary data. More...
virtual OGRErr | exportToWkb (OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc) const
| 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
| Computes and returns the bounding envelope for this geometry in the passed psEnvelope structure. More...
virtual void | getEnvelope (OGREnvelope3D *psEnvelope) const
| 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
virtual OGRBoolean | Equals (OGRGeometry *) const
| Returns TRUE if two geometries are equivalent. More...
virtual void | setCoordinateDimension (int nDimension)
| Set the coordinate dimension. More...
virtual void | set3D (OGRBoolean bIs3D)
| Add or remove the Z coordinate dimension. More...
virtual void | setMeasured (OGRBoolean bIsMeasured)
| 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 ()
| Force rings to be closed. More...
virtual void | swapXY ()
| Swap x and y coordinates. More...
Public Member Functions inherited from OGRGeometry
| 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...
OGRBoolean | Intersect (OGRGeometry *) const CPL_WARN_DEPRECATED("Non standard method. Use Intersects() instead")
OGRBoolean | Equal (OGRGeometry *) const CPL_WARN_DEPRECATED("Non standard method. Use Equals() instead")
OGRGeometry * | SymmetricDifference (const OGRGeometry *) const CPL_WARN_DEPRECATED("Non standard method. Use SymDifference() instead")
| Compute symmetric difference (deprecated) More...
OGRGeometry * | getBoundary () const CPL_WARN_DEPRECATED("Non standard method. Use Boundary() instead")
| Compute boundary (deprecated) More...

## Static Public Member Functions
static OGRMultiSurface * | CastToMultiSurface (OGRMultiPolygon *poMP)
| Cast to multisurface. More...
Static Public Member Functions inherited from OGRMultiSurface
static OGRMultiPolygon * | CastToMultiPolygon (OGRMultiSurface *poMS)
| Cast to multipolygon. More...
Static Public Member Functions inherited from OGRGeometry
static GEOSContextHandle_t | createGEOSContext ()
static void | freeGEOSContext (GEOSContextHandle_t hGEOSCtxt)
static OGRGeometry * | CastToIdentity (OGRGeometry *poGeom)
static OGRGeometry * | CastToError (OGRGeometry *poGeom)

## Protected Member Functions
virtual OGRBoolean | isCompatibleSubType (OGRwkbGeometryType) const
Protected Member Functions inherited from OGRGeometryCollection
OGRErr | exportToWktInternal (char **ppszDstText, OGRwkbVariant eWkbVariant, const char *pszSkipPrefix) const
Protected Member Functions inherited from OGRGeometry
OGRErr | importPreambuleFromWkt (char **ppszInput, int *pbHasZ, int *pbHasM, bool *pbIsEmpty)
OGRErr | importCurveCollectionFromWkt (char **ppszInput, int bAllowEmptyComponent, int bAllowLineString, int bAllowCurve, int bAllowCompoundCurve, OGRErr(*pfnAddCurveDirectly)(OGRGeometry *poSelf, OGRCurve *poCurve))
OGRErr | importPreambuleFromWkb (unsigned char *pabyData, int nSize, OGRwkbByteOrder &eByteOrder, OGRwkbVariant eWkbVariant)
OGRErr | importPreambuleOfCollectionFromWkb (unsigned char *pabyData, int &nSize, int &nDataOffset, OGRwkbByteOrder &eByteOrder, int nMinSubGeomSize, int &nGeomCount, OGRwkbVariant eWkbVariant)
OGRErr | PointOnSurfaceInternal (OGRPoint *poPoint) const

## Additional Inherited Members
Static Public Attributes inherited from OGRGeometry
static const unsigned int | OGR_G_NOT_EMPTY_POINT = 0x1
static const unsigned int | OGR_G_3D = 0x2
static const unsigned int | OGR_G_MEASURED = 0x4
static int | bGenerate_DB2_V72_BYTE_ORDER = FALSE
Static Protected Member Functions inherited from OGRGeometryCollection
static OGRGeometryCollection * | TransferMembersAndDestroy (OGRGeometryCollection *poSrc, OGRGeometryCollection *poDst)
Protected Attributes inherited from OGRGeometryCollection
int | nGeomCount
OGRGeometry ** | papoGeoms
Protected Attributes inherited from OGRGeometry
unsigned int | flags

## Detailed Description

A collection of non-overlapping OGRPolygon.

## Constructor & Destructor Documentation

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.

Since
  GDAL 2.1

## Member Function Documentation

OGRMultiSurface * OGRMultiPolygon::CastToMultiSurface | ( | OGRMultiPolygon * | poMP | ) |
| static

Cast to multisurface.

The passed in geometry is consumed and a new one returned .

Parameters

  poMP | the input geometry - ownership is passed to the method.

Returns
  new geometry.

OGRErr OGRMultiPolygon::exportToWkt | ( | char ** | ppszDstText,
|  | OGRwkbVariant | eWkbVariant = `wkbVariantOldOgc`
| ) |  | const
| 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().

Parameters

  ppszDstText | a text buffer is allocated by the program, and assigned to the passed pointer. After use, *ppszDstText should be freed with OGRFree().
  eWkbVariant | the specification that must be conformed too : wbkVariantOgc for old-style 99-402 extended dimension (Z) WKB types wbkVariantIso for SFSQL 1.2 and ISO SQL/MM Part 3

Returns
  Currently OGRERR_NONE is always returned.

Reimplemented from OGRMultiSurface.

const char * OGRMultiPolygon::getGeometryName | ( |  | ) | const
| 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().

Returns
  name used for this geometry type in well known text format. The returned pointer is to a static internal string and should not be modified or freed.

Reimplemented from OGRMultiSurface.

OGRwkbGeometryType OGRMultiPolygon::getGeometryType | ( |  | ) | const
| 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().

Returns
  the geometry type code.

Reimplemented from OGRMultiSurface.

OGRBoolean OGRMultiPolygon::hasCurveGeometry | ( | int | bLookForNonLinear = `FALSE` | ) | const
| 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().

Parameters

  bLookForNonLinear | set it to TRUE to check if the geometry is or contains a CIRCULARSTRING.

Returns
  TRUE if this geometry is or has curve geometry.

Since
  GDAL 2.0

Reimplemented from OGRMultiSurface.

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.

Since
  GDAL 2.1

OGRErr OGRMultiPolygon::PointOnSurface | ( | OGRPoint * | poPoint | ) | const
| virtual

This method relates to the SFCOM IMultiSurface::get_PointOnSurface() method.

NOTE: Only implemented when GEOS included in build.

Parameters

  poPoint | point to be set with an internal point.

Returns
  OGRERR_NONE if it succeeds or OGRERR_FAILURE otherwise.

Reimplemented from OGRMultiSurface.

The documentation for this class was generated from the following files:

- ogr_geometry.h
- ogrmultipolygon.cpp

Generated for GDAL by 1.8.8.