Bug report #1325

Multipoint layer problems - zoom to selection doesn't work; layer extent has wild values on editing

Added by Steven Mizuno about 12 years ago. Updated over 11 years ago.

Status:Closed
Priority:Low
Assignee:nobody -
Category:Vectors
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

Description

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.

patch_for_1325.txt Magnifier - fix multipoint extent problem (591 Bytes) Steven Mizuno, 2008-12-07 08:53 AM

History

#1 Updated by Steven Mizuno almost 12 years ago

I provide a patch for QgsGeometry to fix the above problems.

The details:

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.

#2 Updated by Marco Hugentobler almost 12 years ago

Applied in d367081e (SVN r9754). thanks!
Still it would be good to implement the delete vertex method for multipoints.

#3 Updated by Giovanni Manghi over 11 years ago

If the patch has already been applied can we close this ticket?

#4 Updated by Steven Mizuno over 11 years ago

  • Resolution set to fixed
  • Status changed from Open to Closed

Yes, as the reported problem has been fixed.

Also available in: Atom PDF