Bug report #1325
Multipoint layer problems - zoom to selection doesn't work; layer extent has wild values on editing
|Affected QGIS version:||Regression?:||No|
|Operating System:||All||Easy fix?:||No|
|Pull Request or Patch supplied:||Resolution:||fixed|
|Crashes QGIS or corrupts data:||Copied to github as #:||11385|
Vector layers of type Multipoint have the following problems:
1. Zoom to selection doesn't do anything.
2. When editing - adding or deleting points - the extent as shown in properties, Metadata goes to some wild values.
This causes zoom to layer extent to zoom to a very small scale, such that the scale bar on the map shows a distance on the order of 1e+200km
The points added are correctly positioned. Reloading the layer fixes the extents display.
some examples of the extents shown in Metadata (layer has a few points over about 1000m):
start: xMin,yMin 499999,5e+06 : xMax,yMax 501001,5.001e+06
add point: xMin,yMin 499999,-1.51934e-93 : Max,yMax2.95439e+202,5.001e+06
xMin,yMin 499999,5e+06 : xMax,yMax 1.09228e+209,1.2796e+156
delete point: xMin,yMin 4.94066e-324,-2 : xMax,yMax 4.94066e-324,2
I have tested with PostGIS and shapefiles.
Expected behaviors: Zoom to selection operates as it does for Points - a single point is displayed at a fairly large scale; multiple points should be displayed over most of the map view.
On add and delete points the extents should reflect the minimum/maximum of the locations of the layer.
#1 Updated by Steven Mizuno about 12 years ago
I provide a patch for QgsGeometry to fix the above problems.
1. have found in boundingBox() that an increment of ptr to the beginning of the point array was missing, so the points retrieved had wild values.
2. and on a cursory inspection of the class I found in deleteVertext() that there is a missing break statement in the WKBMultiPoint case - there is a TODO note, but the case just fell through to the next, potentially causing odd problems.