QGIS API Documentation
2.14.0-Essen
|
A convenience class for writing vector files to disk. More...
#include <qgsvectorfilewriter.h>
Classes | |
class | BoolOption |
class | HiddenOption |
class | IntOption |
struct | MetaData |
class | Option |
class | SetOption |
class | StringOption |
Public Types | |
enum | OptionType { Set, String, Int, Hidden } |
enum | SymbologyExport { NoSymbology = 0, FeatureSymbology, SymbolLayerSymbology } |
enum | WriterError { NoError = 0, ErrDriverNotFound, ErrCreateDataSource, ErrCreateLayer, ErrAttributeTypeUnsupported, ErrAttributeCreationFailed, ErrProjection, ErrFeatureWriteFailed, ErrInvalidLayer } |
Public Member Functions | |
QgsVectorFileWriter (const QString &vectorFileName, const QString &fileEncoding, const QgsFields &fields, QGis::WkbType geometryType, const QgsCoordinateReferenceSystem *srs, const QString &driverName="ESRI Shapefile", const QStringList &datasourceOptions=QStringList(), const QStringList &layerOptions=QStringList(), QString *newFilename=nullptr, SymbologyExport symbologyExport=NoSymbology) | |
Create a new vector file writer. More... | |
QgsVectorFileWriter (const QString &vectorFileName, const QString &fileEncoding, const QgsFields &fields, QgsWKBTypes::Type geometryType, const QgsCoordinateReferenceSystem *srs, const QString &driverName="ESRI Shapefile", const QStringList &datasourceOptions=QStringList(), const QStringList &layerOptions=QStringList(), QString *newFilename=nullptr, SymbologyExport symbologyExport=NoSymbology) | |
Create a new vector file writer. More... | |
~QgsVectorFileWriter () | |
Close opened shapefile for writing. More... | |
bool | addFeature (QgsFeature &feature, QgsFeatureRendererV2 *renderer=nullptr, QGis::UnitType outputUnit=QGis::Meters) |
Add feature to the currently opened data source. More... | |
QMap< int, int > | attrIdxToOgrIdx () |
QString | errorMessage () |
Retrieves error message. More... | |
WriterError | hasError () |
Checks whether there were any errors in constructor. More... | |
void | setSymbologyExport (SymbologyExport symExport) |
void | setSymbologyScaleDenominator (double d) |
SymbologyExport | symbologyExport () const |
double | symbologyScaleDenominator () const |
Static Public Member Functions | |
static QString | convertCodecNameForEncodingOption (const QString &codecName) |
Converts codec name to string passed to ENCODING layer creation option of OGR Shapefile. More... | |
static bool | deleteShapeFile (const QString &theFileName) |
Delete a shapefile (and its accompanying shx / dbf / prf) More... | |
static bool | driverMetadata (const QString &driverName, MetaData &driverMetadata) |
static QString | fileFilterString () |
Returns filter string that can be used for dialogs. More... | |
static QString | filterForDriver (const QString &driverName) |
Creates a filter for an OGR driver key. More... | |
static QMap< QString, QString > | ogrDriverList () |
Returns driver list that can be used for dialogs. More... | |
static OGRwkbGeometryType | ogrTypeFromWkbType (QgsWKBTypes::Type type) |
Get the ogr geometry type from an internal QGIS wkb type enum. More... | |
static QMap< QString, QString > | supportedFiltersAndFormats () |
Returns map with format filter string as key and OGR format key as value. More... | |
static WriterError | writeAsVectorFormat (QgsVectorLayer *layer, const QString &fileName, const QString &fileEncoding, const QgsCoordinateReferenceSystem *destCRS, const QString &driverName="ESRI Shapefile", bool onlySelected=false, QString *errorMessage=nullptr, const QStringList &datasourceOptions=QStringList(), const QStringList &layerOptions=QStringList(), bool skipAttributeCreation=false, QString *newFilename=nullptr, SymbologyExport symbologyExport=NoSymbology, double symbologyScale=1.0, const QgsRectangle *filterExtent=nullptr, QgsWKBTypes::Type overrideGeometryType=QgsWKBTypes::Unknown, bool forceMulti=false, bool includeZ=false) |
Write contents of vector layer to an (OGR supported) vector formt. More... | |
static WriterError | writeAsVectorFormat (QgsVectorLayer *layer, const QString &fileName, const QString &fileEncoding, const QgsCoordinateTransform *ct, const QString &driverName="ESRI Shapefile", bool onlySelected=false, QString *errorMessage=nullptr, const QStringList &datasourceOptions=QStringList(), const QStringList &layerOptions=QStringList(), bool skipAttributeCreation=false, QString *newFilename=nullptr, SymbologyExport symbologyExport=NoSymbology, double symbologyScale=1.0, const QgsRectangle *filterExtent=nullptr, QgsWKBTypes::Type overrideGeometryType=QgsWKBTypes::Unknown, bool forceMulti=false, bool includeZ=false) |
Writes a layer out to a vector file. More... | |
Protected Member Functions | |
OGRGeometryH | createEmptyGeometry (QgsWKBTypes::Type wkbType) |
Protected Attributes | |
QMap< int, int > | mAttrIdxToOgrIdx |
Map attribute indizes to OGR field indexes. More... | |
QTextCodec * | mCodec |
OGRDataSourceH | mDS |
WriterError | mError |
Contains error value if construction was not successful. More... | |
QString | mErrorMessage |
QgsFields | mFields |
OGRGeometryH | mGeom |
OGRLayerH | mLayer |
QString | mOgrDriverName |
OGRSpatialReferenceH | mOgrRef |
SymbologyExport | mSymbologyExport |
double | mSymbologyScaleDenominator |
Scale for symbology export (e.g. More... | |
QgsWKBTypes::Type | mWkbType |
Geometry type which is being used. More... | |
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 42 of file qgsvectorfilewriter.h.
Enumerator | |
---|---|
Set | |
String | |
Int | |
Hidden |
Definition at line 45 of file qgsvectorfilewriter.h.
Enumerator | |
---|---|
NoSymbology | |
FeatureSymbology | |
SymbolLayerSymbology |
Definition at line 156 of file qgsvectorfilewriter.h.
Enumerator | |
---|---|
NoError | |
ErrDriverNotFound | |
ErrCreateDataSource | |
ErrCreateLayer | |
ErrAttributeTypeUnsupported | |
ErrAttributeCreationFailed | |
ErrProjection | |
ErrFeatureWriteFailed | |
ErrInvalidLayer |
Definition at line 143 of file qgsvectorfilewriter.h.
QgsVectorFileWriter::QgsVectorFileWriter | ( | const QString & | vectorFileName, |
const QString & | fileEncoding, | ||
const QgsFields & | fields, | ||
QGis::WkbType | geometryType, | ||
const QgsCoordinateReferenceSystem * | srs, | ||
const QString & | driverName = "ESRI Shapefile" , |
||
const QStringList & | datasourceOptions = QStringList() , |
||
const QStringList & | layerOptions = QStringList() , |
||
QString * | newFilename = nullptr , |
||
SymbologyExport | symbologyExport = NoSymbology |
||
) |
Create a new vector file writer.
Definition at line 56 of file qgsvectorfilewriter.cpp.
QgsVectorFileWriter::QgsVectorFileWriter | ( | const QString & | vectorFileName, |
const QString & | fileEncoding, | ||
const QgsFields & | fields, | ||
QgsWKBTypes::Type | geometryType, | ||
const QgsCoordinateReferenceSystem * | srs, | ||
const QString & | driverName = "ESRI Shapefile" , |
||
const QStringList & | datasourceOptions = QStringList() , |
||
const QStringList & | layerOptions = QStringList() , |
||
QString * | newFilename = nullptr , |
||
QgsVectorFileWriter::SymbologyExport | symbologyExport = NoSymbology |
||
) |
Create a new vector file writer.
Definition at line 81 of file qgsvectorfilewriter.cpp.
QgsVectorFileWriter::~QgsVectorFileWriter | ( | ) |
Close opened shapefile for writing.
Definition at line 1959 of file qgsvectorfilewriter.cpp.
bool QgsVectorFileWriter::addFeature | ( | QgsFeature & | feature, |
QgsFeatureRendererV2 * | renderer = nullptr , |
||
QGis::UnitType | outputUnit = QGis::Meters |
||
) |
Add feature to the currently opened data source.
Definition at line 1666 of file qgsvectorfilewriter.cpp.
|
inline |
Definition at line 296 of file qgsvectorfilewriter.h.
Converts codec name to string passed to ENCODING layer creation option of OGR Shapefile.
Definition at line 2425 of file qgsvectorfilewriter.cpp.
|
protected |
Definition at line 531 of file qgsvectorfilewriter.cpp.
|
static |
Delete a shapefile (and its accompanying shx / dbf / prf)
theFileName | /path/to/file.shp |
Definition at line 2267 of file qgsvectorfilewriter.cpp.
|
static |
Definition at line 1625 of file qgsvectorfilewriter.cpp.
QString QgsVectorFileWriter::errorMessage | ( | ) |
Retrieves error message.
Definition at line 1661 of file qgsvectorfilewriter.cpp.
|
static |
Returns filter string that can be used for dialogs.
Definition at line 2398 of file qgsvectorfilewriter.cpp.
Creates a filter for an OGR driver key.
Definition at line 2413 of file qgsvectorfilewriter.cpp.
QgsVectorFileWriter::WriterError QgsVectorFileWriter::hasError | ( | ) |
Checks whether there were any errors in constructor.
Definition at line 1656 of file qgsvectorfilewriter.cpp.
Returns driver list that can be used for dialogs.
It contains all OGR drivers
Definition at line 2326 of file qgsvectorfilewriter.cpp.
|
static |
Get the ogr geometry type from an internal QGIS wkb type enum.
Will drop M values and convert Z to 2.5D where required.
Definition at line 1643 of file qgsvectorfilewriter.cpp.
|
inline |
Definition at line 308 of file qgsvectorfilewriter.h.
void QgsVectorFileWriter::setSymbologyScaleDenominator | ( | double | d | ) |
Definition at line 2293 of file qgsvectorfilewriter.cpp.
Returns map with format filter string as key and OGR format key as value.
Definition at line 2299 of file qgsvectorfilewriter.cpp.
|
inline |
Definition at line 307 of file qgsvectorfilewriter.h.
|
inline |
Definition at line 310 of file qgsvectorfilewriter.h.
|
static |
Write contents of vector layer to an (OGR supported) vector formt.
layer | layer to write |
fileName | file name to write to |
fileEncoding | encoding to use |
destCRS | pointer to CRS to reproject exported geometries to |
driverName | OGR driver to use |
onlySelected | write only selected features of layer |
errorMessage | pointer to buffer fo error message |
datasourceOptions | list of OGR data source creation options |
layerOptions | list of OGR layer creation options |
skipAttributeCreation | only write geometries |
newFilename | QString pointer which will contain the new file name created (in case it is different to fileName). |
symbologyExport | symbology to export |
symbologyScale | scale of symbology |
filterExtent | if not a null pointer, only features intersecting the extent will be saved (added in QGIS 2.4) |
overrideGeometryType | set to a valid geometry type to override the default geometry type for the layer. This parameter allows for conversion of geometryless tables to null geometries, etc (added in QGIS 2.14) |
forceMulti | set to true to force creation of multi* geometries (added in QGIS 2.14) |
includeZ | set to true to include z dimension in output. This option is only valid if overrideGeometryType is set. (added in QGIS 2.14) |
Definition at line 1978 of file qgsvectorfilewriter.cpp.
|
static |
Writes a layer out to a vector file.
layer | layer to write |
fileName | file name to write to |
fileEncoding | encoding to use |
ct | |
driverName | OGR driver to use |
onlySelected | write only selected features of layer |
errorMessage | pointer to buffer fo error message |
datasourceOptions | list of OGR data source creation options |
layerOptions | list of OGR layer creation options |
skipAttributeCreation | only write geometries |
newFilename | QString pointer which will contain the new file name created (in case it is different to fileName). |
symbologyExport | symbology to export |
symbologyScale | scale of symbology |
filterExtent | if not a null pointer, only features intersecting the extent will be saved (added in QGIS 2.4) |
overrideGeometryType | set to a valid geometry type to override the default geometry type for the layer. This parameter allows for conversion of geometryless tables to null geometries, etc (added in QGIS 2.14) |
forceMulti | set to true to force creation of multi* geometries (added in QGIS 2.14) |
includeZ | set to true to include z dimension in output. This option is only valid if overrideGeometryType is set. (added in QGIS 2.14) |
Definition at line 2008 of file qgsvectorfilewriter.cpp.
|
protected |
Map attribute indizes to OGR field indexes.
Definition at line 344 of file qgsvectorfilewriter.h.
|
protected |
Definition at line 338 of file qgsvectorfilewriter.h.
|
protected |
Definition at line 327 of file qgsvectorfilewriter.h.
|
protected |
Contains error value if construction was not successful.
Definition at line 335 of file qgsvectorfilewriter.h.
|
protected |
Definition at line 336 of file qgsvectorfilewriter.h.
|
protected |
Definition at line 332 of file qgsvectorfilewriter.h.
|
protected |
Definition at line 330 of file qgsvectorfilewriter.h.
|
protected |
Definition at line 328 of file qgsvectorfilewriter.h.
|
protected |
Definition at line 355 of file qgsvectorfilewriter.h.
|
protected |
Definition at line 329 of file qgsvectorfilewriter.h.
|
protected |
Definition at line 346 of file qgsvectorfilewriter.h.
|
protected |
Scale for symbology export (e.g.
for symbols units in map units)
Definition at line 353 of file qgsvectorfilewriter.h.
|
protected |
Geometry type which is being used.
Definition at line 341 of file qgsvectorfilewriter.h.