@@ -266,7 +266,7 @@ void QgsMapToolIdentify::identifyVectorLayer( const QgsPoint& point )
266
266
layer->select ( layer->pendingAllAttributesList (), r, true , true );
267
267
QgsFeature f;
268
268
while ( layer->getNextFeature ( f ) )
269
- mFeatureList << QgsFeature (f );
269
+ mFeatureList << QgsFeature ( f );
270
270
271
271
QApplication::restoreOverrideCursor ();
272
272
@@ -334,15 +334,18 @@ void QgsMapToolIdentify::identifyVectorLayer( const QgsPoint& point )
334
334
double dist = calc.measure ( f_it->geometry () );
335
335
QString str = calc.textUnit ( dist, 3 , mCanvas ->mapUnits (), false );
336
336
mResults ->addDerivedAttribute ( featureNode, QObject::tr ( " Length" ), str );
337
- // Add the start and end points in as derived attributes
338
- str.setNum ( f_it->geometry ()->asPolyline ().first ().x (), ' g' , 10 );
339
- mResults ->addDerivedAttribute ( featureNode, " startX" , str );
340
- str.setNum ( f_it->geometry ()->asPolyline ().first ().y (), ' g' , 10 );
341
- mResults ->addDerivedAttribute ( featureNode, " startY" , str );
342
- str.setNum ( f_it->geometry ()->asPolyline ().last ().x (), ' g' , 10 );
343
- mResults ->addDerivedAttribute ( featureNode, " endX" , str );
344
- str.setNum ( f_it->geometry ()->asPolyline ().last ().y (), ' g' , 10 );
345
- mResults ->addDerivedAttribute ( featureNode, " endY" , str );
337
+ if ( f_it->geometry ()->wkbType () == QGis::WKBLineString )
338
+ {
339
+ // Add the start and end points in as derived attributes
340
+ str.setNum ( f_it->geometry ()->asPolyline ().first ().x (), ' g' , 10 );
341
+ mResults ->addDerivedAttribute ( featureNode, " startX" , str );
342
+ str.setNum ( f_it->geometry ()->asPolyline ().first ().y (), ' g' , 10 );
343
+ mResults ->addDerivedAttribute ( featureNode, " startY" , str );
344
+ str.setNum ( f_it->geometry ()->asPolyline ().last ().x (), ' g' , 10 );
345
+ mResults ->addDerivedAttribute ( featureNode, " endX" , str );
346
+ str.setNum ( f_it->geometry ()->asPolyline ().last ().y (), ' g' , 10 );
347
+ mResults ->addDerivedAttribute ( featureNode, " endY" , str );
348
+ }
346
349
}
347
350
else if ( layer->vectorType () == QGis::Polygon )
348
351
{
0 commit comments