156#include "moc_qgsnativealgorithms.cpp"
158using namespace Qt::StringLiterals;
160#if QT_CONFIG( process )
350 return tr(
"QGIS (native c++)" );
365 const QgsScopedRuntimeProfile profile( QObject::tr(
"QGIS native provider" ) );
378 addAlgorithm(
new QgsApproximateMedialAxisAlgorithm() );
379 addAlgorithm(
new QgsArrayTranslatedFeaturesAlgorithm() );
385 addAlgorithm(
new QgsBatchNominatimGeocodeAlgorithm() );
391 addAlgorithm(
new QgsCalculateVectorOverlapsAlgorithm() );
394 addAlgorithm(
new QgsCellStatisticsPercentileAlgorithm() );
395 addAlgorithm(
new QgsCellStatisticsPercentRankFromRasterAlgorithm() );
396 addAlgorithm(
new QgsCellStatisticsPercentRankFromValueAlgorithm() );
399 addAlgorithm(
new QgsGeometryCheckSegmentLengthAlgorithm() );
403 addAlgorithm(
new QgsGeometryCheckMissingVertexAlgorithm() );
404 addAlgorithm(
new QgsGeometryCheckLineIntersectionAlgorithm() );
405 addAlgorithm(
new QgsGeometryCheckLineLayerIntersectionAlgorithm() );
406 addAlgorithm(
new QgsGeometryCheckPointCoveredByLineAlgorithm() );
407 addAlgorithm(
new QgsGeometryCheckPointInPolygonAlgorithm() );
409 addAlgorithm(
new QgsGeometryCheckSliverPolygonAlgorithm() );
410 addAlgorithm(
new QgsGeometryCheckSelfContactAlgorithm() );
412 addAlgorithm(
new QgsGeometryCheckFollowBoundariesAlgorithm() );
413 addAlgorithm(
new QgsGeometryCheckDuplicateNodesAlgorithm() );
415 addAlgorithm(
new QgsGeometryCheckDuplicateAlgorithm() );
416 addAlgorithm(
new QgsGeometryCheckSelfIntersectionAlgorithm() );
417 addAlgorithm(
new QgsGeometryCheckMultipartAlgorithm() );
418 addAlgorithm(
new QgsGeometryCheckDegeneratePolygonAlgorithm() );
419 addAlgorithm(
new QgsGeometryCheckContainedAlgorithm() );
426 addAlgorithm(
new QgsConcaveHullOfPolygonsAlgorithm() );
439 addAlgorithm(
new QgsDelaunayTriangulationAlgorithm() );
440 addAlgorithm(
new QgsDeleteDuplicateGeometriesAlgorithm() );
452 addAlgorithm(
new QgsExecuteAndLoadPostgisQueryAlgorithm() );
454 addAlgorithm(
new QgsExecuteRegisteredSpatialiteQueryAlgorithm() );
455 addAlgorithm(
new QgsExecuteSpatialiteQueryAlgorithm() );
458 addAlgorithm(
new QgsExportGeometryAttributesAlgorithm() );
459 addAlgorithm(
new QgsExportLayersInformationAlgorithm() );
466 addAlgorithm(
new QgsExportToRegisteredSpatialiteAlgorithm() );
479 addAlgorithm(
new QgsExtractNetworkEndpointsAlgorithm() );
481 addAlgorithm(
new QgsExtractSpecificVerticesAlgorithm() );
482 addAlgorithm(
new QgsExtractWithinDistanceAlgorithm() );
500 addAlgorithm(
new QgsFuzzifyRasterLinearMembershipAlgorithm() );
501 addAlgorithm(
new QgsFuzzifyRasterPowerMembershipAlgorithm() );
502 addAlgorithm(
new QgsFuzzifyRasterLargeMembershipAlgorithm() );
503 addAlgorithm(
new QgsFuzzifyRasterSmallMembershipAlgorithm() );
504 addAlgorithm(
new QgsFuzzifyRasterGaussianMembershipAlgorithm() );
505 addAlgorithm(
new QgsFuzzifyRasterNearMembershipAlgorithm() );
506 addAlgorithm(
new QgsGenerateElevationProfileAlgorithm() );
509#if QT_CONFIG( process )
510 addAlgorithm(
new QgsConvertGpxFeatureTypeAlgorithm() );
524 addAlgorithm(
new QgsJoinByLocationSummaryAlgorithm() );
530 addAlgorithm(
new QgsLayoutMapExtentToLayerAlgorithm() );
533 addAlgorithm(
new QgsLayoutAtlasToMultiplePdfAlgorithm() );
548 addAlgorithm(
new QgsMinimumBoundingGeometryAlgorithm() );
549 addAlgorithm(
new QgsMinimumEnclosingCircleAlgorithm() );
552 addAlgorithm(
new QgsMultipartToSinglepartAlgorithm() );
553 addAlgorithm(
new QgsMultiRingConstantBufferAlgorithm() );
555 addAlgorithm(
new QgsNearestNeighbourAnalysisAlgorithm() );
558 addAlgorithm(
new QgsOrientedMinimumBoundingBoxAlgorithm() );
561 addAlgorithm(
new QgsPixelCentroidsFromPolygonsAlgorithm() );
562 addAlgorithm(
new QgsCreateArrayOffsetLinesAlgorithm() );
569 addAlgorithm(
new QgsPoleOfInaccessibilityAlgorithm() );
571 addAlgorithm(
new QgsProjectPointCartesianAlgorithm() );
577 addAlgorithm(
new QgsRandomExponentialRasterAlgorithm() );
579 addAlgorithm(
new QgsRandomExtractWithinSubsetsAlgorithm() );
581 addAlgorithm(
new QgsRandomGeometricRasterAlgorithm() );
582 addAlgorithm(
new QgsRandomNegativeBinomialRasterAlgorithm() );
585 addAlgorithm(
new QgsRandomPointsInPolygonsAlgorithm() );
589 addAlgorithm(
new QgsRandomSelectionWithinSubsetsAlgorithm() );
592 addAlgorithm(
new QgsRasterCalculatorModelerAlgorithm() );
593 addAlgorithm(
new QgsRasterDtmSlopeBasedFilterAlgorithm() );
594 addAlgorithm(
new QgsRasterFeaturePreservingSmoothingAlgorithm() );
595 addAlgorithm(
new QgsRasterFrequencyByEqualOperatorAlgorithm() );
596 addAlgorithm(
new QgsRasterFrequencyByGreaterThanOperatorAlgorithm() );
597 addAlgorithm(
new QgsRasterFrequencyByLessThanOperatorAlgorithm() );
599 addAlgorithm(
new QgsRasterLayerPropertiesAlgorithm() );
600 addAlgorithm(
new QgsRasterLayerUniqueValuesReportAlgorithm() );
601 addAlgorithm(
new QgsRasterLayerZonalStatsAlgorithm() );
607 addAlgorithm(
new QgsRasterPixelsToPolygonsAlgorithm() );
610 addAlgorithm(
new QgsRasterStackHighestPositionAlgorithm() );
611 addAlgorithm(
new QgsRasterStackLowestPositionAlgorithm() );
614 addAlgorithm(
new QgsAlgorithmRemoveDuplicateVertices() );
617 addAlgorithm(
new QgsRectanglesOvalsDiamondsAlgorithm() );
619 addAlgorithm(
new QgsRemoveDuplicatesByAttributeAlgorithm() );
637 addAlgorithm(
new QgsSegmentizeByMaximumAngleAlgorithm() );
638 addAlgorithm(
new QgsSegmentizeByMaximumDistanceAlgorithm() );
650 addAlgorithm(
new QgsShapefileEncodingInfoAlgorithm() );
652 addAlgorithm(
new QgsShortestPathLayerToPointAlgorithm() );
653 addAlgorithm(
new QgsShortestPathPointToLayerAlgorithm() );
654 addAlgorithm(
new QgsShortestPathPointToPointAlgorithm() );
662 addAlgorithm(
new QgsSplitFeaturesByAttributeCharacterAlgorithm() );
663 addAlgorithm(
new QgsSplitGeometryAtAntimeridianAlgorithm() );
673 addAlgorithm(
new QgsSymmetricalDifferenceAlgorithm() );
678 addAlgorithm(
new QgsTransectFixedDistanceAlgorithm() );
679 addAlgorithm(
new QgsTransferAnnotationsFromMainAlgorithm() );
689 addAlgorithm(
new QgsVariableWidthBufferByMAlgorithm() );
690 addAlgorithm(
new QgsVirtualRasterCalculatorAlgorithm() );
691 addAlgorithm(
new QgsVirtualRasterCalculatorModelerAlgorithm() );
695 addAlgorithm(
new QgsWriteVectorTilesMbtilesAlgorithm() );
699 addAlgorithm(
new QgsZonalMinimumMaximumPointAlgorithm() );
701 addAlgorithm(
new QgsZonalStatisticsFeatureBasedAlgorithm() );
703 addAlgorithm(
new QgsDensifyGeometriesByIntervalAlgorithm() );
704 addAlgorithm(
new QgsDensifyGeometriesByCountAlgorithm() );
706 addAlgorithm(
new QgsFixGeometryDeleteFeaturesAlgorithm() );
708 addAlgorithm(
new QgsFixGeometryDuplicateNodesAlgorithm() );
710 addAlgorithm(
new QgsFixGeometrySelfIntersectionAlgorithm() );
714 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.