Showing with 27 additions and 3 deletions.
  1. +4 −1 python/plugins/fTools/tools/doGeometry.py
  2. +16 −2 src/core/qgsexpression.cpp
  3. +7 −0 src/core/qgsvectorfilewriter.cpp
5 changes: 4 additions & 1 deletion python/plugins/fTools/tools/doGeometry.py
Original file line number Diff line number Diff line change
Expand Up @@ -974,10 +974,13 @@ def feature_extent( self, ):

def simpleMeasure( self, inGeom, calcType, ellips, crs ):
if inGeom.wkbType() in ( QGis.WKBPoint, QGis.WKBPoint25D ):
pt = QgsPoint()
pt = inGeom.asPoint()
attr1 = pt.x()
attr2 = pt.y()
elif inGeom.wkbType() in ( QGis.WKBMultiPoint, QGis.WKBMultiPoint25D ):
pt = inGeom.asMultiPoint()
attr1 = pt[ 0 ].x()
attr2 = pt[ 0 ].y()
else:
measure = QgsDistanceArea()

Expand Down
18 changes: 16 additions & 2 deletions src/core/qgsexpression.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -333,12 +333,26 @@ static QVariant fcnFeatureId( const QVariantList& , QgsFeature* f, QgsExpression
static QVariant fcnX( const QVariantList& , QgsFeature* f, QgsExpression* )
{
ENSURE_GEOM_TYPE( f, g, QGis::Point );
return g->asPoint().x();
if ( g->isMultipart() )
{
return g->asMultiPoint()[ 0 ].x();
}
else
{
return g->asPoint().x();
}
}
static QVariant fcnY( const QVariantList& , QgsFeature* f, QgsExpression* )
{
ENSURE_GEOM_TYPE( f, g, QGis::Point );
return g->asPoint().y();
if ( g->isMultipart() )
{
return g->asMultiPoint()[ 0 ].y();
}
else
{
return g->asPoint().y();
}
}

static QVariant pointAt( const QVariantList& values, QgsFeature* f, QgsExpression* parent ) // helper function
Expand Down
7 changes: 7 additions & 0 deletions src/core/qgsvectorfilewriter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -977,6 +977,13 @@ bool QgsVectorFileWriter::driverMetadata( QString driverName, QString &longName,
glob = "*.gxt *.txt";
ext = "gxt";
}
else if ( driverName.startsWith( "FileGDB" ) )
{
longName = "ESRI FileGDB";
trLongName = QObject::tr( "ESRI FileGDB" );
glob = "*.gdb";
ext = "gdb";
}
else
{
return false;
Expand Down