mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-06 00:07:29 -04:00
add export to CSV files
This commit is contained in:
parent
ed9dfa9f5a
commit
1a7d160a50
@ -5,5 +5,6 @@ QgsPointCloudLayerExporter.ExportFormat.Las.__doc__ = "LAS/LAZ point cloud"
|
||||
QgsPointCloudLayerExporter.ExportFormat.Gpkg.__doc__ = "Geopackage"
|
||||
QgsPointCloudLayerExporter.ExportFormat.Shp.__doc__ = "ESRI ShapeFile"
|
||||
QgsPointCloudLayerExporter.ExportFormat.Dxf.__doc__ = "AutoCAD dxf"
|
||||
QgsPointCloudLayerExporter.ExportFormat.__doc__ = 'Supported export formats for point clouds\n\n' + '* ``Memory``: ' + QgsPointCloudLayerExporter.ExportFormat.Memory.__doc__ + '\n' + '* ``Las``: ' + QgsPointCloudLayerExporter.ExportFormat.Las.__doc__ + '\n' + '* ``Gpkg``: ' + QgsPointCloudLayerExporter.ExportFormat.Gpkg.__doc__ + '\n' + '* ``Shp``: ' + QgsPointCloudLayerExporter.ExportFormat.Shp.__doc__ + '\n' + '* ``Dxf``: ' + QgsPointCloudLayerExporter.ExportFormat.Dxf.__doc__
|
||||
QgsPointCloudLayerExporter.ExportFormat.Csv.__doc__ = "Comma separated values"
|
||||
QgsPointCloudLayerExporter.ExportFormat.__doc__ = 'Supported export formats for point clouds\n\n' + '* ``Memory``: ' + QgsPointCloudLayerExporter.ExportFormat.Memory.__doc__ + '\n' + '* ``Las``: ' + QgsPointCloudLayerExporter.ExportFormat.Las.__doc__ + '\n' + '* ``Gpkg``: ' + QgsPointCloudLayerExporter.ExportFormat.Gpkg.__doc__ + '\n' + '* ``Shp``: ' + QgsPointCloudLayerExporter.ExportFormat.Shp.__doc__ + '\n' + '* ``Dxf``: ' + QgsPointCloudLayerExporter.ExportFormat.Dxf.__doc__ + '\n' + '* ``Csv``: ' + QgsPointCloudLayerExporter.ExportFormat.Csv.__doc__
|
||||
# --
|
||||
|
@ -32,6 +32,7 @@ Handles exporting point cloud layers to memory layers, OGR supported files and P
|
||||
Gpkg,
|
||||
Shp,
|
||||
Dxf,
|
||||
Csv,
|
||||
};
|
||||
|
||||
|
||||
|
@ -8387,6 +8387,7 @@ QString QgisApp::saveAsPointCloudLayer( QgsPointCloudLayer *pclayer )
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Gpkg:
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Shp:
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Dxf:
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Csv:
|
||||
if ( dialog.hasAttributes() )
|
||||
exp->setAttributes( dialog.attributes() );
|
||||
else
|
||||
|
@ -42,6 +42,8 @@ QString QgsPointCloudLayerExporter::getOgrDriverName( ExportFormat format )
|
||||
return QStringLiteral( "DXF" );
|
||||
case ExportFormat::Shp:
|
||||
return QStringLiteral( "ESRI Shapefile" );
|
||||
case ExportFormat::Csv:
|
||||
return QStringLiteral( "CSV" );
|
||||
case ExportFormat::Memory:
|
||||
case ExportFormat::Las:
|
||||
break;
|
||||
@ -214,6 +216,8 @@ void QgsPointCloudLayerExporter::doExport()
|
||||
}
|
||||
}
|
||||
|
||||
QStringList layerCreationOptions;
|
||||
|
||||
switch ( mFormat )
|
||||
{
|
||||
case ExportFormat::Memory:
|
||||
@ -245,6 +249,10 @@ void QgsPointCloudLayerExporter::doExport()
|
||||
break;
|
||||
}
|
||||
|
||||
case ExportFormat::Csv:
|
||||
layerCreationOptions << QStringLiteral( "GEOMETRY=AS_XYZ" )
|
||||
<< QStringLiteral( "SEPARATOR=COMMA" ); // just in case ogr changes the default lco
|
||||
// Intentional Fallthrough
|
||||
case ExportFormat::Gpkg:
|
||||
case ExportFormat::Dxf:
|
||||
case ExportFormat::Shp:
|
||||
@ -255,6 +263,7 @@ void QgsPointCloudLayerExporter::doExport()
|
||||
saveOptions.driverName = ogrDriver;
|
||||
saveOptions.datasourceOptions = QgsVectorFileWriter::defaultDatasetOptions( ogrDriver );
|
||||
saveOptions.layerOptions = QgsVectorFileWriter::defaultLayerOptions( ogrDriver );
|
||||
saveOptions.layerOptions << layerCreationOptions;
|
||||
saveOptions.symbologyExport = QgsVectorFileWriter::NoSymbology;
|
||||
saveOptions.actionOnExistingFile = mActionOnExistingFile;
|
||||
saveOptions.feedback = mFeedback;
|
||||
@ -292,6 +301,7 @@ QgsMapLayer *QgsPointCloudLayerExporter::takeExportedLayer()
|
||||
|
||||
case ExportFormat::Dxf:
|
||||
case ExportFormat::Shp:
|
||||
case ExportFormat::Csv:
|
||||
{
|
||||
const QFileInfo fileInfo( mFilename );
|
||||
return new QgsVectorLayer( mFilename, fileInfo.completeBaseName(), QStringLiteral( "ogr" ) );
|
||||
|
@ -55,6 +55,7 @@ class CORE_EXPORT QgsPointCloudLayerExporter SIP_NODEFAULTCTORS
|
||||
Gpkg = 2, //!< Geopackage
|
||||
Shp = 3, //!< ESRI ShapeFile
|
||||
Dxf = 4, //!< AutoCAD dxf
|
||||
Csv = 5, //!< Comma separated values
|
||||
};
|
||||
|
||||
/**
|
||||
@ -65,13 +66,14 @@ class CORE_EXPORT QgsPointCloudLayerExporter SIP_NODEFAULTCTORS
|
||||
static QList< ExportFormat > supportedFormats() SIP_SKIP
|
||||
{
|
||||
QList< ExportFormat > formats;
|
||||
formats << ExportFormat::Memory;
|
||||
formats << ExportFormat::Memory
|
||||
#ifdef HAVE_PDAL_QGIS
|
||||
formats << ExportFormat::Las;
|
||||
<< ExportFormat::Las
|
||||
#endif
|
||||
formats << ExportFormat::Gpkg;
|
||||
formats << ExportFormat::Shp;
|
||||
formats << ExportFormat::Dxf;
|
||||
<< ExportFormat::Gpkg
|
||||
<< ExportFormat::Shp
|
||||
<< ExportFormat::Dxf
|
||||
<< ExportFormat::Csv;
|
||||
return formats;
|
||||
}
|
||||
|
||||
|
@ -315,6 +315,7 @@ void QgsPointCloudLayerSaveAsDialog::mFormatComboBox_currentIndexChanged( int id
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Memory:
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Gpkg:
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Shp:
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Csv:
|
||||
mAttributesSelection->setEnabled( true );
|
||||
break;
|
||||
|
||||
@ -334,6 +335,7 @@ void QgsPointCloudLayerSaveAsDialog::mFormatComboBox_currentIndexChanged( int id
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Shp:
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Las:
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Dxf:
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Csv:
|
||||
leLayername->setEnabled( false );
|
||||
break;
|
||||
}
|
||||
@ -351,6 +353,7 @@ void QgsPointCloudLayerSaveAsDialog::mFormatComboBox_currentIndexChanged( int id
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Shp:
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Las:
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Dxf:
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Csv:
|
||||
mAddToCanvas->setEnabled( true );
|
||||
if ( mWasAddToCanvasForced )
|
||||
{
|
||||
@ -576,6 +579,8 @@ QString QgsPointCloudLayerSaveAsDialog::getFilterForFormat( QgsPointCloudLayerEx
|
||||
return QStringLiteral( "AutoCAD DXF (*.dxf *.dxf)" );
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Shp:
|
||||
return QStringLiteral( "ESRI Shapefile (*.shp *.SHP)" );
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Csv:
|
||||
return QStringLiteral( "Comma separated values (*.csv *.CSV)" );
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Memory:
|
||||
break;
|
||||
}
|
||||
@ -596,6 +601,8 @@ QString QgsPointCloudLayerSaveAsDialog::getTranslatedNameForFormat( QgsPointClou
|
||||
return tr( "ESRI Shapefile" );
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Las:
|
||||
return tr( "LAS/LAZ point cloud" );
|
||||
case QgsPointCloudLayerExporter::ExportFormat::Csv:
|
||||
return tr( "Comma separated values" );
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user