159#include "moc_qgsnativealgorithms.cpp"
161using namespace Qt::StringLiterals;
163#if QT_CONFIG( process )
354 return tr(
"QGIS (native c++)" );
369 const QgsScopedRuntimeProfile profile( QObject::tr(
"QGIS native provider" ) );
382 addAlgorithm(
new QgsApproximateMedialAxisAlgorithm() );
383 addAlgorithm(
new QgsArrayTranslatedFeaturesAlgorithm() );
389 addAlgorithm(
new QgsBatchNominatimGeocodeAlgorithm() );
395 addAlgorithm(
new QgsCalculateVectorOverlapsAlgorithm() );
398 addAlgorithm(
new QgsCellStatisticsPercentileAlgorithm() );
399 addAlgorithm(
new QgsCellStatisticsPercentRankFromRasterAlgorithm() );
400 addAlgorithm(
new QgsCellStatisticsPercentRankFromValueAlgorithm() );
403 addAlgorithm(
new QgsGeometryCheckSegmentLengthAlgorithm() );
407 addAlgorithm(
new QgsGeometryCheckMissingVertexAlgorithm() );
408 addAlgorithm(
new QgsGeometryCheckLineIntersectionAlgorithm() );
409 addAlgorithm(
new QgsGeometryCheckLineLayerIntersectionAlgorithm() );
410 addAlgorithm(
new QgsGeometryCheckPointCoveredByLineAlgorithm() );
411 addAlgorithm(
new QgsGeometryCheckPointInPolygonAlgorithm() );
413 addAlgorithm(
new QgsGeometryCheckSliverPolygonAlgorithm() );
414 addAlgorithm(
new QgsGeometryCheckSelfContactAlgorithm() );
416 addAlgorithm(
new QgsGeometryCheckFollowBoundariesAlgorithm() );
417 addAlgorithm(
new QgsGeometryCheckDuplicateNodesAlgorithm() );
419 addAlgorithm(
new QgsGeometryCheckDuplicateAlgorithm() );
420 addAlgorithm(
new QgsGeometryCheckSelfIntersectionAlgorithm() );
421 addAlgorithm(
new QgsGeometryCheckMultipartAlgorithm() );
422 addAlgorithm(
new QgsGeometryCheckDegeneratePolygonAlgorithm() );
423 addAlgorithm(
new QgsGeometryCheckContainedAlgorithm() );
430 addAlgorithm(
new QgsConcaveHullOfPolygonsAlgorithm() );
444 addAlgorithm(
new QgsDelaunayTriangulationAlgorithm() );
445 addAlgorithm(
new QgsDeleteDuplicateGeometriesAlgorithm() );
458 addAlgorithm(
new QgsExecuteAndLoadPostgisQueryAlgorithm() );
460 addAlgorithm(
new QgsExecuteRegisteredSpatialiteQueryAlgorithm() );
461 addAlgorithm(
new QgsExecuteSpatialiteQueryAlgorithm() );
464 addAlgorithm(
new QgsExportGeometryAttributesAlgorithm() );
465 addAlgorithm(
new QgsExportLayersInformationAlgorithm() );
472 addAlgorithm(
new QgsExportToRegisteredSpatialiteAlgorithm() );
485 addAlgorithm(
new QgsExtractNetworkEndpointsAlgorithm() );
487 addAlgorithm(
new QgsExtractSpecificVerticesAlgorithm() );
488 addAlgorithm(
new QgsExtractWithinDistanceAlgorithm() );
506 addAlgorithm(
new QgsFuzzifyRasterLinearMembershipAlgorithm() );
507 addAlgorithm(
new QgsFuzzifyRasterPowerMembershipAlgorithm() );
508 addAlgorithm(
new QgsFuzzifyRasterLargeMembershipAlgorithm() );
509 addAlgorithm(
new QgsFuzzifyRasterSmallMembershipAlgorithm() );
510 addAlgorithm(
new QgsFuzzifyRasterGaussianMembershipAlgorithm() );
511 addAlgorithm(
new QgsFuzzifyRasterNearMembershipAlgorithm() );
512 addAlgorithm(
new QgsGenerateElevationProfileAlgorithm() );
515#if QT_CONFIG( process )
516 addAlgorithm(
new QgsConvertGpxFeatureTypeAlgorithm() );
531 addAlgorithm(
new QgsJoinByLocationSummaryAlgorithm() );
537 addAlgorithm(
new QgsLayoutMapExtentToLayerAlgorithm() );
540 addAlgorithm(
new QgsLayoutAtlasToMultiplePdfAlgorithm() );
555 addAlgorithm(
new QgsMinimumBoundingGeometryAlgorithm() );
556 addAlgorithm(
new QgsMinimumEnclosingCircleAlgorithm() );
559 addAlgorithm(
new QgsMultipartToSinglepartAlgorithm() );
560 addAlgorithm(
new QgsMultiRingConstantBufferAlgorithm() );
562 addAlgorithm(
new QgsNearestNeighbourAnalysisAlgorithm() );
565 addAlgorithm(
new QgsOrientedMinimumBoundingBoxAlgorithm() );
568 addAlgorithm(
new QgsPixelCentroidsFromPolygonsAlgorithm() );
569 addAlgorithm(
new QgsCreateArrayOffsetLinesAlgorithm() );
576 addAlgorithm(
new QgsPoleOfInaccessibilityAlgorithm() );
578 addAlgorithm(
new QgsProjectPointCartesianAlgorithm() );
584 addAlgorithm(
new QgsRandomExponentialRasterAlgorithm() );
586 addAlgorithm(
new QgsRandomExtractWithinSubsetsAlgorithm() );
588 addAlgorithm(
new QgsRandomGeometricRasterAlgorithm() );
589 addAlgorithm(
new QgsRandomNegativeBinomialRasterAlgorithm() );
592 addAlgorithm(
new QgsRandomPointsInPolygonsAlgorithm() );
596 addAlgorithm(
new QgsRandomSelectionWithinSubsetsAlgorithm() );
599 addAlgorithm(
new QgsRasterCalculatorModelerAlgorithm() );
600 addAlgorithm(
new QgsRasterDtmSlopeBasedFilterAlgorithm() );
601 addAlgorithm(
new QgsRasterFeaturePreservingSmoothingAlgorithm() );
602 addAlgorithm(
new QgsRasterFrequencyByEqualOperatorAlgorithm() );
603 addAlgorithm(
new QgsRasterFrequencyByGreaterThanOperatorAlgorithm() );
604 addAlgorithm(
new QgsRasterFrequencyByLessThanOperatorAlgorithm() );
606 addAlgorithm(
new QgsRasterLayerPropertiesAlgorithm() );
607 addAlgorithm(
new QgsRasterLayerUniqueValuesReportAlgorithm() );
608 addAlgorithm(
new QgsRasterLayerZonalStatsAlgorithm() );
614 addAlgorithm(
new QgsRasterPixelsToPolygonsAlgorithm() );
617 addAlgorithm(
new QgsRasterStackHighestPositionAlgorithm() );
618 addAlgorithm(
new QgsRasterStackLowestPositionAlgorithm() );
621 addAlgorithm(
new QgsAlgorithmRemoveDuplicateVertices() );
624 addAlgorithm(
new QgsRectanglesOvalsDiamondsAlgorithm() );
627 addAlgorithm(
new QgsRemoveDuplicatesByAttributeAlgorithm() );
645 addAlgorithm(
new QgsSegmentizeByMaximumAngleAlgorithm() );
646 addAlgorithm(
new QgsSegmentizeByMaximumDistanceAlgorithm() );
658 addAlgorithm(
new QgsShapefileEncodingInfoAlgorithm() );
660 addAlgorithm(
new QgsShortestPathLayerToPointAlgorithm() );
661 addAlgorithm(
new QgsShortestPathPointToLayerAlgorithm() );
662 addAlgorithm(
new QgsShortestPathPointToPointAlgorithm() );
670 addAlgorithm(
new QgsSplitFeaturesByAttributeCharacterAlgorithm() );
671 addAlgorithm(
new QgsSplitGeometryAtAntimeridianAlgorithm() );
681 addAlgorithm(
new QgsSymmetricalDifferenceAlgorithm() );
686 addAlgorithm(
new QgsTransectFixedDistanceAlgorithm() );
687 addAlgorithm(
new QgsTransferAnnotationsFromMainAlgorithm() );
697 addAlgorithm(
new QgsVariableWidthBufferByMAlgorithm() );
698 addAlgorithm(
new QgsVirtualRasterCalculatorAlgorithm() );
699 addAlgorithm(
new QgsVirtualRasterCalculatorModelerAlgorithm() );
703 addAlgorithm(
new QgsWriteVectorTilesMbtilesAlgorithm() );
707 addAlgorithm(
new QgsZonalMinimumMaximumPointAlgorithm() );
709 addAlgorithm(
new QgsZonalStatisticsFeatureBasedAlgorithm() );
711 addAlgorithm(
new QgsDensifyGeometriesByIntervalAlgorithm() );
712 addAlgorithm(
new QgsDensifyGeometriesByCountAlgorithm() );
714 addAlgorithm(
new QgsFixGeometryDeleteFeaturesAlgorithm() );
716 addAlgorithm(
new QgsFixGeometryDuplicateNodesAlgorithm() );
718 addAlgorithm(
new QgsFixGeometrySelfIntersectionAlgorithm() );
722 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.