161#include "moc_qgsnativealgorithms.cpp"
163using namespace Qt::StringLiterals;
165#if QT_CONFIG( process )
361 return tr(
"QGIS (native c++)" );
376 const QgsScopedRuntimeProfile profile( QObject::tr(
"QGIS native provider" ) );
389 addAlgorithm(
new QgsApproximateMedialAxisAlgorithm() );
390 addAlgorithm(
new QgsArrayTranslatedFeaturesAlgorithm() );
396 addAlgorithm(
new QgsBatchNominatimGeocodeAlgorithm() );
402 addAlgorithm(
new QgsCalculateVectorOverlapsAlgorithm() );
405 addAlgorithm(
new QgsCellStatisticsPercentileAlgorithm() );
406 addAlgorithm(
new QgsCellStatisticsPercentRankFromRasterAlgorithm() );
407 addAlgorithm(
new QgsCellStatisticsPercentRankFromValueAlgorithm() );
410 addAlgorithm(
new QgsGeometryCheckSegmentLengthAlgorithm() );
414 addAlgorithm(
new QgsGeometryCheckMissingVertexAlgorithm() );
415 addAlgorithm(
new QgsGeometryCheckLineIntersectionAlgorithm() );
416 addAlgorithm(
new QgsGeometryCheckLineLayerIntersectionAlgorithm() );
417 addAlgorithm(
new QgsGeometryCheckPointCoveredByLineAlgorithm() );
418 addAlgorithm(
new QgsGeometryCheckPointInPolygonAlgorithm() );
420 addAlgorithm(
new QgsGeometryCheckSliverPolygonAlgorithm() );
421 addAlgorithm(
new QgsGeometryCheckSelfContactAlgorithm() );
423 addAlgorithm(
new QgsGeometryCheckFollowBoundariesAlgorithm() );
424 addAlgorithm(
new QgsGeometryCheckDuplicateNodesAlgorithm() );
426 addAlgorithm(
new QgsGeometryCheckDuplicateAlgorithm() );
427 addAlgorithm(
new QgsGeometryCheckSelfIntersectionAlgorithm() );
428 addAlgorithm(
new QgsGeometryCheckMultipartAlgorithm() );
429 addAlgorithm(
new QgsGeometryCheckDegeneratePolygonAlgorithm() );
430 addAlgorithm(
new QgsGeometryCheckContainedAlgorithm() );
437 addAlgorithm(
new QgsConcaveHullOfPolygonsAlgorithm() );
451 addAlgorithm(
new QgsDelaunayTriangulationAlgorithm() );
452 addAlgorithm(
new QgsDeleteDuplicateGeometriesAlgorithm() );
465 addAlgorithm(
new QgsExecuteAndLoadPostgisQueryAlgorithm() );
467 addAlgorithm(
new QgsExecuteRegisteredSpatialiteQueryAlgorithm() );
468 addAlgorithm(
new QgsExecuteSpatialiteQueryAlgorithm() );
472 addAlgorithm(
new QgsExportGeometryAttributesAlgorithm() );
473 addAlgorithm(
new QgsExportLayersInformationAlgorithm() );
480 addAlgorithm(
new QgsExportToRegisteredSpatialiteAlgorithm() );
493 addAlgorithm(
new QgsExtractNetworkEndpointsAlgorithm() );
495 addAlgorithm(
new QgsExtractSpecificVerticesAlgorithm() );
496 addAlgorithm(
new QgsExtractWithinDistanceAlgorithm() );
514 addAlgorithm(
new QgsFuzzifyRasterLinearMembershipAlgorithm() );
515 addAlgorithm(
new QgsFuzzifyRasterPowerMembershipAlgorithm() );
516 addAlgorithm(
new QgsFuzzifyRasterLargeMembershipAlgorithm() );
517 addAlgorithm(
new QgsFuzzifyRasterSmallMembershipAlgorithm() );
518 addAlgorithm(
new QgsFuzzifyRasterGaussianMembershipAlgorithm() );
519 addAlgorithm(
new QgsFuzzifyRasterNearMembershipAlgorithm() );
520 addAlgorithm(
new QgsGenerateElevationProfileAlgorithm() );
522 addAlgorithm(
new QgsGlobalThinPlateSplineAlgorithm() );
524#if QT_CONFIG( process )
525 addAlgorithm(
new QgsConvertGpxFeatureTypeAlgorithm() );
541 addAlgorithm(
new QgsJoinByLocationSummaryAlgorithm() );
547 addAlgorithm(
new QgsLayoutMapExtentToLayerAlgorithm() );
550 addAlgorithm(
new QgsLayoutAtlasToMultiplePdfAlgorithm() );
566 addAlgorithm(
new QgsMinimumBoundingGeometryAlgorithm() );
567 addAlgorithm(
new QgsMinimumEnclosingCircleAlgorithm() );
570 addAlgorithm(
new QgsMultipartToSinglepartAlgorithm() );
571 addAlgorithm(
new QgsMultiRingConstantBufferAlgorithm() );
573 addAlgorithm(
new QgsNearestNeighbourAnalysisAlgorithm() );
576 addAlgorithm(
new QgsOrientedMinimumBoundingBoxAlgorithm() );
579 addAlgorithm(
new QgsPixelCentroidsFromPolygonsAlgorithm() );
580 addAlgorithm(
new QgsCreateArrayOffsetLinesAlgorithm() );
587 addAlgorithm(
new QgsPoleOfInaccessibilityAlgorithm() );
589 addAlgorithm(
new QgsProjectPointCartesianAlgorithm() );
595 addAlgorithm(
new QgsRandomExponentialRasterAlgorithm() );
597 addAlgorithm(
new QgsRandomExtractWithinSubsetsAlgorithm() );
599 addAlgorithm(
new QgsRandomGeometricRasterAlgorithm() );
600 addAlgorithm(
new QgsRandomNegativeBinomialRasterAlgorithm() );
603 addAlgorithm(
new QgsRandomPointsInPolygonsAlgorithm() );
607 addAlgorithm(
new QgsRandomSelectionWithinSubsetsAlgorithm() );
610 addAlgorithm(
new QgsRasterCalculatorModelerAlgorithm() );
612 addAlgorithm(
new QgsRasterDtmSlopeBasedFilterAlgorithm() );
613 addAlgorithm(
new QgsRasterFeaturePreservingSmoothingAlgorithm() );
614 addAlgorithm(
new QgsRasterFrequencyByEqualOperatorAlgorithm() );
615 addAlgorithm(
new QgsRasterFrequencyByGreaterThanOperatorAlgorithm() );
616 addAlgorithm(
new QgsRasterFrequencyByLessThanOperatorAlgorithm() );
618 addAlgorithm(
new QgsRasterLayerPropertiesAlgorithm() );
619 addAlgorithm(
new QgsRasterLayerUniqueValuesReportAlgorithm() );
620 addAlgorithm(
new QgsRasterLayerZonalStatsAlgorithm() );
626 addAlgorithm(
new QgsRasterPixelsToPolygonsAlgorithm() );
629 addAlgorithm(
new QgsRasterStackHighestPositionAlgorithm() );
630 addAlgorithm(
new QgsRasterStackLowestPositionAlgorithm() );
633 addAlgorithm(
new QgsAlgorithmRemoveDuplicateVertices() );
636 addAlgorithm(
new QgsRectanglesOvalsDiamondsAlgorithm() );
639 addAlgorithm(
new QgsRemoveDuplicatesByAttributeAlgorithm() );
657 addAlgorithm(
new QgsSegmentizeByMaximumAngleAlgorithm() );
658 addAlgorithm(
new QgsSegmentizeByMaximumDistanceAlgorithm() );
670 addAlgorithm(
new QgsShapefileEncodingInfoAlgorithm() );
672 addAlgorithm(
new QgsShortestPathLayerToPointAlgorithm() );
673 addAlgorithm(
new QgsShortestPathPointToLayerAlgorithm() );
674 addAlgorithm(
new QgsShortestPathPointToPointAlgorithm() );
682 addAlgorithm(
new QgsSplitFeaturesByAttributeCharacterAlgorithm() );
683 addAlgorithm(
new QgsSplitGeometryAtAntimeridianAlgorithm() );
693 addAlgorithm(
new QgsSymmetricalDifferenceAlgorithm() );
700 addAlgorithm(
new QgsTransectFixedDistanceAlgorithm() );
701 addAlgorithm(
new QgsTransferAnnotationsFromMainAlgorithm() );
713 addAlgorithm(
new QgsVariableWidthBufferByMAlgorithm() );
714 addAlgorithm(
new QgsVirtualRasterCalculatorAlgorithm() );
715 addAlgorithm(
new QgsVirtualRasterCalculatorModelerAlgorithm() );
719 addAlgorithm(
new QgsWriteVectorTilesMbtilesAlgorithm() );
723 addAlgorithm(
new QgsZonalMinimumMaximumPointAlgorithm() );
725 addAlgorithm(
new QgsZonalStatisticsFeatureBasedAlgorithm() );
727 addAlgorithm(
new QgsDensifyGeometriesByIntervalAlgorithm() );
728 addAlgorithm(
new QgsDensifyGeometriesByCountAlgorithm() );
730 addAlgorithm(
new QgsFixGeometryDeleteFeaturesAlgorithm() );
732 addAlgorithm(
new QgsFixGeometryDuplicateNodesAlgorithm() );
734 addAlgorithm(
new QgsFixGeometrySelfIntersectionAlgorithm() );
738 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.