Skip to content

Commit d4ec09c

Browse files
committed
Ensure multipoint dimensionality is respected when adding new points
1 parent f153613 commit d4ec09c

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/core/geometry/qgsmultipoint.cpp

+13-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,19 @@ bool QgsMultiPointV2::addGeometry( QgsAbstractGeometry *g )
123123
delete g;
124124
return false;
125125
}
126-
setZMTypeFromSubGeometry( g, QgsWkbTypes::MultiPoint );
126+
if ( mGeometries.empty() )
127+
{
128+
setZMTypeFromSubGeometry( g, QgsWkbTypes::MultiPoint );
129+
}
130+
if ( is3D() && !g->is3D() )
131+
g->addZValue();
132+
else if ( !is3D() && g->is3D() )
133+
g->dropZValue();
134+
if ( isMeasure() && !g->isMeasure() )
135+
g->addMValue();
136+
else if ( !isMeasure() && g->isMeasure() )
137+
g->dropMValue();
138+
127139
return QgsGeometryCollection::addGeometry( g );
128140
}
129141

0 commit comments

Comments
 (0)