|
GDAL
|
Concrete representation of a multi-vertex line. More...
#include <ogr_geometry.h>
Public Member Functions | |
| OGRLineString () | |
| Create an empty line string. | |
| OGRLineString (const OGRLineString &other) | |
| Copy constructor. More... | |
| OGRLineString & | operator= (const OGRLineString &other) |
| Assignment operator. More... | |
| virtual OGRLineString * | CurveToLine (double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=NULL) const CPL_OVERRIDE |
| Return a linestring from a curve geometry. More... | |
| virtual OGRGeometry * | getCurveGeometry (const char *const *papszOptions=NULL) const CPL_OVERRIDE |
| Return curve version of this geometry. More... | |
| virtual double | get_Area () const CPL_OVERRIDE |
| Get the area of the (closed) curve. More... | |
| virtual OGRwkbGeometryType | getGeometryType () const CPL_OVERRIDE |
| Fetch geometry type. More... | |
| virtual const char * | getGeometryName () const CPL_OVERRIDE |
| Fetch WKT name for geometry type. More... | |
Public Member Functions inherited from OGRSimpleCurve | |
| OGRSimpleCurve & | operator= (const OGRSimpleCurve &other) |
| Assignment operator. 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 OGRErr | importFromWkt (char **) CPL_OVERRIDE |
| Assign geometry from well known text data. More... | |
| virtual OGRErr | exportToWkt (char **ppszDstText, OGRwkbVariant=wkbVariantOldOgc) const CPL_OVERRIDE |
| Convert a geometry into well known text format. More... | |
| virtual OGRGeometry * | clone () const CPL_OVERRIDE |
| Make a copy of this object. More... | |
| virtual void | empty () CPL_OVERRIDE |
| Clear geometry information. 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... | |
| virtual OGRBoolean | IsEmpty () const CPL_OVERRIDE |
| Returns TRUE (non-zero) if the object has no points. More... | |
| virtual double | get_Length () const CPL_OVERRIDE |
| Returns the length of the curve. More... | |
| virtual void | StartPoint (OGRPoint *) const CPL_OVERRIDE |
| Return the curve start point. More... | |
| virtual void | EndPoint (OGRPoint *) const CPL_OVERRIDE |
| Return the curve end point. More... | |
| virtual void | Value (double, OGRPoint *) const CPL_OVERRIDE |
| Fetch point at given distance along curve. More... | |
| virtual double | Project (const OGRPoint *) const |
| Project point on linestring. More... | |
| virtual OGRLineString * | getSubLine (double, double, int) const |
| Get the portion of linestring. More... | |
| virtual int | getNumPoints () const CPL_OVERRIDE |
| Fetch vertex count. More... | |
| void | getPoint (int, OGRPoint *) const |
| Fetch a point in line string. More... | |
| double | getX (int i) const |
| Get X at vertex. More... | |
| double | getY (int i) const |
| Get Y at vertex. More... | |
| double | getZ (int i) const |
| Get Z at vertex. More... | |
| double | getM (int i) const |
| Get measure at vertex. 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... | |
| void | setNumPoints (int nNewPointCount, int bZeroizeNewContent=TRUE) |
| Set number of points in geometry. More... | |
| void | setPoint (int, OGRPoint *) |
| Set the location of a vertex in line string. More... | |
| void | setPoint (int, double, double) |
| Set the location of a vertex in line string. More... | |
| void | setZ (int, double) |
| Set the Z of a vertex in line string. More... | |
| void | setM (int, double) |
| Set the M of a vertex in line string. More... | |
| void | setPoint (int, double, double, double) |
| Set the location of a vertex in line string. More... | |
| void | setPointM (int, double, double, double) |
| Set the location of a vertex in line string. More... | |
| void | setPoint (int, double, double, double, double) |
| Set the location of a vertex in line string. More... | |
| void | setPoints (int, OGRRawPoint *, double *=NULL) |
| Assign all points in a line string. More... | |
| void | setPointsM (int, OGRRawPoint *, double *) |
| Assign all points in a line string. More... | |
| void | setPoints (int, OGRRawPoint *, double *, double *) |
| Assign all points in a line string. More... | |
| void | setPoints (int, double *padfX, double *padfY, double *padfZIn=NULL) |
| Assign all points in a line string. More... | |
| void | setPointsM (int, double *padfX, double *padfY, double *padfMIn=NULL) |
| Assign all points in a line string. More... | |
| void | setPoints (int, double *padfX, double *padfY, double *padfZIn, double *padfMIn) |
| Assign all points in a line string. More... | |
| void | addPoint (const OGRPoint *) |
| Add a point to a line string. More... | |
| void | addPoint (double, double) |
| Add a point to a line string. More... | |
| void | addPoint (double, double, double) |
| Add a point to a line string. More... | |
| void | addPointM (double, double, double) |
| Add a point to a line string. More... | |
| void | addPoint (double, double, double, double) |
| Add a point to a line string. More... | |
| void | getPoints (OGRRawPoint *, double *=NULL) const |
| Returns all points of line string. More... | |
| void | getPoints (void *pabyX, int nXStride, void *pabyY, int nYStride, void *pabyZ=NULL, int nZStride=0) const |
| Returns all points of line string. More... | |
| void | getPoints (void *pabyX, int nXStride, void *pabyY, int nYStride, void *pabyZ, int nZStride, void *pabyM, int nMStride) const |
| Returns all points of line string. More... | |
| void | addSubLineString (const OGRLineString *, int nStartVertex=0, int nEndVertex=-1) |
| Add a segment of another linestring to this one. More... | |
| void | reversePoints (void) |
| Reverse point order. More... | |
| virtual OGRPointIterator * | getPointIterator () const CPL_OVERRIDE |
| Returns a point iterator over the curve. 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. More... | |
| virtual void | segmentize (double dfMaxLength) CPL_OVERRIDE |
| Modify the geometry such it has no segment longer then the given distance. More... | |
| virtual void | swapXY () CPL_OVERRIDE |
| Swap x and y coordinates. More... | |
Public Member Functions inherited from OGRCurve | |
| virtual int | get_IsClosed () const |
| Return TRUE if curve is closed. More... | |
| virtual int | getDimension () const CPL_OVERRIDE |
| Get the dimension of this object. More... | |
| virtual OGRBoolean | IsConvex () const |
| Returns if a (closed) curve forms a convex shape. 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 |
| Returns a GEOSGeom object corresponding to the geometry. More... | |
| virtual OGRBoolean | hasCurveGeometry (int bLookForNonLinear=FALSE) const |
| Returns if this geometry is or has curve geometry. More... | |
| virtual OGRGeometry * | getLinearGeometry (double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=NULL) const CPL_WARN_UNUSED_RESULT |
| Return, possibly approximate, non-curve version of this geometry. More... | |
| virtual void | closeRings () |
| Force rings to be closed. More... | |
| 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 Protected Member Functions | |
| static OGRLinearRing * | CastToLinearRing (OGRLineString *poLS) |
| Cast to linear ring. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from OGRCurve | |
| static OGRCompoundCurve * | CastToCompoundCurve (OGRCurve *puCurve) |
| Cast to compound curve. More... | |
| static OGRLineString * | CastToLineString (OGRCurve *poCurve) |
| Cast to linestring. More... | |
| static OGRLinearRing * | CastToLinearRing (OGRCurve *poCurve) |
| Cast to linear ring. More... | |
Static Public Member Functions inherited from OGRGeometry | |
| static GEOSContextHandle_t | createGEOSContext () |
| Create a new GEOS context. More... | |
| static void | freeGEOSContext (GEOSContextHandle_t hGEOSCtxt) |
| Destroy a GEOS context. More... | |
Protected Member Functions inherited from OGRSimpleCurve | |
| virtual double | get_LinearArea () const |
| Compute area of ring / closed linestring. More... | |
| OGRSimpleCurve () | |
| Constructor. | |
| OGRSimpleCurve (const OGRSimpleCurve &other) | |
| Copy constructor. More... | |
Protected Member Functions inherited from OGRCurve | |
| virtual int | ContainsPoint (const OGRPoint *p) const |
| Returns if a point is contained in a (closed) curve. More... | |
| virtual double | get_AreaOfCurveSegments () const =0 |
| Get the area of the purely curve portions of a (closed) curve. More... | |
Concrete representation of a multi-vertex line.
Note: for implementation convenience, we make it inherit from OGRSimpleCurve whereas SFSQL and SQL/MM only make it inherits from OGRCurve.
| OGRLineString::OGRLineString | ( | const OGRLineString & | other | ) |
Copy constructor.
Note: before GDAL 2.1, only the default implementation of the constructor existed, which could be unsafe to use.
|
staticprotected |
Cast to linear ring.
The passed in geometry is consumed and a new one returned (or NULL in case of failure)
| poLS | the input geometry - ownership is passed to the method. |
|
virtual |
Return a linestring from a curve geometry.
The returned geometry is a new instance whose ownership belongs to the caller.
If the dfMaxAngleStepSizeDegrees is zero, then a default value will be used. This is currently 4 degrees unless the user has overridden the value with the OGR_ARC_STEPSIZE configuration variable.
This method relates to the ISO SQL/MM Part 3 ICurve::CurveToLine() method.
This function is the same as C function OGR_G_CurveToLine().
| dfMaxAngleStepSizeDegrees | the largest step in degrees along the arc, zero to use the default setting. |
| papszOptions | options as a null-terminated list of strings or NULL. See OGRGeometryFactory::curveToLineString() for valid options. |
Implements OGRCurve.
|
virtual |
Get the area of the (closed) curve.
This method is designed to be used by OGRCurvePolygon::get_Area().
Implements OGRCurve.
|
virtual |
Return curve version of this geometry.
Returns a geometry that has possibly CIRCULARSTRING, COMPOUNDCURVE, CURVEPOLYGON, MULTICURVE or MULTISURFACE in it, by de-approximating curve geometries.
If the geometry has no curve portion, the returned geometry will be a clone of it.
The ownership of the returned geometry belongs to the caller.
The reverse method is OGRGeometry::getLinearGeometry().
This function is the same as C function OGR_G_GetCurveGeometry().
| papszOptions | options as a null-terminated list of strings. Unused for now. Must be set to NULL. |
Reimplemented from OGRGeometry.
|
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().
Implements OGRGeometry.
Reimplemented in OGRLinearRing.
|
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().
Implements OGRGeometry.
| OGRLineString & OGRLineString::operator= | ( | const OGRLineString & | other | ) |
Assignment operator.
Note: before GDAL 2.1, only the default implementation of the operator existed, which could be unsafe to use.
1.8.13.