161#include "moc_qgsnativealgorithms.cpp"
163using namespace Qt::StringLiterals;
165#if QT_CONFIG( process )
357 return tr(
"QGIS (native c++)" );
372 const QgsScopedRuntimeProfile profile( QObject::tr(
"QGIS native provider" ) );
385 addAlgorithm(
new QgsApproximateMedialAxisAlgorithm() );
386 addAlgorithm(
new QgsArrayTranslatedFeaturesAlgorithm() );
392 addAlgorithm(
new QgsBatchNominatimGeocodeAlgorithm() );
398 addAlgorithm(
new QgsCalculateVectorOverlapsAlgorithm() );
401 addAlgorithm(
new QgsCellStatisticsPercentileAlgorithm() );
402 addAlgorithm(
new QgsCellStatisticsPercentRankFromRasterAlgorithm() );
403 addAlgorithm(
new QgsCellStatisticsPercentRankFromValueAlgorithm() );
406 addAlgorithm(
new QgsGeometryCheckSegmentLengthAlgorithm() );
410 addAlgorithm(
new QgsGeometryCheckMissingVertexAlgorithm() );
411 addAlgorithm(
new QgsGeometryCheckLineIntersectionAlgorithm() );
412 addAlgorithm(
new QgsGeometryCheckLineLayerIntersectionAlgorithm() );
413 addAlgorithm(
new QgsGeometryCheckPointCoveredByLineAlgorithm() );
414 addAlgorithm(
new QgsGeometryCheckPointInPolygonAlgorithm() );
416 addAlgorithm(
new QgsGeometryCheckSliverPolygonAlgorithm() );
417 addAlgorithm(
new QgsGeometryCheckSelfContactAlgorithm() );
419 addAlgorithm(
new QgsGeometryCheckFollowBoundariesAlgorithm() );
420 addAlgorithm(
new QgsGeometryCheckDuplicateNodesAlgorithm() );
422 addAlgorithm(
new QgsGeometryCheckDuplicateAlgorithm() );
423 addAlgorithm(
new QgsGeometryCheckSelfIntersectionAlgorithm() );
424 addAlgorithm(
new QgsGeometryCheckMultipartAlgorithm() );
425 addAlgorithm(
new QgsGeometryCheckDegeneratePolygonAlgorithm() );
426 addAlgorithm(
new QgsGeometryCheckContainedAlgorithm() );
433 addAlgorithm(
new QgsConcaveHullOfPolygonsAlgorithm() );
447 addAlgorithm(
new QgsDelaunayTriangulationAlgorithm() );
448 addAlgorithm(
new QgsDeleteDuplicateGeometriesAlgorithm() );
461 addAlgorithm(
new QgsExecuteAndLoadPostgisQueryAlgorithm() );
463 addAlgorithm(
new QgsExecuteRegisteredSpatialiteQueryAlgorithm() );
464 addAlgorithm(
new QgsExecuteSpatialiteQueryAlgorithm() );
468 addAlgorithm(
new QgsExportGeometryAttributesAlgorithm() );
469 addAlgorithm(
new QgsExportLayersInformationAlgorithm() );
476 addAlgorithm(
new QgsExportToRegisteredSpatialiteAlgorithm() );
489 addAlgorithm(
new QgsExtractNetworkEndpointsAlgorithm() );
491 addAlgorithm(
new QgsExtractSpecificVerticesAlgorithm() );
492 addAlgorithm(
new QgsExtractWithinDistanceAlgorithm() );
510 addAlgorithm(
new QgsFuzzifyRasterLinearMembershipAlgorithm() );
511 addAlgorithm(
new QgsFuzzifyRasterPowerMembershipAlgorithm() );
512 addAlgorithm(
new QgsFuzzifyRasterLargeMembershipAlgorithm() );
513 addAlgorithm(
new QgsFuzzifyRasterSmallMembershipAlgorithm() );
514 addAlgorithm(
new QgsFuzzifyRasterGaussianMembershipAlgorithm() );
515 addAlgorithm(
new QgsFuzzifyRasterNearMembershipAlgorithm() );
516 addAlgorithm(
new QgsGenerateElevationProfileAlgorithm() );
519#if QT_CONFIG( process )
520 addAlgorithm(
new QgsConvertGpxFeatureTypeAlgorithm() );
536 addAlgorithm(
new QgsJoinByLocationSummaryAlgorithm() );
542 addAlgorithm(
new QgsLayoutMapExtentToLayerAlgorithm() );
545 addAlgorithm(
new QgsLayoutAtlasToMultiplePdfAlgorithm() );
560 addAlgorithm(
new QgsMinimumBoundingGeometryAlgorithm() );
561 addAlgorithm(
new QgsMinimumEnclosingCircleAlgorithm() );
564 addAlgorithm(
new QgsMultipartToSinglepartAlgorithm() );
565 addAlgorithm(
new QgsMultiRingConstantBufferAlgorithm() );
567 addAlgorithm(
new QgsNearestNeighbourAnalysisAlgorithm() );
570 addAlgorithm(
new QgsOrientedMinimumBoundingBoxAlgorithm() );
573 addAlgorithm(
new QgsPixelCentroidsFromPolygonsAlgorithm() );
574 addAlgorithm(
new QgsCreateArrayOffsetLinesAlgorithm() );
581 addAlgorithm(
new QgsPoleOfInaccessibilityAlgorithm() );
583 addAlgorithm(
new QgsProjectPointCartesianAlgorithm() );
589 addAlgorithm(
new QgsRandomExponentialRasterAlgorithm() );
591 addAlgorithm(
new QgsRandomExtractWithinSubsetsAlgorithm() );
593 addAlgorithm(
new QgsRandomGeometricRasterAlgorithm() );
594 addAlgorithm(
new QgsRandomNegativeBinomialRasterAlgorithm() );
597 addAlgorithm(
new QgsRandomPointsInPolygonsAlgorithm() );
601 addAlgorithm(
new QgsRandomSelectionWithinSubsetsAlgorithm() );
604 addAlgorithm(
new QgsRasterCalculatorModelerAlgorithm() );
605 addAlgorithm(
new QgsRasterDtmSlopeBasedFilterAlgorithm() );
606 addAlgorithm(
new QgsRasterFeaturePreservingSmoothingAlgorithm() );
607 addAlgorithm(
new QgsRasterFrequencyByEqualOperatorAlgorithm() );
608 addAlgorithm(
new QgsRasterFrequencyByGreaterThanOperatorAlgorithm() );
609 addAlgorithm(
new QgsRasterFrequencyByLessThanOperatorAlgorithm() );
611 addAlgorithm(
new QgsRasterLayerPropertiesAlgorithm() );
612 addAlgorithm(
new QgsRasterLayerUniqueValuesReportAlgorithm() );
613 addAlgorithm(
new QgsRasterLayerZonalStatsAlgorithm() );
619 addAlgorithm(
new QgsRasterPixelsToPolygonsAlgorithm() );
622 addAlgorithm(
new QgsRasterStackHighestPositionAlgorithm() );
623 addAlgorithm(
new QgsRasterStackLowestPositionAlgorithm() );
626 addAlgorithm(
new QgsAlgorithmRemoveDuplicateVertices() );
629 addAlgorithm(
new QgsRectanglesOvalsDiamondsAlgorithm() );
632 addAlgorithm(
new QgsRemoveDuplicatesByAttributeAlgorithm() );
650 addAlgorithm(
new QgsSegmentizeByMaximumAngleAlgorithm() );
651 addAlgorithm(
new QgsSegmentizeByMaximumDistanceAlgorithm() );
663 addAlgorithm(
new QgsShapefileEncodingInfoAlgorithm() );
665 addAlgorithm(
new QgsShortestPathLayerToPointAlgorithm() );
666 addAlgorithm(
new QgsShortestPathPointToLayerAlgorithm() );
667 addAlgorithm(
new QgsShortestPathPointToPointAlgorithm() );
675 addAlgorithm(
new QgsSplitFeaturesByAttributeCharacterAlgorithm() );
676 addAlgorithm(
new QgsSplitGeometryAtAntimeridianAlgorithm() );
686 addAlgorithm(
new QgsSymmetricalDifferenceAlgorithm() );
692 addAlgorithm(
new QgsTransectFixedDistanceAlgorithm() );
693 addAlgorithm(
new QgsTransferAnnotationsFromMainAlgorithm() );
703 addAlgorithm(
new QgsVariableWidthBufferByMAlgorithm() );
704 addAlgorithm(
new QgsVirtualRasterCalculatorAlgorithm() );
705 addAlgorithm(
new QgsVirtualRasterCalculatorModelerAlgorithm() );
709 addAlgorithm(
new QgsWriteVectorTilesMbtilesAlgorithm() );
713 addAlgorithm(
new QgsZonalMinimumMaximumPointAlgorithm() );
715 addAlgorithm(
new QgsZonalStatisticsFeatureBasedAlgorithm() );
717 addAlgorithm(
new QgsDensifyGeometriesByIntervalAlgorithm() );
718 addAlgorithm(
new QgsDensifyGeometriesByCountAlgorithm() );
720 addAlgorithm(
new QgsFixGeometryDeleteFeaturesAlgorithm() );
722 addAlgorithm(
new QgsFixGeometryDuplicateNodesAlgorithm() );
724 addAlgorithm(
new QgsFixGeometrySelfIntersectionAlgorithm() );
728 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.