Skip to content

Commit a14744c

Browse files
committed
box of a more reasonable size for a single point
1 parent fb5ec3b commit a14744c

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

src/core/qgsvectorlayereditutils.cpp

+14-8
Original file line numberDiff line numberDiff line change
@@ -233,10 +233,13 @@ int QgsVectorLayerEditUtils::splitFeatures( const QList<QgsPoint>& splitLine, bo
233233
else
234234
{
235235
//If we have a single point, we still create a non-null box
236-
bBox.setXMinimum( bBox.xMinimum() - 1 );
237-
bBox.setXMaximum( bBox.xMaximum() + 1 );
238-
bBox.setYMinimum( bBox.yMinimum() - 1 );
239-
bBox.setYMaximum( bBox.yMaximum() + 1 );
236+
double bufferDistance = 0.000001;
237+
if ( L->crs().geographicFlag() )
238+
bufferDistance = 0.00000001;
239+
bBox.setXMinimum( bBox.xMinimum() - bufferDistance );
240+
bBox.setXMaximum( bBox.xMaximum() + bufferDistance );
241+
bBox.setYMinimum( bBox.yMinimum() - bufferDistance );
242+
bBox.setYMaximum( bBox.yMaximum() + bufferDistance );
240243
}
241244
}
242245

@@ -367,10 +370,13 @@ int QgsVectorLayerEditUtils::splitParts( const QList<QgsPoint>& splitLine, bool
367370
else
368371
{
369372
//If we have a single point, we still create a non-null box
370-
bBox.setXMinimum( bBox.xMinimum() - 1 );
371-
bBox.setXMaximum( bBox.xMaximum() + 1 );
372-
bBox.setYMinimum( bBox.yMinimum() - 1 );
373-
bBox.setYMaximum( bBox.yMaximum() + 1 );
373+
double bufferDistance = 0.000001;
374+
if ( L->crs().geographicFlag() )
375+
bufferDistance = 0.00000001;
376+
bBox.setXMinimum( bBox.xMinimum() - bufferDistance );
377+
bBox.setXMaximum( bBox.xMaximum() + bufferDistance );
378+
bBox.setYMinimum( bBox.yMinimum() - bufferDistance );
379+
bBox.setYMaximum( bBox.yMaximum() + bufferDistance );
374380
}
375381
}
376382

0 commit comments

Comments
 (0)