QgsGeometry* QgsDelimitedTextFeatureIterator::loadGeometryWkt( const QStringList& tokens, bool &isNull ) { QgsGeometry* geom = nullptr; QString sWkt = tokens[mSource->mWktFieldIndex]; if ( sWkt.isEmpty() ) { isNull = true; return nullptr; } isNull = false; geom = QgsDelimitedTextProvider::geomFromWkt( sWkt, mSource->mWktHasPrefix ); if ( geom && geom->type() != mSource->mGeometryType ) { delete geom; geom = nullptr; } if ( geom && ! wantGeometry( geom ) ) { delete geom; geom = nullptr; } return geom; }
QgsGeometry* QgsDelimitedTextFeatureIterator::loadGeometryXY( const QStringList& tokens ) { QString sX = tokens[mSource->mXFieldIndex]; QString sY = tokens[mSource->mYFieldIndex]; QgsPoint pt; bool ok = QgsDelimitedTextProvider::pointFromXY( sX, sY, pt, mSource->mDecimalPoint, mSource->mXyDms ); if ( ok && wantGeometry( pt ) ) { return QgsGeometry::fromPoint( pt ); } return 0; }
QgsGeometry* QgsDelimitedTextFeatureIterator::loadGeometryWkt( const QStringList& tokens ) { QgsGeometry* geom = 0; QString sWkt = tokens[mSource->mWktFieldIndex]; geom = QgsDelimitedTextProvider::geomFromWkt( sWkt, mSource->mWktHasPrefix, mSource->mWktHasZM ); if ( geom && geom->type() != mSource->mGeometryType ) { delete geom; geom = 0; } if ( geom && ! wantGeometry( geom ) ) { delete geom; geom = 0; } return geom; }
QgsGeometry* QgsDelimitedTextFeatureIterator::loadGeometryXY( const QStringList& tokens, bool &isNull ) { QString sX = tokens[mSource->mXFieldIndex]; QString sY = tokens[mSource->mYFieldIndex]; if ( sX.isEmpty() && sY.isEmpty() ) { isNull = true; return nullptr; } isNull = false; QgsPoint pt; bool ok = QgsDelimitedTextProvider::pointFromXY( sX, sY, pt, mSource->mDecimalPoint, mSource->mXyDms ); if ( ok && wantGeometry( pt ) ) { return QgsGeometry::fromPoint( pt ); } return nullptr; }