158#include "moc_qgsnativealgorithms.cpp"
160using namespace Qt::StringLiterals;
162#if QT_CONFIG( process )
353 return tr(
"QGIS (native c++)" );
368 const QgsScopedRuntimeProfile profile( QObject::tr(
"QGIS native provider" ) );
381 addAlgorithm(
new QgsApproximateMedialAxisAlgorithm() );
382 addAlgorithm(
new QgsArrayTranslatedFeaturesAlgorithm() );
388 addAlgorithm(
new QgsBatchNominatimGeocodeAlgorithm() );
394 addAlgorithm(
new QgsCalculateVectorOverlapsAlgorithm() );
397 addAlgorithm(
new QgsCellStatisticsPercentileAlgorithm() );
398 addAlgorithm(
new QgsCellStatisticsPercentRankFromRasterAlgorithm() );
399 addAlgorithm(
new QgsCellStatisticsPercentRankFromValueAlgorithm() );
402 addAlgorithm(
new QgsGeometryCheckSegmentLengthAlgorithm() );
406 addAlgorithm(
new QgsGeometryCheckMissingVertexAlgorithm() );
407 addAlgorithm(
new QgsGeometryCheckLineIntersectionAlgorithm() );
408 addAlgorithm(
new QgsGeometryCheckLineLayerIntersectionAlgorithm() );
409 addAlgorithm(
new QgsGeometryCheckPointCoveredByLineAlgorithm() );
410 addAlgorithm(
new QgsGeometryCheckPointInPolygonAlgorithm() );
412 addAlgorithm(
new QgsGeometryCheckSliverPolygonAlgorithm() );
413 addAlgorithm(
new QgsGeometryCheckSelfContactAlgorithm() );
415 addAlgorithm(
new QgsGeometryCheckFollowBoundariesAlgorithm() );
416 addAlgorithm(
new QgsGeometryCheckDuplicateNodesAlgorithm() );
418 addAlgorithm(
new QgsGeometryCheckDuplicateAlgorithm() );
419 addAlgorithm(
new QgsGeometryCheckSelfIntersectionAlgorithm() );
420 addAlgorithm(
new QgsGeometryCheckMultipartAlgorithm() );
421 addAlgorithm(
new QgsGeometryCheckDegeneratePolygonAlgorithm() );
422 addAlgorithm(
new QgsGeometryCheckContainedAlgorithm() );
429 addAlgorithm(
new QgsConcaveHullOfPolygonsAlgorithm() );
442 addAlgorithm(
new QgsDelaunayTriangulationAlgorithm() );
443 addAlgorithm(
new QgsDeleteDuplicateGeometriesAlgorithm() );
456 addAlgorithm(
new QgsExecuteAndLoadPostgisQueryAlgorithm() );
458 addAlgorithm(
new QgsExecuteRegisteredSpatialiteQueryAlgorithm() );
459 addAlgorithm(
new QgsExecuteSpatialiteQueryAlgorithm() );
462 addAlgorithm(
new QgsExportGeometryAttributesAlgorithm() );
463 addAlgorithm(
new QgsExportLayersInformationAlgorithm() );
470 addAlgorithm(
new QgsExportToRegisteredSpatialiteAlgorithm() );
483 addAlgorithm(
new QgsExtractNetworkEndpointsAlgorithm() );
485 addAlgorithm(
new QgsExtractSpecificVerticesAlgorithm() );
486 addAlgorithm(
new QgsExtractWithinDistanceAlgorithm() );
504 addAlgorithm(
new QgsFuzzifyRasterLinearMembershipAlgorithm() );
505 addAlgorithm(
new QgsFuzzifyRasterPowerMembershipAlgorithm() );
506 addAlgorithm(
new QgsFuzzifyRasterLargeMembershipAlgorithm() );
507 addAlgorithm(
new QgsFuzzifyRasterSmallMembershipAlgorithm() );
508 addAlgorithm(
new QgsFuzzifyRasterGaussianMembershipAlgorithm() );
509 addAlgorithm(
new QgsFuzzifyRasterNearMembershipAlgorithm() );
510 addAlgorithm(
new QgsGenerateElevationProfileAlgorithm() );
513#if QT_CONFIG( process )
514 addAlgorithm(
new QgsConvertGpxFeatureTypeAlgorithm() );
529 addAlgorithm(
new QgsJoinByLocationSummaryAlgorithm() );
535 addAlgorithm(
new QgsLayoutMapExtentToLayerAlgorithm() );
538 addAlgorithm(
new QgsLayoutAtlasToMultiplePdfAlgorithm() );
553 addAlgorithm(
new QgsMinimumBoundingGeometryAlgorithm() );
554 addAlgorithm(
new QgsMinimumEnclosingCircleAlgorithm() );
557 addAlgorithm(
new QgsMultipartToSinglepartAlgorithm() );
558 addAlgorithm(
new QgsMultiRingConstantBufferAlgorithm() );
560 addAlgorithm(
new QgsNearestNeighbourAnalysisAlgorithm() );
563 addAlgorithm(
new QgsOrientedMinimumBoundingBoxAlgorithm() );
566 addAlgorithm(
new QgsPixelCentroidsFromPolygonsAlgorithm() );
567 addAlgorithm(
new QgsCreateArrayOffsetLinesAlgorithm() );
574 addAlgorithm(
new QgsPoleOfInaccessibilityAlgorithm() );
576 addAlgorithm(
new QgsProjectPointCartesianAlgorithm() );
582 addAlgorithm(
new QgsRandomExponentialRasterAlgorithm() );
584 addAlgorithm(
new QgsRandomExtractWithinSubsetsAlgorithm() );
586 addAlgorithm(
new QgsRandomGeometricRasterAlgorithm() );
587 addAlgorithm(
new QgsRandomNegativeBinomialRasterAlgorithm() );
590 addAlgorithm(
new QgsRandomPointsInPolygonsAlgorithm() );
594 addAlgorithm(
new QgsRandomSelectionWithinSubsetsAlgorithm() );
597 addAlgorithm(
new QgsRasterCalculatorModelerAlgorithm() );
598 addAlgorithm(
new QgsRasterDtmSlopeBasedFilterAlgorithm() );
599 addAlgorithm(
new QgsRasterFeaturePreservingSmoothingAlgorithm() );
600 addAlgorithm(
new QgsRasterFrequencyByEqualOperatorAlgorithm() );
601 addAlgorithm(
new QgsRasterFrequencyByGreaterThanOperatorAlgorithm() );
602 addAlgorithm(
new QgsRasterFrequencyByLessThanOperatorAlgorithm() );
604 addAlgorithm(
new QgsRasterLayerPropertiesAlgorithm() );
605 addAlgorithm(
new QgsRasterLayerUniqueValuesReportAlgorithm() );
606 addAlgorithm(
new QgsRasterLayerZonalStatsAlgorithm() );
612 addAlgorithm(
new QgsRasterPixelsToPolygonsAlgorithm() );
615 addAlgorithm(
new QgsRasterStackHighestPositionAlgorithm() );
616 addAlgorithm(
new QgsRasterStackLowestPositionAlgorithm() );
619 addAlgorithm(
new QgsAlgorithmRemoveDuplicateVertices() );
622 addAlgorithm(
new QgsRectanglesOvalsDiamondsAlgorithm() );
625 addAlgorithm(
new QgsRemoveDuplicatesByAttributeAlgorithm() );
643 addAlgorithm(
new QgsSegmentizeByMaximumAngleAlgorithm() );
644 addAlgorithm(
new QgsSegmentizeByMaximumDistanceAlgorithm() );
656 addAlgorithm(
new QgsShapefileEncodingInfoAlgorithm() );
658 addAlgorithm(
new QgsShortestPathLayerToPointAlgorithm() );
659 addAlgorithm(
new QgsShortestPathPointToLayerAlgorithm() );
660 addAlgorithm(
new QgsShortestPathPointToPointAlgorithm() );
668 addAlgorithm(
new QgsSplitFeaturesByAttributeCharacterAlgorithm() );
669 addAlgorithm(
new QgsSplitGeometryAtAntimeridianAlgorithm() );
679 addAlgorithm(
new QgsSymmetricalDifferenceAlgorithm() );
684 addAlgorithm(
new QgsTransectFixedDistanceAlgorithm() );
685 addAlgorithm(
new QgsTransferAnnotationsFromMainAlgorithm() );
695 addAlgorithm(
new QgsVariableWidthBufferByMAlgorithm() );
696 addAlgorithm(
new QgsVirtualRasterCalculatorAlgorithm() );
697 addAlgorithm(
new QgsVirtualRasterCalculatorModelerAlgorithm() );
701 addAlgorithm(
new QgsWriteVectorTilesMbtilesAlgorithm() );
705 addAlgorithm(
new QgsZonalMinimumMaximumPointAlgorithm() );
707 addAlgorithm(
new QgsZonalStatisticsFeatureBasedAlgorithm() );
709 addAlgorithm(
new QgsDensifyGeometriesByIntervalAlgorithm() );
710 addAlgorithm(
new QgsDensifyGeometriesByCountAlgorithm() );
712 addAlgorithm(
new QgsFixGeometryDeleteFeaturesAlgorithm() );
714 addAlgorithm(
new QgsFixGeometryDuplicateNodesAlgorithm() );
716 addAlgorithm(
new QgsFixGeometrySelfIntersectionAlgorithm() );
720 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.