148#include "moc_qgsnativealgorithms.cpp"
150#if QT_CONFIG( process )
320 return QStringLiteral(
"native" );
325 return QStringLiteral(
"qgis" );
330 return tr(
"QGIS (native c++)" );
345 const QgsScopedRuntimeProfile profile( QObject::tr(
"QGIS native provider" ) );
358 addAlgorithm(
new QgsApproximateMedialAxisAlgorithm() );
359 addAlgorithm(
new QgsArrayTranslatedFeaturesAlgorithm() );
365 addAlgorithm(
new QgsBatchNominatimGeocodeAlgorithm() );
371 addAlgorithm(
new QgsCalculateVectorOverlapsAlgorithm() );
374 addAlgorithm(
new QgsCellStatisticsPercentileAlgorithm() );
375 addAlgorithm(
new QgsCellStatisticsPercentRankFromRasterAlgorithm() );
376 addAlgorithm(
new QgsCellStatisticsPercentRankFromValueAlgorithm() );
379 addAlgorithm(
new QgsGeometryCheckSegmentLengthAlgorithm() );
383 addAlgorithm(
new QgsGeometryCheckMissingVertexAlgorithm() );
384 addAlgorithm(
new QgsGeometryCheckLineIntersectionAlgorithm() );
385 addAlgorithm(
new QgsGeometryCheckLineLayerIntersectionAlgorithm() );
386 addAlgorithm(
new QgsGeometryCheckPointCoveredByLineAlgorithm() );
387 addAlgorithm(
new QgsGeometryCheckPointInPolygonAlgorithm() );
389 addAlgorithm(
new QgsGeometryCheckSliverPolygonAlgorithm() );
390 addAlgorithm(
new QgsGeometryCheckSelfContactAlgorithm() );
392 addAlgorithm(
new QgsGeometryCheckFollowBoundariesAlgorithm() );
393 addAlgorithm(
new QgsGeometryCheckDuplicateNodesAlgorithm() );
395 addAlgorithm(
new QgsGeometryCheckDuplicateAlgorithm() );
396 addAlgorithm(
new QgsGeometryCheckSelfIntersectionAlgorithm() );
397 addAlgorithm(
new QgsGeometryCheckMultipartAlgorithm() );
398 addAlgorithm(
new QgsGeometryCheckDegeneratePolygonAlgorithm() );
399 addAlgorithm(
new QgsGeometryCheckContainedAlgorithm() );
418 addAlgorithm(
new QgsDelaunayTriangulationAlgorithm() );
419 addAlgorithm(
new QgsDeleteDuplicateGeometriesAlgorithm() );
431 addAlgorithm(
new QgsExecuteRegisteredSpatialiteQueryAlgorithm() );
432 addAlgorithm(
new QgsExecuteSpatialiteQueryAlgorithm() );
435 addAlgorithm(
new QgsExportGeometryAttributesAlgorithm() );
436 addAlgorithm(
new QgsExportLayersInformationAlgorithm() );
443 addAlgorithm(
new QgsExportToRegisteredSpatialiteAlgorithm() );
457 addAlgorithm(
new QgsExtractSpecificVerticesAlgorithm() );
458 addAlgorithm(
new QgsExtractWithinDistanceAlgorithm() );
473 addAlgorithm(
new QgsFuzzifyRasterLinearMembershipAlgorithm() );
474 addAlgorithm(
new QgsFuzzifyRasterPowerMembershipAlgorithm() );
475 addAlgorithm(
new QgsFuzzifyRasterLargeMembershipAlgorithm() );
476 addAlgorithm(
new QgsFuzzifyRasterSmallMembershipAlgorithm() );
477 addAlgorithm(
new QgsFuzzifyRasterGaussianMembershipAlgorithm() );
478 addAlgorithm(
new QgsFuzzifyRasterNearMembershipAlgorithm() );
479 addAlgorithm(
new QgsGenerateElevationProfileAlgorithm() );
482#if QT_CONFIG( process )
483 addAlgorithm(
new QgsConvertGpxFeatureTypeAlgorithm() );
496 addAlgorithm(
new QgsJoinByLocationSummaryAlgorithm() );
502 addAlgorithm(
new QgsLayoutMapExtentToLayerAlgorithm() );
505 addAlgorithm(
new QgsLayoutAtlasToMultiplePdfAlgorithm() );
520 addAlgorithm(
new QgsMinimumBoundingGeometryAlgorithm() );
521 addAlgorithm(
new QgsMinimumEnclosingCircleAlgorithm() );
524 addAlgorithm(
new QgsMultipartToSinglepartAlgorithm() );
525 addAlgorithm(
new QgsMultiRingConstantBufferAlgorithm() );
527 addAlgorithm(
new QgsNearestNeighbourAnalysisAlgorithm() );
530 addAlgorithm(
new QgsOrientedMinimumBoundingBoxAlgorithm() );
533 addAlgorithm(
new QgsPixelCentroidsFromPolygonsAlgorithm() );
534 addAlgorithm(
new QgsCreateArrayOffsetLinesAlgorithm() );
541 addAlgorithm(
new QgsPoleOfInaccessibilityAlgorithm() );
543 addAlgorithm(
new QgsProjectPointCartesianAlgorithm() );
549 addAlgorithm(
new QgsRandomExponentialRasterAlgorithm() );
552 addAlgorithm(
new QgsRandomGeometricRasterAlgorithm() );
553 addAlgorithm(
new QgsRandomNegativeBinomialRasterAlgorithm() );
556 addAlgorithm(
new QgsRandomPointsInPolygonsAlgorithm() );
561 addAlgorithm(
new QgsRasterCalculatorModelerAlgorithm() );
562 addAlgorithm(
new QgsRasterDtmSlopeBasedFilterAlgorithm() );
563 addAlgorithm(
new QgsRasterFrequencyByEqualOperatorAlgorithm() );
564 addAlgorithm(
new QgsRasterFrequencyByGreaterThanOperatorAlgorithm() );
565 addAlgorithm(
new QgsRasterFrequencyByLessThanOperatorAlgorithm() );
566 addAlgorithm(
new QgsRasterLayerPropertiesAlgorithm() );
567 addAlgorithm(
new QgsRasterLayerUniqueValuesReportAlgorithm() );
568 addAlgorithm(
new QgsRasterLayerZonalStatsAlgorithm() );
574 addAlgorithm(
new QgsRasterPixelsToPolygonsAlgorithm() );
577 addAlgorithm(
new QgsRasterStackHighestPositionAlgorithm() );
578 addAlgorithm(
new QgsRasterStackLowestPositionAlgorithm() );
581 addAlgorithm(
new QgsAlgorithmRemoveDuplicateVertices() );
584 addAlgorithm(
new QgsRectanglesOvalsDiamondsAlgorithm() );
586 addAlgorithm(
new QgsRemoveDuplicatesByAttributeAlgorithm() );
604 addAlgorithm(
new QgsSegmentizeByMaximumAngleAlgorithm() );
605 addAlgorithm(
new QgsSegmentizeByMaximumDistanceAlgorithm() );
615 addAlgorithm(
new QgsShapefileEncodingInfoAlgorithm() );
617 addAlgorithm(
new QgsShortestPathLayerToPointAlgorithm() );
618 addAlgorithm(
new QgsShortestPathPointToLayerAlgorithm() );
619 addAlgorithm(
new QgsShortestPathPointToPointAlgorithm() );
627 addAlgorithm(
new QgsSplitFeaturesByAttributeCharacterAlgorithm() );
628 addAlgorithm(
new QgsSplitGeometryAtAntimeridianAlgorithm() );
638 addAlgorithm(
new QgsSymmetricalDifferenceAlgorithm() );
642 addAlgorithm(
new QgsTransferAnnotationsFromMainAlgorithm() );
651 addAlgorithm(
new QgsVariableWidthBufferByMAlgorithm() );
652 addAlgorithm(
new QgsVirtualRasterCalculatorAlgorithm() );
653 addAlgorithm(
new QgsVirtualRasterCalculatorModelerAlgorithm() );
657 addAlgorithm(
new QgsWriteVectorTilesMbtilesAlgorithm() );
661 addAlgorithm(
new QgsZonalMinimumMaximumPointAlgorithm() );
663 addAlgorithm(
new QgsZonalStatisticsFeatureBasedAlgorithm() );
665 addAlgorithm(
new QgsDensifyGeometriesByIntervalAlgorithm() );
666 addAlgorithm(
new QgsDensifyGeometriesByCountAlgorithm() );
668 addAlgorithm(
new QgsFixGeometryDeleteFeaturesAlgorithm() );
670 addAlgorithm(
new QgsFixGeometryDuplicateNodesAlgorithm() );
672 addAlgorithm(
new QgsFixGeometrySelfIntersectionAlgorithm() );
676 addAlgorithm(
new QgsFixGeometryMissingVertexAlgorithm() );
@ CompatibleWithVirtualRaster
The processing provider's algorithms can work with QGIS virtualraster data provider.
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
static QIcon getThemeIcon(const QString &name, const QColor &fillColor=QColor(), const QColor &strokeColor=QColor())
Helper to get a theme icon.
static QString iconPath(const QString &iconFile)
Returns path to the desired icon file.
void loadAlgorithms() override
Loads all algorithms belonging to this provider.
QString helpId() const override
Returns the provider help id string, used for creating QgsHelp urls for algorithms belong to this pro...
QString id() const override
Returns the unique provider id, used for identifying the provider.
bool supportsNonFileBasedOutput() const override
Returns true if the provider supports non-file based outputs (such as memory layers or direct databas...
QString svgIconPath() const override
Returns a path to an SVG version of the provider's icon.
QString name() const override
Returns the provider name, which is used to describe the provider within the GUI.
QIcon icon() const override
Returns an icon for the provider.
QgsNativeAlgorithms(QObject *parent=nullptr)
Constructor for QgsNativeAlgorithms.
Qgis::ProcessingProviderFlags flags() const override
Returns the flags indicating how and when the provider operates and should be exposed to users.
Abstract base class for processing providers.
bool addAlgorithm(QgsProcessingAlgorithm *algorithm)
Adds an algorithm to the provider.