160#include "moc_qgsnativealgorithms.cpp"
162using namespace Qt::StringLiterals;
164#if QT_CONFIG( process )
355 return tr(
"QGIS (native c++)" );
370 const QgsScopedRuntimeProfile profile( QObject::tr(
"QGIS native provider" ) );
383 addAlgorithm(
new QgsApproximateMedialAxisAlgorithm() );
384 addAlgorithm(
new QgsArrayTranslatedFeaturesAlgorithm() );
390 addAlgorithm(
new QgsBatchNominatimGeocodeAlgorithm() );
396 addAlgorithm(
new QgsCalculateVectorOverlapsAlgorithm() );
399 addAlgorithm(
new QgsCellStatisticsPercentileAlgorithm() );
400 addAlgorithm(
new QgsCellStatisticsPercentRankFromRasterAlgorithm() );
401 addAlgorithm(
new QgsCellStatisticsPercentRankFromValueAlgorithm() );
404 addAlgorithm(
new QgsGeometryCheckSegmentLengthAlgorithm() );
408 addAlgorithm(
new QgsGeometryCheckMissingVertexAlgorithm() );
409 addAlgorithm(
new QgsGeometryCheckLineIntersectionAlgorithm() );
410 addAlgorithm(
new QgsGeometryCheckLineLayerIntersectionAlgorithm() );
411 addAlgorithm(
new QgsGeometryCheckPointCoveredByLineAlgorithm() );
412 addAlgorithm(
new QgsGeometryCheckPointInPolygonAlgorithm() );
414 addAlgorithm(
new QgsGeometryCheckSliverPolygonAlgorithm() );
415 addAlgorithm(
new QgsGeometryCheckSelfContactAlgorithm() );
417 addAlgorithm(
new QgsGeometryCheckFollowBoundariesAlgorithm() );
418 addAlgorithm(
new QgsGeometryCheckDuplicateNodesAlgorithm() );
420 addAlgorithm(
new QgsGeometryCheckDuplicateAlgorithm() );
421 addAlgorithm(
new QgsGeometryCheckSelfIntersectionAlgorithm() );
422 addAlgorithm(
new QgsGeometryCheckMultipartAlgorithm() );
423 addAlgorithm(
new QgsGeometryCheckDegeneratePolygonAlgorithm() );
424 addAlgorithm(
new QgsGeometryCheckContainedAlgorithm() );
431 addAlgorithm(
new QgsConcaveHullOfPolygonsAlgorithm() );
445 addAlgorithm(
new QgsDelaunayTriangulationAlgorithm() );
446 addAlgorithm(
new QgsDeleteDuplicateGeometriesAlgorithm() );
459 addAlgorithm(
new QgsExecuteAndLoadPostgisQueryAlgorithm() );
461 addAlgorithm(
new QgsExecuteRegisteredSpatialiteQueryAlgorithm() );
462 addAlgorithm(
new QgsExecuteSpatialiteQueryAlgorithm() );
466 addAlgorithm(
new QgsExportGeometryAttributesAlgorithm() );
467 addAlgorithm(
new QgsExportLayersInformationAlgorithm() );
474 addAlgorithm(
new QgsExportToRegisteredSpatialiteAlgorithm() );
487 addAlgorithm(
new QgsExtractNetworkEndpointsAlgorithm() );
489 addAlgorithm(
new QgsExtractSpecificVerticesAlgorithm() );
490 addAlgorithm(
new QgsExtractWithinDistanceAlgorithm() );
508 addAlgorithm(
new QgsFuzzifyRasterLinearMembershipAlgorithm() );
509 addAlgorithm(
new QgsFuzzifyRasterPowerMembershipAlgorithm() );
510 addAlgorithm(
new QgsFuzzifyRasterLargeMembershipAlgorithm() );
511 addAlgorithm(
new QgsFuzzifyRasterSmallMembershipAlgorithm() );
512 addAlgorithm(
new QgsFuzzifyRasterGaussianMembershipAlgorithm() );
513 addAlgorithm(
new QgsFuzzifyRasterNearMembershipAlgorithm() );
514 addAlgorithm(
new QgsGenerateElevationProfileAlgorithm() );
517#if QT_CONFIG( process )
518 addAlgorithm(
new QgsConvertGpxFeatureTypeAlgorithm() );
533 addAlgorithm(
new QgsJoinByLocationSummaryAlgorithm() );
539 addAlgorithm(
new QgsLayoutMapExtentToLayerAlgorithm() );
542 addAlgorithm(
new QgsLayoutAtlasToMultiplePdfAlgorithm() );
557 addAlgorithm(
new QgsMinimumBoundingGeometryAlgorithm() );
558 addAlgorithm(
new QgsMinimumEnclosingCircleAlgorithm() );
561 addAlgorithm(
new QgsMultipartToSinglepartAlgorithm() );
562 addAlgorithm(
new QgsMultiRingConstantBufferAlgorithm() );
564 addAlgorithm(
new QgsNearestNeighbourAnalysisAlgorithm() );
567 addAlgorithm(
new QgsOrientedMinimumBoundingBoxAlgorithm() );
570 addAlgorithm(
new QgsPixelCentroidsFromPolygonsAlgorithm() );
571 addAlgorithm(
new QgsCreateArrayOffsetLinesAlgorithm() );
578 addAlgorithm(
new QgsPoleOfInaccessibilityAlgorithm() );
580 addAlgorithm(
new QgsProjectPointCartesianAlgorithm() );
586 addAlgorithm(
new QgsRandomExponentialRasterAlgorithm() );
588 addAlgorithm(
new QgsRandomExtractWithinSubsetsAlgorithm() );
590 addAlgorithm(
new QgsRandomGeometricRasterAlgorithm() );
591 addAlgorithm(
new QgsRandomNegativeBinomialRasterAlgorithm() );
594 addAlgorithm(
new QgsRandomPointsInPolygonsAlgorithm() );
598 addAlgorithm(
new QgsRandomSelectionWithinSubsetsAlgorithm() );
601 addAlgorithm(
new QgsRasterCalculatorModelerAlgorithm() );
602 addAlgorithm(
new QgsRasterDtmSlopeBasedFilterAlgorithm() );
603 addAlgorithm(
new QgsRasterFeaturePreservingSmoothingAlgorithm() );
604 addAlgorithm(
new QgsRasterFrequencyByEqualOperatorAlgorithm() );
605 addAlgorithm(
new QgsRasterFrequencyByGreaterThanOperatorAlgorithm() );
606 addAlgorithm(
new QgsRasterFrequencyByLessThanOperatorAlgorithm() );
608 addAlgorithm(
new QgsRasterLayerPropertiesAlgorithm() );
609 addAlgorithm(
new QgsRasterLayerUniqueValuesReportAlgorithm() );
610 addAlgorithm(
new QgsRasterLayerZonalStatsAlgorithm() );
616 addAlgorithm(
new QgsRasterPixelsToPolygonsAlgorithm() );
619 addAlgorithm(
new QgsRasterStackHighestPositionAlgorithm() );
620 addAlgorithm(
new QgsRasterStackLowestPositionAlgorithm() );
623 addAlgorithm(
new QgsAlgorithmRemoveDuplicateVertices() );
626 addAlgorithm(
new QgsRectanglesOvalsDiamondsAlgorithm() );
629 addAlgorithm(
new QgsRemoveDuplicatesByAttributeAlgorithm() );
647 addAlgorithm(
new QgsSegmentizeByMaximumAngleAlgorithm() );
648 addAlgorithm(
new QgsSegmentizeByMaximumDistanceAlgorithm() );
660 addAlgorithm(
new QgsShapefileEncodingInfoAlgorithm() );
662 addAlgorithm(
new QgsShortestPathLayerToPointAlgorithm() );
663 addAlgorithm(
new QgsShortestPathPointToLayerAlgorithm() );
664 addAlgorithm(
new QgsShortestPathPointToPointAlgorithm() );
672 addAlgorithm(
new QgsSplitFeaturesByAttributeCharacterAlgorithm() );
673 addAlgorithm(
new QgsSplitGeometryAtAntimeridianAlgorithm() );
683 addAlgorithm(
new QgsSymmetricalDifferenceAlgorithm() );
688 addAlgorithm(
new QgsTransectFixedDistanceAlgorithm() );
689 addAlgorithm(
new QgsTransferAnnotationsFromMainAlgorithm() );
699 addAlgorithm(
new QgsVariableWidthBufferByMAlgorithm() );
700 addAlgorithm(
new QgsVirtualRasterCalculatorAlgorithm() );
701 addAlgorithm(
new QgsVirtualRasterCalculatorModelerAlgorithm() );
705 addAlgorithm(
new QgsWriteVectorTilesMbtilesAlgorithm() );
709 addAlgorithm(
new QgsZonalMinimumMaximumPointAlgorithm() );
711 addAlgorithm(
new QgsZonalStatisticsFeatureBasedAlgorithm() );
713 addAlgorithm(
new QgsDensifyGeometriesByIntervalAlgorithm() );
714 addAlgorithm(
new QgsDensifyGeometriesByCountAlgorithm() );
716 addAlgorithm(
new QgsFixGeometryDeleteFeaturesAlgorithm() );
718 addAlgorithm(
new QgsFixGeometryDuplicateNodesAlgorithm() );
720 addAlgorithm(
new QgsFixGeometrySelfIntersectionAlgorithm() );
724 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.