Bug report #9423
QgsGeometry.asMultiPoint() returns wrong values
Status: | Closed | ||
---|---|---|---|
Priority: | Severe/Regression | ||
Assignee: | - | ||
Category: | Vectors | ||
Affected QGIS version: | 2.0.1 | Regression?: | No |
Operating System: | Easy fix?: | No | |
Pull Request or Patch supplied: | No | Resolution: | |
Crashes QGIS or corrupts data: | No | Copied to github as #: | 18017 |
Description
Tested with this code:
>>> geom = QgsGeometry.fromWkt("MULTIPOINT (10 30, 40 20, 30 10, 20 10)") >>> geom.isMultipart() True >>> geom.wkbType() 4 >>> geom.exportToWkt() u'MULTIPOINT(10 30, 40 20, 30 10, 20 10)' >>> geom.asMultiPoint() [(2.07681e-317,2.13236e-314), (7.8611e-304,0), (3.25372e-319,3.48771e-310), (4.27265e-306,0)]
Got wrong values!
In cases of other types, the function returns expected values:
>>> QgsGeometry.fromWkt("POINT (10 30)").asPoint() (10,30) >>> QgsGeometry.fromWkt("LINESTRING (10 10, 20 10, 30 10)").asPolyline() [(10,10), (20,10), (30,10)] >>> QgsGeometry.fromWkt("MULTILINESTRING ((10 10, 20 10, 30 10), (10 30, 20 20, 30 10))").asMultiPolyline() [[(10,10), (20,10), (30,10)], [(10,30), (20,20), (30,10)]] >>> QgsGeometry.fromWkt("POLYGON ((10 10, 20 10, 20 20,10 10))").asPolygon() [[(10,10), (20,10), (20,20), (10,10)]] >>> QgsGeometry.fromWkt("MULTIPOLYGON (((10 10, 20 10, 20 20,10 10)), ((20 20, 30 20, 30 30,20 20)))").asMultiPolygon() [[[(10,10), (20,10), (20,20), (10,10)]], [[(20,20), (30,20), (30,30), (20,20)]]]
With 1.8, returns expected values:
>>> QgsGeometry.fromWkt("MULTIPOINT (10 30, 40 20, 30 10, 20 10)").asMultiPoint() [(10,30), (40,20), (30,10), (20,10)]
So this is a regression.
Associated revisions
fix QgsGeometry::asMultiPoint() (followup 6bbd17c2; fixes #9423)
History
#1 Updated by Minoru Akagi almost 11 years ago
QGIS 2.0.1 also returns correct values. I get wrong results with master version (eaf5725).
#2 Updated by Jürgen Fischer almost 11 years ago
- Status changed from Open to Closed
Fixed in changeset 781e34a5bc690df4c1868bbc1b35cfdda0eb25da.