|
QGIS API Documentation
2.14.0-Essen
|
Line string geometry type, with support for z-dimension and m-values. More...
#include <qgslinestringv2.h>

Public Member Functions | |
| QgsLineStringV2 () | |
| ~QgsLineStringV2 () | |
| virtual bool | addMValue (double mValue=0) override |
| Adds a measure to the geometry, initialized to a preset value. More... | |
| void | addToPainterPath (QPainterPath &path) const override |
| Adds a curve to a painter path. More... | |
| void | addVertex (const QgsPointV2 &pt) |
| Adds a new vertex to the end of the line string. More... | |
| virtual bool | addZValue (double zValue=0) override |
| Adds a z-dimension to the geometry, initialized to a preset value. More... | |
| void | append (const QgsLineStringV2 *line) |
| Appends the contents of another line string to the end of this line string. More... | |
| QDomElement | asGML2 (QDomDocument &doc, int precision=17, const QString &ns="gml") const override |
| Returns a GML2 representation of the geometry. More... | |
| QDomElement | asGML3 (QDomDocument &doc, int precision=17, const QString &ns="gml") const override |
| Returns a GML3 representation of the geometry. More... | |
| QString | asJSON (int precision=17) const override |
| Returns a GeoJSON representation of the geometry. More... | |
| QPolygonF | asQPolygonF () const |
| Returns a QPolygonF representing the line string. More... | |
| unsigned char * | asWkb (int &binarySize) const override |
| Returns a WKB representation of the geometry. More... | |
| QString | asWkt (int precision=17) const override |
| Returns a WKT representation of the geometry. More... | |
| virtual QgsPointV2 | centroid () const override |
| Returns the centroid of the geometry. More... | |
| virtual void | clear () override |
| Clears the geometry, ie reset it to a null geometry. More... | |
| virtual QgsLineStringV2 * | clone () const override |
| Clones the geometry by performing a deep copy. More... | |
| void | close () |
| Closes the line string by appending the first point to the end of the line, if it is not already closed. More... | |
| double | closestSegment (const QgsPointV2 &pt, QgsPointV2 &segmentPt, QgsVertexId &vertexAfter, bool *leftOf, double epsilon) const override |
| Searches for the closest segment of the geometry to a given point. More... | |
| bool | convertTo (QgsWKBTypes::Type type) override |
| Converts the geometry to a specified type. More... | |
| virtual QgsLineStringV2 * | curveToLine () const override |
| Returns a new line string geometry corresponding to a segmentized approximation of the curve. More... | |
| virtual bool | deleteVertex (QgsVertexId position) override |
| Deletes a vertex within the geometry. More... | |
| virtual int | dimension () const override |
| Returns the inherent dimension of the geometry. More... | |
| void | draw (QPainter &p) const override |
| Draws the geometry using the specified QPainter. More... | |
| void | drawAsPolygon (QPainter &p) const override |
| Draws the curve as a polygon on the specified QPainter. More... | |
| virtual bool | dropMValue () override |
| Drops any measure values which exist in the geometry. More... | |
| virtual bool | dropZValue () override |
| Drops any z-dimensions which exist in the geometry. More... | |
| virtual QgsPointV2 | endPoint () const override |
| Returns the end point of the curve. More... | |
| virtual bool | fromWkb (QgsConstWkbPtr wkb) override |
| Sets the geometry from a WKB string. More... | |
| virtual bool | fromWkt (const QString &wkt) override |
| Sets the geometry from a WKT string. More... | |
| virtual QString | geometryType () const override |
| Returns a unique string representing the geometry type. More... | |
| virtual bool | insertVertex (QgsVertexId position, const QgsPointV2 &vertex) override |
| Inserts a vertex into the geometry. More... | |
| virtual double | length () const override |
| Returns the length of the geometry. More... | |
| double | mAt (int index) const |
| Returns the m value of the specified node in the line string. More... | |
| virtual bool | moveVertex (QgsVertexId position, const QgsPointV2 &newPos) override |
| Moves a vertex within the geometry. More... | |
| int | numPoints () const override |
| Returns the number of points in the curve. More... | |
| bool | operator!= (const QgsCurveV2 &other) const override |
| bool | operator== (const QgsCurveV2 &other) const override |
| bool | pointAt (int node, QgsPointV2 &point, QgsVertexId::VertexType &type) const override |
| Returns the point and vertex id of a point within the curve. More... | |
| QgsPointV2 | pointN (int i) const |
| Returns the specified point from inside the line string. More... | |
| void | points (QgsPointSequenceV2 &pt) const override |
| Returns a list of points within the curve. More... | |
| virtual QgsLineStringV2 * | reversed () const override |
| Returns a reversed copy of the curve, where the direction of the curve has been flipped. More... | |
| void | setMAt (int index, double m) |
| Sets the m value of the specified node in the line string. More... | |
| void | setPoints (const QgsPointSequenceV2 &points) |
| Resets the line string to match the specified list of points. More... | |
| void | setXAt (int index, double x) |
| Sets the x-coordinate of the specified node in the line string. More... | |
| void | setYAt (int index, double y) |
| Sets the y-coordinate of the specified node in the line string. More... | |
| void | setZAt (int index, double z) |
| Sets the z-coordinate of the specified node in the line string. More... | |
| virtual QgsPointV2 | startPoint () const override |
| Returns the starting point of the curve. More... | |
| void | sumUpArea (double &sum) const override |
| Calculates the area of the curve. More... | |
| void | transform (const QgsCoordinateTransform &ct, QgsCoordinateTransform::TransformDirection d=QgsCoordinateTransform::ForwardTransform) override |
| Transforms the geometry using a coordinate transform. More... | |
| void | transform (const QTransform &t) override |
| Transforms the geometry using a QTransform object. More... | |
| double | vertexAngle (QgsVertexId vertex) const override |
| Returns approximate angle at a vertex. More... | |
| int | wkbSize () const override |
| Returns the size of the WKB representation of the geometry. More... | |
| double | xAt (int index) const |
| Returns the x-coordinate of the specified node in the line string. More... | |
| double | yAt (int index) const |
| Returns the y-coordinate of the specified node in the line string. More... | |
| double | zAt (int index) const |
| Returns the z-coordinate of the specified node in the line string. More... | |
Public Member Functions inherited from QgsCurveV2 | |
| QgsCurveV2 () | |
| virtual | ~QgsCurveV2 () |
| virtual QgsRectangle | boundingBox () const override |
| Returns the minimal bounding box for the geometry. More... | |
| virtual QgsCoordinateSequenceV2 | coordinateSequence () const override |
| Retrieves the sequence of geometries, rings and nodes. More... | |
| virtual bool | isClosed () const |
| Returns true if the curve is closed. More... | |
| virtual bool | isRing () const |
| Returns true if the curve is a ring. More... | |
| virtual bool | nextVertex (QgsVertexId &id, QgsPointV2 &vertex) const override |
| Returns next vertex id and coordinates. More... | |
| virtual int | partCount () const override |
| Returns count of parts contained in the geometry. More... | |
| virtual int | ringCount (int part=0) const override |
| QgsCurveV2 * | segmentize () const override |
| Returns a geometry without curves. More... | |
| virtual QgsPointV2 | vertexAt (QgsVertexId id) const override |
| Returns the point corresponding to a specified vertex id. More... | |
| virtual int | vertexCount (int part=0, int ring=0) const override |
Public Member Functions inherited from QgsAbstractGeometryV2 | |
| QgsAbstractGeometryV2 () | |
| QgsAbstractGeometryV2 (const QgsAbstractGeometryV2 &geom) | |
| virtual | ~QgsAbstractGeometryV2 () |
| virtual double | area () const |
| Returns the area of the geometry. More... | |
| virtual bool | hasCurvedSegments () const |
| Returns true if the geometry contains curved segments. More... | |
| bool | is3D () const |
| Returns true if the geometry is 3D and contains a z-value. More... | |
| bool | isEmpty () const |
| Returns true if the geometry is empty. More... | |
| bool | isMeasure () const |
| Returns true if the geometry contains m values. More... | |
| int | nCoordinates () const |
| Returns the number of nodes contained in the geometry. More... | |
| virtual QgsAbstractGeometryV2 & | operator= (const QgsAbstractGeometryV2 &geom) |
| virtual double | perimeter () const |
| Returns the perimeter of the geometry. More... | |
| QgsWKBTypes::Type | wkbType () const |
| Returns the WKB type of the geometry. More... | |
| QString | wktTypeStr () const |
| Returns the WKT type string of the geometry. More... | |
Protected Member Functions | |
| virtual QgsRectangle | calculateBoundingBox () const override |
| Default calculator for the minimal bounding box for the geometry. More... | |
Protected Member Functions inherited from QgsCurveV2 | |
| virtual void | clearCache () const override |
| Clears any cached parameters associated with the geometry, eg bounding boxes. More... | |
Protected Member Functions inherited from QgsAbstractGeometryV2 | |
| void | setZMTypeFromSubGeometry (const QgsAbstractGeometryV2 *subggeom, QgsWKBTypes::Type baseGeomType) |
| Updates the geometry type based on whether sub geometries contain z or m values. More... | |
Friends | |
| class | QgsPolygonV2 |
Additional Inherited Members | |
Protected Attributes inherited from QgsAbstractGeometryV2 | |
| QgsWKBTypes::Type | mWkbType |
Line string geometry type, with support for z-dimension and m-values.
Definition at line 36 of file qgslinestringv2.h.
| QgsLineStringV2::QgsLineStringV2 | ( | ) |
Definition at line 37 of file qgslinestringv2.cpp.
| QgsLineStringV2::~QgsLineStringV2 | ( | ) |
Definition at line 42 of file qgslinestringv2.cpp.
|
overridevirtual |
Adds a measure to the geometry, initialized to a preset value.
| mValue | initial m-value for all nodes |
Implements QgsAbstractGeometryV2.
Definition at line 961 of file qgslinestringv2.cpp.
|
overridevirtual |
Adds a curve to a painter path.
Implements QgsCurveV2.
Definition at line 552 of file qgslinestringv2.cpp.
| void QgsLineStringV2::addVertex | ( | const QgsPointV2 & | pt | ) |
Adds a new vertex to the end of the line string.
| pt | vertex to add |
Definition at line 712 of file qgslinestringv2.cpp.
|
overridevirtual |
Adds a z-dimension to the geometry, initialized to a preset value.
| zValue | initial z-value for all nodes |
Implements QgsAbstractGeometryV2.
Definition at line 937 of file qgslinestringv2.cpp.
| void QgsLineStringV2::append | ( | const QgsLineStringV2 * | line | ) |
Appends the contents of another line string to the end of this line string.
| line | line to append. Ownership is not transferred. |
Definition at line 463 of file qgslinestringv2.cpp.
|
overridevirtual |
Returns a GML2 representation of the geometry.
| doc | DOM document |
| precision | number of decimal places for coordinates |
| ns | XML namespace |
Implements QgsAbstractGeometryV2.
Definition at line 195 of file qgslinestringv2.cpp.
|
overridevirtual |
Returns a GML3 representation of the geometry.
| doc | DOM document |
| precision | number of decimal places for coordinates |
| ns | XML namespace |
Implements QgsAbstractGeometryV2.
Definition at line 206 of file qgslinestringv2.cpp.
|
overridevirtual |
Returns a GeoJSON representation of the geometry.
| precision | number of decimal places for coordinates |
Implements QgsAbstractGeometryV2.
Definition at line 221 of file qgslinestringv2.cpp.
| QPolygonF QgsLineStringV2::asQPolygonF | ( | ) | const |
Returns a QPolygonF representing the line string.
Definition at line 576 of file qgslinestringv2.cpp.
|
overridevirtual |
Returns a WKB representation of the geometry.
| binarySize | will be set to the size of the returned WKB string |
Implements QgsAbstractGeometryV2.
Definition at line 167 of file qgslinestringv2.cpp.
|
overridevirtual |
Returns a WKT representation of the geometry.
| precision | number of decimal places for coordinates |
Implements QgsAbstractGeometryV2.
Definition at line 186 of file qgslinestringv2.cpp.
|
overrideprotectedvirtual |
Default calculator for the minimal bounding box for the geometry.
Derived classes should override this method if a more efficient bounding box calculation is available.
Reimplemented from QgsAbstractGeometryV2.
Definition at line 116 of file qgslinestringv2.cpp.
|
overridevirtual |
Returns the centroid of the geometry.
Reimplemented from QgsAbstractGeometryV2.
Definition at line 791 of file qgslinestringv2.cpp.
|
overridevirtual |
Clears the geometry, ie reset it to a null geometry.
Implements QgsAbstractGeometryV2.
Definition at line 83 of file qgslinestringv2.cpp.
|
overridevirtual |
Clones the geometry by performing a deep copy.
Implements QgsCurveV2.
Definition at line 78 of file qgslinestringv2.cpp.
| void QgsLineStringV2::close | ( | ) |
Closes the line string by appending the first point to the end of the line, if it is not already closed.
Definition at line 879 of file qgslinestringv2.cpp.
|
overridevirtual |
Searches for the closest segment of the geometry to a given point.
| pt | specifies the point to find closest segment to |
| segmentPt | storage for the closest point within the geometry |
| vertexAfter | storage for the ID of the vertex at the end of the closest segment |
| leftOf | returns whether the point lies on the left side of the nearest segment (true if point is to left of segment, false if point is to right of segment) |
| epsilon | epsilon for segment snapping |
Implements QgsAbstractGeometryV2.
Definition at line 732 of file qgslinestringv2.cpp.
|
overridevirtual |
Converts the geometry to a specified type.
Reimplemented from QgsAbstractGeometryV2.
Definition at line 1014 of file qgslinestringv2.cpp.
|
overridevirtual |
Returns a new line string geometry corresponding to a segmentized approximation of the curve.
Implements QgsCurveV2.
Definition at line 273 of file qgslinestringv2.cpp.
|
overridevirtual |
Deletes a vertex within the geometry.
| position | vertex id for vertex to delete |
Implements QgsAbstractGeometryV2.
Definition at line 679 of file qgslinestringv2.cpp.
|
inlineoverridevirtual |
Returns the inherent dimension of the geometry.
For example, this is 0 for a point geometry, 1 for a linestring and 2 for a polygon.
Implements QgsAbstractGeometryV2.
Definition at line 138 of file qgslinestringv2.h.
|
overridevirtual |
Draws the geometry using the specified QPainter.
| p | destination QPainter |
Implements QgsAbstractGeometryV2.
Definition at line 547 of file qgslinestringv2.cpp.
|
overridevirtual |
Draws the curve as a polygon on the specified QPainter.
| p | destination QPainter |
Implements QgsCurveV2.
Definition at line 571 of file qgslinestringv2.cpp.
|
overridevirtual |
Drops any measure values which exist in the geometry.
Implements QgsAbstractGeometryV2.
Definition at line 1003 of file qgslinestringv2.cpp.
|
overridevirtual |
Drops any z-dimensions which exist in the geometry.
Implements QgsAbstractGeometryV2.
Definition at line 992 of file qgslinestringv2.cpp.
|
overridevirtual |
Returns the end point of the curve.
Implements QgsCurveV2.
Definition at line 258 of file qgslinestringv2.cpp.
|
overridevirtual |
Sets the geometry from a WKB string.
Implements QgsAbstractGeometryV2.
Definition at line 93 of file qgslinestringv2.cpp.
|
overridevirtual |
Sets the geometry from a WKT string.
Implements QgsAbstractGeometryV2.
Definition at line 146 of file qgslinestringv2.cpp.
|
inlineoverridevirtual |
Returns a unique string representing the geometry type.
Implements QgsAbstractGeometryV2.
Definition at line 137 of file qgslinestringv2.h.
|
overridevirtual |
Inserts a vertex into the geometry.
| position | vertex id for position of inserted vertex |
| vertex | vertex to insert |
Implements QgsAbstractGeometryV2.
Definition at line 633 of file qgslinestringv2.cpp.
|
overridevirtual |
Returns the length of the geometry.
Reimplemented from QgsAbstractGeometryV2.
Definition at line 235 of file qgslinestringv2.cpp.
| double QgsLineStringV2::mAt | ( | int | index | ) | const |
Returns the m value of the specified node in the line string.
| index | index of node, where the first node in the line is 0 |
Definition at line 356 of file qgslinestringv2.cpp.
|
overridevirtual |
Moves a vertex within the geometry.
| position | vertex id for vertex to move |
| newPos | new position of vertex |
Implements QgsAbstractGeometryV2.
Definition at line 659 of file qgslinestringv2.cpp.
|
overridevirtual |
Returns the number of points in the curve.
Implements QgsCurveV2.
Definition at line 278 of file qgslinestringv2.cpp.
|
overridevirtual |
Implements QgsCurveV2.
Definition at line 73 of file qgslinestringv2.cpp.
|
overridevirtual |
Implements QgsCurveV2.
Definition at line 45 of file qgslinestringv2.cpp.
|
overridevirtual |
Returns the point and vertex id of a point within the curve.
| node | node number, where the first node is 0 |
| point | will be set to point at corresponding node in the curve |
| type | will be set to the vertex type of the node |
Implements QgsCurveV2.
Definition at line 780 of file qgslinestringv2.cpp.
| QgsPointV2 QgsLineStringV2::pointN | ( | int | i | ) | const |
Returns the specified point from inside the line string.
| i | index of point, starting at 0 for the first point |
Definition at line 283 of file qgslinestringv2.cpp.
|
overridevirtual |
Returns a list of points within the curve.
Implements QgsCurveV2.
Definition at line 396 of file qgslinestringv2.cpp.
|
overridevirtual |
Returns a reversed copy of the curve, where the direction of the curve has been flipped.
Implements QgsCurveV2.
Definition at line 525 of file qgslinestringv2.cpp.
| void QgsLineStringV2::setMAt | ( | int | index, |
| double | m | ||
| ) |
Sets the m value of the specified node in the line string.
| index | index of node, where the first node in the line is 0. Corresponding node must already exist in line string, and the line string must have m values. |
| m | m value of node |
Definition at line 384 of file qgslinestringv2.cpp.
| void QgsLineStringV2::setPoints | ( | const QgsPointSequenceV2 & | points | ) |
Resets the line string to match the specified list of points.
The line string will inherit the dimensionality of the first point in the list.
| points | new points for line string. If empty, line string will be cleared. |
Definition at line 406 of file qgslinestringv2.cpp.
| void QgsLineStringV2::setXAt | ( | int | index, |
| double | x | ||
| ) |
Sets the x-coordinate of the specified node in the line string.
| index | index of node, where the first node in the line is 0. Corresponding node must already exist in line string. |
| x | x-coordinate of node |
Definition at line 364 of file qgslinestringv2.cpp.
| void QgsLineStringV2::setYAt | ( | int | index, |
| double | y | ||
| ) |
Sets the y-coordinate of the specified node in the line string.
| index | index of node, where the first node in the line is 0. Corresponding node must already exist in line string. |
| y | y-coordinate of node |
Definition at line 371 of file qgslinestringv2.cpp.
| void QgsLineStringV2::setZAt | ( | int | index, |
| double | z | ||
| ) |
Sets the z-coordinate of the specified node in the line string.
| index | index of node, where the first node in the line is 0. Corresponding node must already exist in line string, and the line string must have z-dimension. |
| z | z-coordinate of node |
Definition at line 378 of file qgslinestringv2.cpp.
|
overridevirtual |
Returns the starting point of the curve.
Implements QgsCurveV2.
Definition at line 249 of file qgslinestringv2.cpp.
|
overridevirtual |
Calculates the area of the curve.
Derived classes should override this to return the correct area of the curve.
Implements QgsCurveV2.
Definition at line 835 of file qgslinestringv2.cpp.
|
overridevirtual |
Transforms the geometry using a coordinate transform.
| ct | coordinate transform |
| d | transformation direction |
Implements QgsAbstractGeometryV2.
Definition at line 592 of file qgslinestringv2.cpp.
|
overridevirtual |
Transforms the geometry using a QTransform object.
| t | QTransform transformation |
Implements QgsAbstractGeometryV2.
Definition at line 614 of file qgslinestringv2.cpp.
|
overridevirtual |
Returns approximate angle at a vertex.
This is usually the average angle between adjacent segments, and can be pictured as the orientation of a line following the curvature of the geometry at the specified vertex.
| vertex | the vertex id |
Implements QgsAbstractGeometryV2.
Definition at line 888 of file qgslinestringv2.cpp.
|
overridevirtual |
Returns the size of the WKB representation of the geometry.
Implements QgsAbstractGeometryV2.
Definition at line 160 of file qgslinestringv2.cpp.
| double QgsLineStringV2::xAt | ( | int | index | ) | const |
Returns the x-coordinate of the specified node in the line string.
| index | index of node, where the first node in the line is 0 |
Definition at line 332 of file qgslinestringv2.cpp.
| double QgsLineStringV2::yAt | ( | int | index | ) | const |
Returns the y-coordinate of the specified node in the line string.
| index | index of node, where the first node in the line is 0 |
Definition at line 340 of file qgslinestringv2.cpp.
| double QgsLineStringV2::zAt | ( | int | index | ) | const |
Returns the z-coordinate of the specified node in the line string.
| index | index of node, where the first node in the line is 0 |
Definition at line 348 of file qgslinestringv2.cpp.
|
friend |
Definition at line 209 of file qgslinestringv2.h.
1.8.11