161#include "moc_qgsnativealgorithms.cpp"
163using namespace Qt::StringLiterals;
165#if QT_CONFIG( process )
366 return tr(
"QGIS (native c++)" );
381 const QgsScopedRuntimeProfile profile( QObject::tr(
"QGIS native provider" ) );
394 addAlgorithm(
new QgsApproximateMedialAxisAlgorithm() );
395 addAlgorithm(
new QgsArrayTranslatedFeaturesAlgorithm() );
401 addAlgorithm(
new QgsBatchNominatimGeocodeAlgorithm() );
407 addAlgorithm(
new QgsCalculateVectorOverlapsAlgorithm() );
410 addAlgorithm(
new QgsCellStatisticsPercentileAlgorithm() );
411 addAlgorithm(
new QgsCellStatisticsPercentRankFromRasterAlgorithm() );
412 addAlgorithm(
new QgsCellStatisticsPercentRankFromValueAlgorithm() );
414 addAlgorithm(
new QgsChannelNetworkFromDemAlgorithm() );
415 addAlgorithm(
new QgsChannelNetworkFromFlowDirAndOrderAlgorithm() );
417 addAlgorithm(
new QgsGeometryCheckSegmentLengthAlgorithm() );
421 addAlgorithm(
new QgsGeometryCheckMissingVertexAlgorithm() );
422 addAlgorithm(
new QgsGeometryCheckLineIntersectionAlgorithm() );
423 addAlgorithm(
new QgsGeometryCheckLineLayerIntersectionAlgorithm() );
424 addAlgorithm(
new QgsGeometryCheckPointCoveredByLineAlgorithm() );
425 addAlgorithm(
new QgsGeometryCheckPointInPolygonAlgorithm() );
427 addAlgorithm(
new QgsGeometryCheckSliverPolygonAlgorithm() );
428 addAlgorithm(
new QgsGeometryCheckSelfContactAlgorithm() );
430 addAlgorithm(
new QgsGeometryCheckFollowBoundariesAlgorithm() );
431 addAlgorithm(
new QgsGeometryCheckDuplicateNodesAlgorithm() );
433 addAlgorithm(
new QgsGeometryCheckDuplicateAlgorithm() );
434 addAlgorithm(
new QgsGeometryCheckSelfIntersectionAlgorithm() );
435 addAlgorithm(
new QgsGeometryCheckMultipartAlgorithm() );
436 addAlgorithm(
new QgsGeometryCheckDegeneratePolygonAlgorithm() );
437 addAlgorithm(
new QgsGeometryCheckContainedAlgorithm() );
444 addAlgorithm(
new QgsConcaveHullOfPolygonsAlgorithm() );
458 addAlgorithm(
new QgsDelaunayTriangulationAlgorithm() );
459 addAlgorithm(
new QgsDeleteDuplicateGeometriesAlgorithm() );
472 addAlgorithm(
new QgsExecuteAndLoadPostgisQueryAlgorithm() );
474 addAlgorithm(
new QgsExecuteRegisteredSpatialiteQueryAlgorithm() );
475 addAlgorithm(
new QgsExecuteSpatialiteQueryAlgorithm() );
479 addAlgorithm(
new QgsExportGeometryAttributesAlgorithm() );
480 addAlgorithm(
new QgsExportLayersInformationAlgorithm() );
487 addAlgorithm(
new QgsExportToRegisteredSpatialiteAlgorithm() );
500 addAlgorithm(
new QgsExtractNetworkEndpointsAlgorithm() );
502 addAlgorithm(
new QgsExtractSpecificVerticesAlgorithm() );
503 addAlgorithm(
new QgsExtractWithinDistanceAlgorithm() );
523 addAlgorithm(
new QgsFuzzifyRasterLinearMembershipAlgorithm() );
524 addAlgorithm(
new QgsFuzzifyRasterPowerMembershipAlgorithm() );
525 addAlgorithm(
new QgsFuzzifyRasterLargeMembershipAlgorithm() );
526 addAlgorithm(
new QgsFuzzifyRasterSmallMembershipAlgorithm() );
527 addAlgorithm(
new QgsFuzzifyRasterGaussianMembershipAlgorithm() );
528 addAlgorithm(
new QgsFuzzifyRasterNearMembershipAlgorithm() );
529 addAlgorithm(
new QgsGenerateElevationProfileAlgorithm() );
531 addAlgorithm(
new QgsGlobalThinPlateSplineAlgorithm() );
533#if QT_CONFIG( process )
534 addAlgorithm(
new QgsConvertGpxFeatureTypeAlgorithm() );
550 addAlgorithm(
new QgsJoinByLocationSummaryAlgorithm() );
556 addAlgorithm(
new QgsLayoutMapExtentToLayerAlgorithm() );
559 addAlgorithm(
new QgsLayoutAtlasToMultiplePdfAlgorithm() );
575 addAlgorithm(
new QgsMinimumBoundingGeometryAlgorithm() );
576 addAlgorithm(
new QgsMinimumEnclosingCircleAlgorithm() );
579 addAlgorithm(
new QgsMultipartToSinglepartAlgorithm() );
580 addAlgorithm(
new QgsMultiRingConstantBufferAlgorithm() );
582 addAlgorithm(
new QgsNearestNeighbourAnalysisAlgorithm() );
585 addAlgorithm(
new QgsOrientedMinimumBoundingBoxAlgorithm() );
588 addAlgorithm(
new QgsPixelCentroidsFromPolygonsAlgorithm() );
589 addAlgorithm(
new QgsCreateArrayOffsetLinesAlgorithm() );
596 addAlgorithm(
new QgsPoleOfInaccessibilityAlgorithm() );
598 addAlgorithm(
new QgsProjectPointCartesianAlgorithm() );
604 addAlgorithm(
new QgsRandomExponentialRasterAlgorithm() );
606 addAlgorithm(
new QgsRandomExtractWithinSubsetsAlgorithm() );
608 addAlgorithm(
new QgsRandomGeometricRasterAlgorithm() );
609 addAlgorithm(
new QgsRandomNegativeBinomialRasterAlgorithm() );
612 addAlgorithm(
new QgsRandomPointsInPolygonsAlgorithm() );
616 addAlgorithm(
new QgsRandomSelectionWithinSubsetsAlgorithm() );
619 addAlgorithm(
new QgsRasterCalculatorModelerAlgorithm() );
621 addAlgorithm(
new QgsRasterDtmSlopeBasedFilterAlgorithm() );
622 addAlgorithm(
new QgsRasterFeaturePreservingSmoothingAlgorithm() );
623 addAlgorithm(
new QgsRasterFrequencyByEqualOperatorAlgorithm() );
624 addAlgorithm(
new QgsRasterFrequencyByGreaterThanOperatorAlgorithm() );
625 addAlgorithm(
new QgsRasterFrequencyByLessThanOperatorAlgorithm() );
627 addAlgorithm(
new QgsRasterLayerPropertiesAlgorithm() );
628 addAlgorithm(
new QgsRasterLayerUniqueValuesReportAlgorithm() );
629 addAlgorithm(
new QgsRasterLayerZonalStatsAlgorithm() );
635 addAlgorithm(
new QgsRasterPixelsToPolygonsAlgorithm() );
638 addAlgorithm(
new QgsRasterStackHighestPositionAlgorithm() );
639 addAlgorithm(
new QgsRasterStackLowestPositionAlgorithm() );
642 addAlgorithm(
new QgsAlgorithmRemoveDuplicateVertices() );
645 addAlgorithm(
new QgsRectanglesOvalsDiamondsAlgorithm() );
648 addAlgorithm(
new QgsRemoveDuplicatesByAttributeAlgorithm() );
666 addAlgorithm(
new QgsSegmentizeByMaximumAngleAlgorithm() );
667 addAlgorithm(
new QgsSegmentizeByMaximumDistanceAlgorithm() );
679 addAlgorithm(
new QgsShapefileEncodingInfoAlgorithm() );
681 addAlgorithm(
new QgsShortestPathLayerToPointAlgorithm() );
682 addAlgorithm(
new QgsShortestPathPointToLayerAlgorithm() );
683 addAlgorithm(
new QgsShortestPathPointToPointAlgorithm() );
691 addAlgorithm(
new QgsSplitFeaturesByAttributeCharacterAlgorithm() );
692 addAlgorithm(
new QgsSplitGeometryAtAntimeridianAlgorithm() );
696 addAlgorithm(
new QgsStatisticsByCategoriesAlgorithm() );
699 addAlgorithm(
new QgsStrahlerOrderFromFlowDirectionAlgorithm() );
705 addAlgorithm(
new QgsSymmetricalDifferenceAlgorithm() );
712 addAlgorithm(
new QgsTransectFixedDistanceAlgorithm() );
713 addAlgorithm(
new QgsTransferAnnotationsFromMainAlgorithm() );
725 addAlgorithm(
new QgsVariableWidthBufferByMAlgorithm() );
726 addAlgorithm(
new QgsVirtualRasterCalculatorAlgorithm() );
727 addAlgorithm(
new QgsVirtualRasterCalculatorModelerAlgorithm() );
731 addAlgorithm(
new QgsWriteVectorTilesMbtilesAlgorithm() );
736 addAlgorithm(
new QgsZonalMinimumMaximumPointAlgorithm() );
738 addAlgorithm(
new QgsZonalStatisticsFeatureBasedAlgorithm() );
740 addAlgorithm(
new QgsDensifyGeometriesByIntervalAlgorithm() );
741 addAlgorithm(
new QgsDensifyGeometriesByCountAlgorithm() );
743 addAlgorithm(
new QgsFixGeometryDeleteFeaturesAlgorithm() );
745 addAlgorithm(
new QgsFixGeometryDuplicateNodesAlgorithm() );
747 addAlgorithm(
new QgsFixGeometrySelfIntersectionAlgorithm() );
751 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.