The following commit has been merged in the master branch:
commit 9f57650eafec1bfa2d66c76e174d0a6b90a0726a
Author: Marco Hugentobler <marco.hugentob...@sourcepole.ch>
Date:   Sun Mar 18 09:13:18 2012 +0100

    Fix for zonal statistics (ticket #4972)

diff --git a/src/analysis/vector/qgszonalstatistics.cpp 
b/src/analysis/vector/qgszonalstatistics.cpp
index 02734a8..d94c6a0 100644
--- a/src/analysis/vector/qgszonalstatistics.cpp
+++ b/src/analysis/vector/qgszonalstatistics.cpp
@@ -109,9 +109,9 @@ int QgsZonalStatistics::calculateStatistics( 
QProgressDialog* p )
 
   //add the new count, sum, mean fields to the provider
   QList<QgsField> newFieldList;
-  QgsField countField( mAttributePrefix + "count", QVariant::Double );
-  QgsField sumField( mAttributePrefix + "sum", QVariant::Double );
-  QgsField meanField( mAttributePrefix + "mean", QVariant::Double );
+  QgsField countField( mAttributePrefix + "count", QVariant::Double, "double 
precision" );
+  QgsField sumField( mAttributePrefix + "sum", QVariant::Double, "double 
precision" );
+  QgsField meanField( mAttributePrefix + "mean", QVariant::Double, "double 
precision" );
   newFieldList.push_back( countField );
   newFieldList.push_back( sumField );
   newFieldList.push_back( meanField );
diff --git a/src/plugins/zonal_statistics/qgszonalstatisticsdialog.cpp 
b/src/plugins/zonal_statistics/qgszonalstatisticsdialog.cpp
index 95c6539..db63971 100644
--- a/src/plugins/zonal_statistics/qgszonalstatisticsdialog.cpp
+++ b/src/plugins/zonal_statistics/qgszonalstatisticsdialog.cpp
@@ -68,7 +68,11 @@ void QgsZonalStatisticsDialog::insertAvailableLayers()
       QgsVectorLayer* vl = dynamic_cast<QgsVectorLayer*>( layer_it.value() );
       if ( vl && vl->geometryType() == QGis::Polygon )
       {
-        mPolygonLayerComboBox->addItem( vl->name(), QVariant( vl->id() ) );
+        QgsVectorDataProvider* provider  = vl->dataProvider();
+        if ( provider->capabilities() & QgsVectorDataProvider::AddAttributes )
+        {
+          mPolygonLayerComboBox->addItem( vl->name(), QVariant( vl->id() ) );
+        }
       }
     }
   }

-- 
The Quantum GIS in Debian project

_______________________________________________
Pkg-grass-devel mailing list
Pkg-grass-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel

Reply via email to