Quantum GIS API Documentation
1.7.5-Wroclaw
|
A convenience class for writing vector files to disk. More...
#include <qgsvectorfilewriter.h>
Public Types | |
enum | WriterError { NoError = 0, ErrDriverNotFound, ErrCreateDataSource, ErrCreateLayer, ErrAttributeTypeUnsupported, ErrAttributeCreationFailed, ErrProjection, ErrFeatureWriteFailed } |
Public Member Functions | |
QgsVectorFileWriter (const QString &vectorFileName, const QString &fileEncoding, const QgsFieldMap &fields, QGis::WkbType geometryType, const QgsCoordinateReferenceSystem *srs, const QString &driverName="ESRI Shapefile", const QStringList &datasourceOptions=QStringList(), const QStringList &layerOptions=QStringList()) | |
create shapefile and initialize it | |
WriterError | hasError () |
checks whether there were any errors in constructor | |
QString | errorMessage () |
retrieves error message | |
bool | addFeature (QgsFeature &feature) |
add feature to the currently opened shapefile | |
~QgsVectorFileWriter () | |
close opened shapefile for writing |
Static Public Member Functions | |
static Q_DECL_DEPRECATED WriterError | writeAsShapefile (QgsVectorLayer *layer, const QString &shapefileName, const QString &fileEncoding, const QgsCoordinateReferenceSystem *destCRS, bool onlySelected=false, QString *errorMessage=0, const QStringList &datasourceOptions=QStringList(), const QStringList &layerOptions=QStringList()) |
Write contents of vector layer to a shapefile. | |
static WriterError | writeAsVectorFormat (QgsVectorLayer *layer, const QString &fileName, const QString &fileEncoding, const QgsCoordinateReferenceSystem *destCRS, const QString &driverName="ESRI Shapefile", bool onlySelected=false, QString *errorMessage=0, const QStringList &datasourceOptions=QStringList(), const QStringList &layerOptions=QStringList(), bool skipAttributeCreation=false) |
Write contents of vector layer to an (OGR supported) vector formt. | |
static QMap< QString, QString > | supportedFiltersAndFormats () |
Returns map with format filter string as key and OGR format key as value. | |
static QMap< QString, QString > | ogrDriverList () |
Returns driver list that can be used for dialogs. | |
static QString | fileFilterString () |
Returns filter string that can be used for dialogs. | |
static QString | filterForDriver (const QString &driverName) |
Creates a filter for an OGR driver key. | |
static bool | deleteShapeFile (QString theFileName) |
Delete a shapefile (and its accompanying shx / dbf / prf) |
Protected Member Functions | |
OGRGeometryH | createEmptyGeometry (QGis::WkbType wkbType) |
Protected Attributes | |
OGRDataSourceH | mDS |
OGRLayerH | mLayer |
OGRGeometryH | mGeom |
QgsFieldMap | mFields |
WriterError | mError |
contains error value if construction was not successful | |
QString | mErrorMessage |
QTextCodec * | mCodec |
QGis::WkbType | mWkbType |
geometry type which is being used | |
QMap< int, int > | mAttrIdxToOgrIdx |
map attribute indizes to OGR field indexes |
Static Private Member Functions | |
static bool | driverMetadata (QString driverName, QString &longName, QString &trLongName, QString &glob, QString &ext) |
A convenience class for writing vector files to disk.
There are two possibilities how to use this class:
Currently supports only writing to shapefiles, but shouldn't be a problem to add capability to support other OGR-writable formats.
Definition at line 43 of file qgsvectorfilewriter.h.
NoError | |
ErrDriverNotFound | |
ErrCreateDataSource | |
ErrCreateLayer | |
ErrAttributeTypeUnsupported | |
ErrAttributeCreationFailed | |
ErrProjection | |
ErrFeatureWriteFailed |
Definition at line 47 of file qgsvectorfilewriter.h.
QgsVectorFileWriter::QgsVectorFileWriter | ( | const QString & | vectorFileName, |
const QString & | fileEncoding, | ||
const QgsFieldMap & | fields, | ||
QGis::WkbType | geometryType, | ||
const QgsCoordinateReferenceSystem * | srs, | ||
const QString & | driverName = "ESRI Shapefile" , |
||
const QStringList & | datasourceOptions = QStringList() , |
||
const QStringList & | layerOptions = QStringList() |
||
) |
create shapefile and initialize it
Definition at line 54 of file qgsvectorfilewriter.cpp.
References createEmptyGeometry(), deleteShapeFile(), driverMetadata(), ErrAttributeCreationFailed, ErrAttributeTypeUnsupported, ErrCreateDataSource, ErrCreateLayer, ErrDriverNotFound, QgsField::length(), mAttrIdxToOgrIdx, mCodec, mDS, mError, mErrorMessage, mFields, mGeom, mLayer, mWkbType, QgsField::name(), QgsDebugMsg, QgsApplication::registerOgrDrivers(), TO8, TO8F, QgsCoordinateReferenceSystem::toWkt(), QgsField::type(), and QGis::WKBNoGeometry.
Referenced by writeAsVectorFormat().
QgsVectorFileWriter::~QgsVectorFileWriter | ( | ) |
close opened shapefile for writing
Definition at line 542 of file qgsvectorfilewriter.cpp.
bool QgsVectorFileWriter::addFeature | ( | QgsFeature & | feature | ) |
add feature to the currently opened shapefile
Definition at line 406 of file qgsvectorfilewriter.cpp.
References QgsGeometry::asWkb(), QgsFeature::attributeMap(), createEmptyGeometry(), ErrFeatureWriteFailed, QgsFeature::geometry(), QgsFeature::id(), mAttrIdxToOgrIdx, mCodec, mError, mErrorMessage, mFields, mGeom, mLayer, mWkbType, QgsDebugMsg, QGis::WKBNoGeometry, QgsGeometry::wkbSize(), and QgsGeometry::wkbType().
Referenced by QgsGeometryAnalyzer::bufferFeature(), QgsGeometryAnalyzer::centroidFeature(), QgsOverlayAnalyzer::intersectFeature(), QgsGeometryAnalyzer::simplifyFeature(), and writeAsVectorFormat().
|
protected |
Definition at line 390 of file qgsvectorfilewriter.cpp.
Referenced by addFeature(), and QgsVectorFileWriter().
|
static |
Delete a shapefile (and its accompanying shx / dbf / prf)
theFileName | /path/to/file.shp |
Definition at line 713 of file qgsvectorfilewriter.cpp.
References QgsDebugMsg.
Referenced by QgsVectorFileWriter().
|
staticprivate |
Definition at line 822 of file qgsvectorfilewriter.cpp.
Referenced by filterForDriver(), ogrDriverList(), and QgsVectorFileWriter().
QString QgsVectorFileWriter::errorMessage | ( | ) |
retrieves error message
Definition at line 401 of file qgsvectorfilewriter.cpp.
References mErrorMessage.
Referenced by writeAsVectorFormat().
|
static |
Returns filter string that can be used for dialogs.
Definition at line 795 of file qgsvectorfilewriter.cpp.
References supportedFiltersAndFormats().
|
static |
Creates a filter for an OGR driver key.
Definition at line 810 of file qgsvectorfilewriter.cpp.
References driverMetadata().
Referenced by supportedFiltersAndFormats().
QgsVectorFileWriter::WriterError QgsVectorFileWriter::hasError | ( | ) |
checks whether there were any errors in constructor
Definition at line 396 of file qgsvectorfilewriter.cpp.
References mError.
Referenced by writeAsVectorFormat().
|
static |
Returns driver list that can be used for dialogs.
Definition at line 765 of file qgsvectorfilewriter.cpp.
References driverMetadata(), and QgsApplication::registerOgrDrivers().
|
static |
Returns map with format filter string as key and OGR format key as value.
Definition at line 738 of file qgsvectorfilewriter.cpp.
References filterForDriver(), and QgsApplication::registerOgrDrivers().
Referenced by fileFilterString().
|
static |
Write contents of vector layer to a shapefile.
Definition at line 559 of file qgsvectorfilewriter.cpp.
References writeAsVectorFormat().
|
static |
Write contents of vector layer to an (OGR supported) vector formt.
Definition at line 572 of file qgsvectorfilewriter.cpp.
References addFeature(), QgsFeature::clearAttributeMap(), QgsMapLayer::crs(), ErrFeatureWriteFailed, errorMessage(), ErrProjection, QgsFeature::geometry(), hasError(), QgsFeature::id(), QgsCoordinateReferenceSystem::isValid(), QgsVectorLayer::nextFeature(), NoError, QgsVectorLayer::pendingAllAttributesList(), QgsVectorLayer::pendingFields(), QgsVectorFileWriter(), QgsVectorLayer::select(), QgsVectorLayer::selectedFeaturesIds(), QgsGeometry::transform(), QgsFeature::typeName(), QgsLogger::warning(), QgsException::what(), QGis::WKBNoGeometry, and QgsVectorLayer::wkbType().
Referenced by writeAsShapefile().
|
protected |
map attribute indizes to OGR field indexes
Definition at line 148 of file qgsvectorfilewriter.h.
Referenced by addFeature(), and QgsVectorFileWriter().
|
protected |
Definition at line 142 of file qgsvectorfilewriter.h.
Referenced by addFeature(), and QgsVectorFileWriter().
|
protected |
Definition at line 132 of file qgsvectorfilewriter.h.
Referenced by QgsVectorFileWriter(), and ~QgsVectorFileWriter().
|
protected |
contains error value if construction was not successful
Definition at line 139 of file qgsvectorfilewriter.h.
Referenced by addFeature(), hasError(), and QgsVectorFileWriter().
|
protected |
Definition at line 140 of file qgsvectorfilewriter.h.
Referenced by addFeature(), errorMessage(), and QgsVectorFileWriter().
|
protected |
Definition at line 136 of file qgsvectorfilewriter.h.
Referenced by addFeature(), and QgsVectorFileWriter().
|
protected |
Definition at line 134 of file qgsvectorfilewriter.h.
Referenced by addFeature(), QgsVectorFileWriter(), and ~QgsVectorFileWriter().
|
protected |
Definition at line 133 of file qgsvectorfilewriter.h.
Referenced by addFeature(), and QgsVectorFileWriter().
|
protected |
geometry type which is being used
Definition at line 145 of file qgsvectorfilewriter.h.
Referenced by addFeature(), and QgsVectorFileWriter().