153#include "moc_qgsnativealgorithms.cpp"
155using namespace Qt::StringLiterals;
157#if QT_CONFIG( process )
343 return tr(
"QGIS (native c++)" );
358 const QgsScopedRuntimeProfile profile( QObject::tr(
"QGIS native provider" ) );
371 addAlgorithm(
new QgsApproximateMedialAxisAlgorithm() );
372 addAlgorithm(
new QgsArrayTranslatedFeaturesAlgorithm() );
378 addAlgorithm(
new QgsBatchNominatimGeocodeAlgorithm() );
384 addAlgorithm(
new QgsCalculateVectorOverlapsAlgorithm() );
387 addAlgorithm(
new QgsCellStatisticsPercentileAlgorithm() );
388 addAlgorithm(
new QgsCellStatisticsPercentRankFromRasterAlgorithm() );
389 addAlgorithm(
new QgsCellStatisticsPercentRankFromValueAlgorithm() );
392 addAlgorithm(
new QgsGeometryCheckSegmentLengthAlgorithm() );
396 addAlgorithm(
new QgsGeometryCheckMissingVertexAlgorithm() );
397 addAlgorithm(
new QgsGeometryCheckLineIntersectionAlgorithm() );
398 addAlgorithm(
new QgsGeometryCheckLineLayerIntersectionAlgorithm() );
399 addAlgorithm(
new QgsGeometryCheckPointCoveredByLineAlgorithm() );
400 addAlgorithm(
new QgsGeometryCheckPointInPolygonAlgorithm() );
402 addAlgorithm(
new QgsGeometryCheckSliverPolygonAlgorithm() );
403 addAlgorithm(
new QgsGeometryCheckSelfContactAlgorithm() );
405 addAlgorithm(
new QgsGeometryCheckFollowBoundariesAlgorithm() );
406 addAlgorithm(
new QgsGeometryCheckDuplicateNodesAlgorithm() );
408 addAlgorithm(
new QgsGeometryCheckDuplicateAlgorithm() );
409 addAlgorithm(
new QgsGeometryCheckSelfIntersectionAlgorithm() );
410 addAlgorithm(
new QgsGeometryCheckMultipartAlgorithm() );
411 addAlgorithm(
new QgsGeometryCheckDegeneratePolygonAlgorithm() );
412 addAlgorithm(
new QgsGeometryCheckContainedAlgorithm() );
431 addAlgorithm(
new QgsDelaunayTriangulationAlgorithm() );
432 addAlgorithm(
new QgsDeleteDuplicateGeometriesAlgorithm() );
443 addAlgorithm(
new QgsExecuteAndLoadPostgisQueryAlgorithm() );
445 addAlgorithm(
new QgsExecuteRegisteredSpatialiteQueryAlgorithm() );
446 addAlgorithm(
new QgsExecuteSpatialiteQueryAlgorithm() );
449 addAlgorithm(
new QgsExportGeometryAttributesAlgorithm() );
450 addAlgorithm(
new QgsExportLayersInformationAlgorithm() );
457 addAlgorithm(
new QgsExportToRegisteredSpatialiteAlgorithm() );
470 addAlgorithm(
new QgsExtractNetworkEndpointsAlgorithm() );
472 addAlgorithm(
new QgsExtractSpecificVerticesAlgorithm() );
473 addAlgorithm(
new QgsExtractWithinDistanceAlgorithm() );
490 addAlgorithm(
new QgsFuzzifyRasterLinearMembershipAlgorithm() );
491 addAlgorithm(
new QgsFuzzifyRasterPowerMembershipAlgorithm() );
492 addAlgorithm(
new QgsFuzzifyRasterLargeMembershipAlgorithm() );
493 addAlgorithm(
new QgsFuzzifyRasterSmallMembershipAlgorithm() );
494 addAlgorithm(
new QgsFuzzifyRasterGaussianMembershipAlgorithm() );
495 addAlgorithm(
new QgsFuzzifyRasterNearMembershipAlgorithm() );
496 addAlgorithm(
new QgsGenerateElevationProfileAlgorithm() );
499#if QT_CONFIG( process )
500 addAlgorithm(
new QgsConvertGpxFeatureTypeAlgorithm() );
513 addAlgorithm(
new QgsJoinByLocationSummaryAlgorithm() );
519 addAlgorithm(
new QgsLayoutMapExtentToLayerAlgorithm() );
522 addAlgorithm(
new QgsLayoutAtlasToMultiplePdfAlgorithm() );
537 addAlgorithm(
new QgsMinimumBoundingGeometryAlgorithm() );
538 addAlgorithm(
new QgsMinimumEnclosingCircleAlgorithm() );
541 addAlgorithm(
new QgsMultipartToSinglepartAlgorithm() );
542 addAlgorithm(
new QgsMultiRingConstantBufferAlgorithm() );
544 addAlgorithm(
new QgsNearestNeighbourAnalysisAlgorithm() );
547 addAlgorithm(
new QgsOrientedMinimumBoundingBoxAlgorithm() );
550 addAlgorithm(
new QgsPixelCentroidsFromPolygonsAlgorithm() );
551 addAlgorithm(
new QgsCreateArrayOffsetLinesAlgorithm() );
558 addAlgorithm(
new QgsPoleOfInaccessibilityAlgorithm() );
560 addAlgorithm(
new QgsProjectPointCartesianAlgorithm() );
566 addAlgorithm(
new QgsRandomExponentialRasterAlgorithm() );
569 addAlgorithm(
new QgsRandomGeometricRasterAlgorithm() );
570 addAlgorithm(
new QgsRandomNegativeBinomialRasterAlgorithm() );
573 addAlgorithm(
new QgsRandomPointsInPolygonsAlgorithm() );
579 addAlgorithm(
new QgsRasterCalculatorModelerAlgorithm() );
580 addAlgorithm(
new QgsRasterDtmSlopeBasedFilterAlgorithm() );
581 addAlgorithm(
new QgsRasterFeaturePreservingSmoothingAlgorithm() );
582 addAlgorithm(
new QgsRasterFrequencyByEqualOperatorAlgorithm() );
583 addAlgorithm(
new QgsRasterFrequencyByGreaterThanOperatorAlgorithm() );
584 addAlgorithm(
new QgsRasterFrequencyByLessThanOperatorAlgorithm() );
586 addAlgorithm(
new QgsRasterLayerPropertiesAlgorithm() );
587 addAlgorithm(
new QgsRasterLayerUniqueValuesReportAlgorithm() );
588 addAlgorithm(
new QgsRasterLayerZonalStatsAlgorithm() );
594 addAlgorithm(
new QgsRasterPixelsToPolygonsAlgorithm() );
597 addAlgorithm(
new QgsRasterStackHighestPositionAlgorithm() );
598 addAlgorithm(
new QgsRasterStackLowestPositionAlgorithm() );
601 addAlgorithm(
new QgsAlgorithmRemoveDuplicateVertices() );
604 addAlgorithm(
new QgsRectanglesOvalsDiamondsAlgorithm() );
606 addAlgorithm(
new QgsRemoveDuplicatesByAttributeAlgorithm() );
624 addAlgorithm(
new QgsSegmentizeByMaximumAngleAlgorithm() );
625 addAlgorithm(
new QgsSegmentizeByMaximumDistanceAlgorithm() );
635 addAlgorithm(
new QgsShapefileEncodingInfoAlgorithm() );
637 addAlgorithm(
new QgsShortestPathLayerToPointAlgorithm() );
638 addAlgorithm(
new QgsShortestPathPointToLayerAlgorithm() );
639 addAlgorithm(
new QgsShortestPathPointToPointAlgorithm() );
647 addAlgorithm(
new QgsSplitFeaturesByAttributeCharacterAlgorithm() );
648 addAlgorithm(
new QgsSplitGeometryAtAntimeridianAlgorithm() );
658 addAlgorithm(
new QgsSymmetricalDifferenceAlgorithm() );
663 addAlgorithm(
new QgsTransectFixedDistanceAlgorithm() );
664 addAlgorithm(
new QgsTransferAnnotationsFromMainAlgorithm() );
674 addAlgorithm(
new QgsVariableWidthBufferByMAlgorithm() );
675 addAlgorithm(
new QgsVirtualRasterCalculatorAlgorithm() );
676 addAlgorithm(
new QgsVirtualRasterCalculatorModelerAlgorithm() );
680 addAlgorithm(
new QgsWriteVectorTilesMbtilesAlgorithm() );
684 addAlgorithm(
new QgsZonalMinimumMaximumPointAlgorithm() );
686 addAlgorithm(
new QgsZonalStatisticsFeatureBasedAlgorithm() );
688 addAlgorithm(
new QgsDensifyGeometriesByIntervalAlgorithm() );
689 addAlgorithm(
new QgsDensifyGeometriesByCountAlgorithm() );
691 addAlgorithm(
new QgsFixGeometryDeleteFeaturesAlgorithm() );
693 addAlgorithm(
new QgsFixGeometryDuplicateNodesAlgorithm() );
695 addAlgorithm(
new QgsFixGeometrySelfIntersectionAlgorithm() );
699 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.