27 #include "qgis_core.h"
36 int QgisEvent = QEvent::User + 1;
43 #define QHASH_FOR_CLASS_ENUM(T) \
44 inline uint qHash(const T &t, uint seed) { \
45 return ::qHash(static_cast<typename std::underlying_type<T>::type>(t), seed); \
56 Q_CLASSINFO(
"RegisterEnumClassesUnscoped",
"false" )
65 static QString version();
72 static int versionInt();
79 static QString releaseName();
89 static QString devVersion();
106 Q_ENUM( MessageLevel )
139 HasGeometry = PointLayer | LineLayer | PolygonLayer,
140 VectorLayer = NoGeometry | HasGeometry,
144 VectorTileLayer = 256,
145 PointCloudLayer = 512,
146 AnnotationLayer = 1024,
147 TiledSceneLayer = 2048,
148 All = RasterLayer | VectorLayer | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer,
149 SpatialLayer = RasterLayer | HasGeometry | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer
191 GeometryCollection = 7,
203 MultiLineStringZ = 1005,
204 MultiPolygonZ = 1006,
205 GeometryCollectionZ = 1007,
206 CircularStringZ = 1008,
207 CompoundCurveZ = 1009,
208 CurvePolygonZ = 1010,
210 MultiSurfaceZ = 1012,
216 MultiLineStringM = 2005,
217 MultiPolygonM = 2006,
218 GeometryCollectionM = 2007,
219 CircularStringM = 2008,
220 CompoundCurveM = 2009,
221 CurvePolygonM = 2010,
223 MultiSurfaceM = 2012,
228 MultiLineStringZM = 3005,
229 MultiPolygonZM = 3006,
230 GeometryCollectionZM = 3007,
231 CircularStringZM = 3008,
232 CompoundCurveZM = 3009,
233 CurvePolygonZM = 3010,
235 MultiSurfaceZM = 3012,
237 Point25D = 0x80000001,
262 Q_ENUM( GeometryType )
284 ARGB32_Premultiplied = 13
300 Q_ENUM( CaptureTechnique )
311 Q_ENUM( VectorLayerTypeFlag )
328 Q_ENUM( PythonMacroMode )
340 Q_ENUM( FeatureCountState )
354 Q_ENUM( SpatialIndexPresence )
369 NoFeaturesAvailable = 0,
371 FeaturesMaybeAvailable
373 Q_ENUM( FeatureAvailability )
383 EditComment = 1 << 1,
386 Q_ENUM( VectorDataProviderAttributeEditCapability )
419 Q_ENUM( ScaleMethod )
438 Q_ENUM( SettingsType )
450 Q_ENUM( SettingsTreeNodeType )
458 NamedListSelectedItemSetting = 1 << 0,
461 Q_ENUM( SettingsTreeNodeOption )
479 Q_ENUM( PropertyType )
492 Q_ENUM( SldExportOption )
503 NoVendorExtension = 0,
504 GeoServerVendorExtension = 1 << 1,
505 DeegreeVendorExtension = 1 << 2,
507 Q_ENUM( SldExportVendorExtension )
516 SaveFormerValue = 1 << 1,
517 SaveEnumFlagAsInt = 1 << 2,
519 Q_ENUM( SettingsOption )
531 AdvancedConfiguration = 3,
533 Q_ENUM( SnappingMode )
549 Q_ENUM( SnappingType )
563 Q_ENUM( SymbolRenderHint )
578 Q_ENUM( SymbolRotationMode )
587 RendererShouldUseSymbolLevels = 1 << 0,
601 FlagIncludeCrosshairsForMarkerSymbols = 1 << 0,
603 Q_ENUM( SymbolPreviewFlag )
619 DisableFeatureClipping = 1 << 0,
621 Q_ENUM( SymbolLayerFlag )
637 DisableSelectionRecoloring = 1 << 0,
639 Q_ENUM( SymbolLayerUserFlag )
666 Q_ENUM( BrowserItemType )
679 Q_ENUM( BrowserItemState )
695 ItemRepresentsFile = 1 << 6,
696 RefreshChildrenWhenItemIsRefreshed = 1 << 7,
698 Q_ENUM( BrowserItemCapability )
718 Q_ENUM( DataItemProviderCapability )
752 Q_ENUM( BrowserLayerType )
765 Q_ENUM( BrowserDirectoryMonitoring )
798 Q_ENUM( VectorExportResult )
806 FieldAliases = 1 << 0,
807 FieldComments = 1 << 2,
809 Q_ENUM( VectorFileWriterCapability )
824 SubsetStringFilter = 1 << 1,
825 GeometryColumn = 1 << 2,
826 PrimaryKeys = 1 << 3,
827 UnstableFeatureIds = 1 << 4
829 Q_ENUM( SqlLayerDefinitionCapability )
851 Q_ENUM( SqlKeywordCategory )
879 Q_ENUM( ActionStart )
891 Q_ENUM( UnplacedLabelVisibility )
901 AllowOverlapIfRequired,
902 AllowOverlapAtNoCost,
904 Q_ENUM( LabelOverlapHandling )
921 OrderedPositionsAroundPoint,
925 Q_ENUM( LabelPlacement )
949 Q_ENUM( LabelPredefinedPointPosition )
964 Q_ENUM( LabelOffsetType )
985 Q_ENUM( LabelQuadrantPosition )
1000 Q_ENUM( LabelLinePlacementFlag )
1020 AllowPlacementOutsideOfPolygon = 1 << 0,
1021 AllowPlacementInsideOfPolygon = 1 << 1,
1023 Q_ENUM( LabelPolygonPlacementFlag )
1047 Q_ENUM( UpsideDownLabelHandling )
1064 Q_ENUM( LabelMultiLineAlignment )
1082 Q_ENUM( FileFilterType )
1092 ResolveGeometryType = 1 << 1,
1093 CountFeatures = 1 << 2,
1094 IncludeSystemTables = 1 << 3,
1108 SystemTable = 1 << 0,
1131 Q_ENUM( RasterPipeInterfaceRole )
1144 Q_ENUM( RasterResamplingStage )
1153 InternalLayerOpacityHandling = 1 << 0,
1193 Q_ENUM( RasterAttributeTableFieldUsage )
1205 Q_ENUM( RasterAttributeTableType )
1218 Q_ENUM( RasterExportType )
1229 SourceProviderError = 1,
1231 CreateDatasourceError = 3,
1236 Q_ENUM( RasterFileWriterResult )
1247 TooManyVerticesInFace,
1253 Q_ENUM( MeshEditingErrorType )
1265 Q_ENUM( FilePathType )
1275 AskExcludingRasterBands,
1279 Q_ENUM( SublayerPromptMode )
1291 NotSearchable = 1 << 1,
1292 HideFromWms = 1 << 2,
1293 HideFromWfs = 1 << 3,
1295 Q_ENUM( FieldConfigurationFlag )
1314 GeometryCrs = 0x1000,
1315 GeometryWkbType = 0x1001,
1316 CustomProperty = 0x100000,
1318 Q_ENUM( FieldMetadataProperty )
1331 Q_ENUM( SelectionRenderingMode )
1343 RemoveFromSelection,
1345 Q_ENUM( SelectBehavior )
1357 Q_ENUM( SelectGeometryRelationship )
1366 SingleFeatureSelection = 1 << 0,
1367 ToggleSelection = 1 << 1,
1390 FetchFeatureFailed = 3,
1393 Q_ENUM( VectorEditResult )
1402 SemiTransparentCircle,
1406 Q_ENUM( VertexMarkerType )
1420 Q_ENUM( ContentStatus )
1434 Q_ENUM( GpsConnectionType )
1447 Q_ENUM( DeviceConnectionStatus )
1502 Q_ENUM( GpsQualityIndicator )
1513 GroundSpeed = 1 << 2,
1515 TotalTrackLength = 1 << 4,
1516 TrackDistanceFromStart = 1 << 5,
1520 HorizontalAccuracy = 1 << 9,
1521 VerticalAccuracy = 1 << 10,
1522 HvAccuracy = 1 << 11,
1523 SatellitesUsed = 1 << 12,
1524 Timestamp = 1 << 13,
1525 TrackStartTime = 1 << 14,
1526 TrackEndTime = 1 << 15,
1527 TrackDistanceSinceLastPoint = 1 << 16,
1528 TrackTimeSinceLastPoint = 1 << 17,
1529 GeoidalSeparation = 1 << 18,
1530 EllipsoidAltitude = 1 << 19,
1568 QuoteFilePaths = 1 << 0,
1586 Q_ENUM( GpsFeatureType )
1598 NothingHappened = 1000,
1599 InvalidBaseGeometry,
1600 InvalidInputGeometryType,
1602 SelectionIsGreaterThanOne,
1603 GeometryEngineError,
1606 AddPartSelectedGeometryNotFound,
1607 AddPartNotMultiGeometry,
1611 AddRingCrossesExistingRings,
1612 AddRingNotInExistingFeature,
1614 SplitCannotSplitPoint,
1615 GeometryTypeHasChanged,
1617 Q_ENUM( GeometryOperationResult )
1642 Q_ENUM( GeometryValidationEngine )
1654 Q_ENUM( BufferSide )
1667 Q_ENUM( EndCapStyle )
1693 Q_ENUM( CoverageValidityResult )
1705 Q_ENUM( MakeValidMethod )
1718 SubsetOfAttributes = 2,
1720 IgnoreStaticNodesDuringExpressionCompilation = 8,
1721 EmbeddedSymbols = 16,
1723 Q_ENUM( FeatureRequestFlag )
1749 Q_ENUM( FeatureRequestFilterType )
1764 Q_ENUM( InvalidGeometryCheck )
1777 Q_ENUM( SpatialFilterType )
1786 IncludeMetadataFile = 1 << 0,
1787 IncludeStyleFile = 1 << 1,
1801 UsersCannotToggleEditing = 1 << 0,
1802 IsBasemapLayer = 1 << 1,
1820 Q_ENUM( AutoRefreshMode )
1829 IsBasemapSource = 1 << 1,
1830 FastExtent2D = 1 << 2,
1831 FastExtent3D = 1 << 3,
1913 Q_ENUM( CrsAxisDirection )
1926 Q_ENUM( CoordinateOrder )
1941 Q_ENUM( CrsIdentifierType )
1962 Q_ENUM( CrsWktVariant )
1984 ScaleDependentBoundingBox = 1 << 0,
1998 FlagNoCreationTools = 1 << 0,
2014 Q_ENUM( AnnotationItemNodeType )
2027 Q_ENUM( AnnotationItemEditOperationResult )
2043 Q_ENUM( TemporalNavigationMode )
2058 Q_ENUM( AnimationState )
2075 Q_ENUM( PlaybackOperation )
2091 Q_ENUM( VectorTemporalMode )
2100 IncludeBeginExcludeEnd = 0,
2101 IncludeBeginIncludeEnd,
2103 Q_ENUM( VectorTemporalLimitMode )
2114 StoresFeatureDateTimeStartAndEndInSeparateFields
SIP_MONKEYPATCH_COMPAT_NAME( ProviderStoresFeatureDateTimeStartAndEndInSeparateFields ),
2116 Q_ENUM( VectorDataProviderTemporalMode )
2129 Q_ENUM( RasterTemporalMode )
2138 MatchUsingWholeRange,
2139 MatchExactUsingStartOfRange,
2140 MatchExactUsingEndOfRange,
2141 FindClosestMatchToStartOfRange,
2142 FindClosestMatchToEndOfRange
2144 Q_ENUM( TemporalIntervalMatchMethod )
2153 RequestedTimesMustExactlyMatchAllAvailableTemporalRanges = 1 << 0,
2155 Q_ENUM( RasterTemporalCapabilityFlag )
2175 Q_ENUM( TransformDirection )
2184 BallparkTransformsAreAppropriate = 1 << 0,
2185 IgnoreImpossibleTransformations = 1 << 1,
2187 Q_ENUM( CoordinateTransformationFlag )
2204 Antialiasing = 0x01,
2205 DrawEditingInfo = 0x02,
2206 ForceVectorOutput = 0x04,
2207 UseAdvancedEffects = 0x08,
2208 DrawLabeling = 0x10,
2209 UseRenderingOptimization = 0x20,
2210 DrawSelection = 0x40,
2211 DrawSymbolBounds = 0x80,
2212 RenderMapTile = 0x100,
2213 RenderPartialOutput = 0x200,
2214 RenderPreviewJob = 0x400,
2215 RenderBlocking = 0x800,
2216 LosslessImageRendering = 0x1000,
2217 Render3DMap = 0x2000,
2218 HighQualityImageTransforms = 0x4000,
2219 SkipSymbolRendering = 0x8000,
2220 ForceRasterMasks = 0x10000,
2221 RecordProfile = 0x20000,
2235 DrawEditingInfo = 0x01,
2236 ForceVectorOutput = 0x02,
2237 UseAdvancedEffects = 0x04,
2238 UseRenderingOptimization = 0x08,
2239 DrawSelection = 0x10,
2240 DrawSymbolBounds = 0x20,
2241 RenderMapTile = 0x40,
2242 Antialiasing = 0x80,
2243 RenderPartialOutput = 0x100,
2244 RenderPreviewJob = 0x200,
2245 RenderBlocking = 0x400,
2246 RenderSymbolPreview = 0x800,
2247 LosslessImageRendering = 0x1000,
2248 ApplyScalingWorkaroundForTextRendering = 0x2000,
2249 Render3DMap = 0x4000,
2250 ApplyClipAfterReprojection = 0x8000,
2251 RenderingSubSymbol = 0x10000,
2252 HighQualityImageTransforms = 0x20000,
2253 SkipSymbolRendering = 0x40000,
2254 RecordProfile = 0x80000,
2268 RenderPartialOutputs = 1 << 0,
2269 RenderPartialOutputOverPreviousCachedImage = 1 << 1,
2271 Q_ENUM( MapLayerRendererFlag )
2293 Q_ENUM( TextRenderFormat )
2304 UseAllLabels = 1 << 1,
2305 UsePartialCandidates = 1 << 2,
2307 RenderOutlineLabels = 1 << 3,
2308 DrawLabelRectOnly = 1 << 4,
2309 DrawCandidates = 1 << 5,
2310 DrawUnplacedLabels = 1 << 6,
2311 CollectUnplacedLabels = 1 << 7,
2312 DrawLabelMetrics = 1 << 8,
2314 Q_ENUM( LabelingFlag )
2338 Q_ENUM( LabelPlacementEngineVersion )
2353 Q_ENUM( TextOrientation )
2367 RectangleCapHeightBased,
2368 RectangleAscentBased,
2370 Q_ENUM( TextLayoutMode )
2386 Q_ENUM( TextComponent )
2402 Q_ENUM( TextHorizontalAlignment )
2420 Q_ENUM( TextVerticalAlignment )
2436 Q_ENUM( TextCharacterVerticalAlignment )
2450 Q_ENUM( RenderSubcomponentProperty )
2461 Q_ENUM( VertexType )
2477 EquilateralTriangle,
2510 Q_ENUM( MarkerShape )
2523 LastVertex = 1 << 2,
2524 FirstVertex = 1 << 3,
2525 CentralPoint = 1 << 4,
2526 CurvePoint = 1 << 5,
2527 SegmentCenter = 1 << 6,
2528 InnerVertices = 1 << 7,
2530 Q_ENUM( MarkerLinePlacement )
2546 Q_ENUM( GradientColorSource )
2561 Q_ENUM( GradientType )
2575 Q_ENUM( SymbolCoordinateReference )
2591 Q_ENUM( GradientSpread )
2605 Q_ENUM( PointCountMethod )
2619 Q_ENUM( MarkerClipMode )
2632 Q_ENUM( LineClipMode )
2647 Q_ENUM( DashPatternLineEndingRule )
2656 ScaleBothDashAndGap,
2660 Q_ENUM( DashPatternSizeAdjustment )
2674 Q_ENUM( GraduatedMethod )
2689 Q_ENUM( PlotAxisSuffixPlacement )
2715 Q_ENUM( TilePixelRatio )
2731 ForceFirstLetterToCapital = 4,
2734 UpperCamelCase = 1005,
2735 AllSmallCaps = 1006,
2737 Q_ENUM( Capitalization )
2748 Q_ENUM( TextRendererFlag )
2775 Q_ENUM( AngularDirection )
2788 Q_ENUM( RendererUsage )
2797 Sync3DTo2D = 1 << 0,
2798 Sync2DTo3D = 1 << 1,
2800 Q_ENUM( ViewSyncModeFlag )
2811 WhenOutsideVisibleExtent,
2814 Q_ENUM( MapRecenteringMode )
2823 LocalProfile = 1 << 0,
2826 Q_ENUM( HistoryProviderBackend )
2853 Q_ENUM( ProcessingSourceType )
2930 Q_ENUM( ProcessingPropertyAvailability )
2945 Q_ENUM( ProcessingLogLevel )
2959 Q_ENUM( ProcessingFeatureSourceDefinitionFlag )
2982 Q_ENUM( ProcessingFeatureSourceFlag )
3008 Q_ENUM( ProcessingParameterTypeFlag )
3037 Q_ENUM( ProcessingParameterFlag )
3061 Q_ENUM( ProcessingFileParameterBehavior )
3075 Q_ENUM( ProcessingNumberParameterType )
3093 Q_ENUM( ProcessingFieldParameterDataType )
3108 Q_ENUM( ProcessingDateTimeParameterDataType )
3124 Q_ENUM( ProcessingModelChildParameterSource )
3139 Q_ENUM( ProcessingTinInputLayerType )
3151 Q_ENUM( CrsDefinitionFormat )
3168 Q_ENUM( FieldDomainSplitPolicy )
3184 Q_ENUM( FieldDomainMergePolicy )
3197 Q_ENUM( FieldDomainType )
3207 AutomaticGroups = 1,
3210 Q_ENUM( TransactionMode )
3223 Q_ENUM( AltitudeClamping )
3235 Q_ENUM( AltitudeBinding )
3245 IncludeLowerExcludeUpper,
3246 ExcludeLowerIncludeUpper,
3249 Q_ENUM( RangeLimits )
3258 FixedElevationRange = 0,
3259 RepresentsElevationSurface = 1
3261 Q_ENUM( RasterElevationMode )
3274 Q_ENUM( BetweenLineConstraint )
3287 Q_ENUM( LineExtensionSide )
3304 Q_ENUM( CadConstraintType )
3314 EvaluateDefaultValuesOnProviderSide = 1 << 0,
3315 TrustStoredLayerStatistics = 1 << 1,
3316 RememberLayerEditStatusBetweenSessions = 1 << 2,
3317 RememberAttributeTableWindowsBetweenSessions = 1 << 3,
3319 Q_ENUM( ProjectFlag )
3330 ShowContextMenu = 1 << 0,
3332 Q_ENUM( PlotToolFlag )
3356 Q_ENUM( Point3DShape )
3368 Q_ENUM( LightSourceType )
3380 Q_ENUM( NavigationMode )
3393 Q_ENUM( VerticalAxisInversion )
3427 RespectsMaximumErrorMapUnit = 1 << 0,
3428 RespectsDistanceRange = 1 << 1,
3429 RespectsElevationRange = 1 << 2,
3431 Q_ENUM( ProfileGeneratorFlag )
3444 DistanceVsElevationTable,
3458 Q_ENUM( PointCloudSymbol )
3471 Q_ENUM( PointCloudDrawOrder )
3483 AvoidIntersectionsCurrentLayer,
3484 AvoidIntersectionsLayers,
3486 Q_ENUM( AvoidIntersectionsMode )
3500 Q_ENUM( ProjectFileFormat )
3516 DontLoadProjectStyles = 1 << 5,
3517 ForceReadOnlyLayers = 1 << 6,
3519 Q_ENUM( ProjectReadFlag )
3541 ProjectStyles = 1 << 0,
3543 Q_ENUM( ProjectCapability )
3568 Q_ENUM( MapBoxGlStyleSourceType )
3587 Q_ENUM( ArcGisRestServiceType )
3601 Q_ENUM( RelationshipType )
3615 Q_ENUM( RelationshipStrength )
3629 Q_ENUM( RelationshipCardinality )
3638 MultipleFieldKeys = 1 << 0,
3639 ForwardPathLabel = 1 << 1,
3640 BackwardPathLabel = 1 << 2,
3642 Q_ENUM( RelationshipCapability )
3663 Q_ENUM( CoordinateDisplayType )
3676 Q_ENUM( SettingsOrigin )
3697 Q_ENUM( ScriptLanguage )
3709 CheckSyntax = 1 << 1,
3710 ToggleComment = 1 << 2,
3712 Q_ENUM( ScriptLanguageCapability )
3729 AboveInsertionPoint,
3731 OptimalInInsertionGroup,
3733 Q_ENUM( LayerTreeInsertionMethod )
3742 SkipVisibilityCheck = 1 << 0,
3744 Q_ENUM( LayerTreeFilterFlag )
3764 ShowRuleDetails = 1 << 0,
3766 Q_ENUM( LegendJsonRenderFlag )
3783 Q_ENUM( ActionType )
3795 SingleFeature = 1 << 1,
3796 MultipleFeatures = 1 << 2,
3797 AllActions = Layer | SingleFeature | MultipleFeatures
3799 Q_ENUM( MapLayerActionTarget )
3820 EnabledOnlyWhenEditable = 1 << 1,
3822 Q_ENUM( MapLayerActionFlag )
3852 Q_ENUM( AttributeActionType )
3866 Q_ENUM( MetadataDateType )
3896 ContinuousPalette = 17
3898 Q_ENUM( RasterColorInterpretation )
3914 Q_ENUM( RasterLayerType )
3927 SingleBandPseudoColor,
3929 PalettedSingleBandGray,
3930 PalettedSingleBandPseudoColor,
3931 PalettedMultiBandColor,
3932 MultiBandSingleBandGray,
3933 MultiBandSingleBandPseudoColor,
3937 Q_ENUM( RasterDrawingStyle )
3952 Q_ENUM( RasterPyramidFormat )
3967 Q_ENUM( RasterBuildPyramidOption )
3984 Q_ENUM( RasterIdentifyFormat )
3996 Q_ENUM( ElevationMapCombineMethod )
4049 Q_ENUM( SystemOfMeasurement )
4063 Q_ENUM( MapToolUnit )
4103 Q_ENUM( DistanceUnit )
4118 Q_ENUM( DistanceUnitType )
4166 Q_ENUM( VolumeUnit )
4211 Q_ENUM( TemporalUnit )
4231 Q_ENUM( RenderUnit )
4251 Q_ENUM( LayoutUnit )
4265 Q_ENUM( LayoutUnitType )
4298 Q_ENUM( PostgresRelKind )
4307 SetFieldComment = 1 << 0,
4308 SetFieldAlias = 1 << 1,
4310 Q_ENUM( DatabaseProviderConnectionCapability2 )
4321 SaveToDatabase = 1 << 1,
4322 LoadFromDatabase = 1 << 2,
4323 DeleteFromDatabase = 1 << 3
4340 Q_ENUM( UserProfileSelectionPolicy )
4361 Q_ENUM( AttributeEditorType )
4374 Q_ENUM( AttributeEditorContainerType )
4389 Q_ENUM( AttributeFormLayout )
4404 Q_ENUM( AttributeFormSuppression )
4420 Q_ENUM( AttributeFormPythonInitCodeSource )
4433 Q_ENUM( ExpressionType )
4448 Q_ENUM( FeatureSymbologyExport )
4457 AlwaysUseTileMatrixSetFromProvider = 1 << 1,
4459 Q_ENUM( VectorTileProviderFlag )
4475 ReadLayerMetadata = 1 << 1,
4477 Q_ENUM( VectorTileProviderCapability )
4496 AvailableNoChildren,
4497 UseLowerZoomLevelTile,
4499 Q_ENUM( TileAvailability )
4508 ReadLayerMetadata = 1 << 1,
4510 Q_ENUM( TiledSceneProviderCapability )
4531 Q_ENUM( TiledSceneBoundingVolumeType )
4546 Q_ENUM( TileRefinementProcess )
4559 Q_ENUM( TileChildrenAvailability )
4568 NoHierarchyFetch = 1 << 0,
4570 Q_ENUM( TiledSceneRequestFlag )
4587 RequiresTextures = 1 << 0,
4588 ForceRasterRender = 1 << 1,
4589 RendersTriangles = 1 << 2,
4590 RendersLines = 1 << 3,
4592 Q_ENUM( TiledSceneRendererFlag )
4609 RA_NearestNeighbour = 0,
4622 Q_ENUM( GdalResampleAlgorithm )
4644 All = Count | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | Variance,
4645 Default = Count | Sum | Mean,
4647 Q_ENUM( ZonalStatistic )
4669 FailedToCreateField = 8,
4672 Q_ENUM( ZonalStatisticResult )
4698 StringMinimumLength,
4699 StringMaximumLength,
4703 StringConcatenateUnique
4715 CountMissing = 1 << 15,
4720 StDevSample = 1 << 5,
4727 FirstQuartile = 1 << 12,
4728 ThirdQuartile = 1 << 13,
4729 InterQuartileRange = 1 << 14,
4732 All = Count | CountMissing | Sum | Mean | Median | StDev | Max | Min | Range | Minority | Majority | Variety | FirstQuartile | ThirdQuartile | InterQuartileRange | First | Last
4757 All = Count | CountDistinct | CountMissing | Min | Max | Range,
4759 Q_ENUM( DateTimeStatistic )
4786 All = Count | CountDistinct | CountMissing | Min | Max | MinimumLength | MaximumLength | MeanLength | Minority | Majority,
4788 Q_ENUM( StringStatistic )
4812 SumOfSquares = 1 << 6,
4813 All = Min | Max | Range | Sum | Mean | StdDev | SumOfSquares
4815 Q_ENUM( RasterBandStatistic )
4842 Q_ENUM( SensorThingsEntity )
4847 static const
double DEFAULT_SEARCH_RADIUS_MM;
4850 static const
float DEFAULT_MAPTOPIXEL_THRESHOLD;
4857 static const QColor DEFAULT_HIGHLIGHT_COLOR;
4862 static const
double DEFAULT_HIGHLIGHT_BUFFER_MM;
4867 static const
double DEFAULT_HIGHLIGHT_MIN_WIDTH_MM;
4874 static const
double SCALE_PRECISION;
4880 static const
double DEFAULT_Z_COORDINATE;
4887 static const
double DEFAULT_M_COORDINATE;
4893 static const
double UI_SCALE_FACTOR;
4898 static const
double DEFAULT_SNAP_TOLERANCE;
4910 static QString defaultProjectScales();
4917 static
int geosVersionInt();
4924 static
int geosVersionMajor();
4931 static
int geosVersionMinor();
4938 static
int geosVersionPatch();
4945 static QString geosVersion();
5024 #define cast_to_fptr(f) f
5045 , mPreviousState( object->blockSignals( true ) )
5050 mObject->blockSignals( mPreviousState );
5058 Object *mObject =
nullptr;
5059 bool mPreviousState;
5082 CORE_EXPORT uint
qHash(
const QVariant &variant );
5096 const double roundFactor = std::pow( 10, -
precision );
5097 str = QString::number(
static_cast< long long >( std::round( a / roundFactor ) * roundFactor ) );
5102 if (
str.contains( QLatin1Char(
'.' ) ) )
5105 int idx =
str.length() - 1;
5106 while (
str.at( idx ) ==
'0' && idx > 1 )
5110 if ( idx <
str.length() - 1 )
5111 str.truncate(
str.at( idx ) ==
'.' ? idx : idx + 1 );
5121 if (
str == QLatin1String(
"-0" ) )
5123 return QLatin1String(
"0" );
5136 const bool aIsNan = std::isnan( a );
5137 const bool bIsNan = std::isnan( b );
5138 if ( aIsNan || bIsNan )
5139 return aIsNan && bIsNan;
5153 template<
typename T>
5154 inline bool qgsNumberNear( T a, T b, T epsilon = std::numeric_limits<T>::epsilon() * 4 )
5156 const bool aIsNan = std::isnan( a );
5157 const bool bIsNan = std::isnan( b );
5158 if ( aIsNan || bIsNan )
5159 return aIsNan && bIsNan;
5161 const T diff = a - b;
5162 return diff >= -epsilon && diff <= epsilon;
5172 inline bool qgsDoubleNear(
double a,
double b,
double epsilon = 4 * std::numeric_limits<double>::epsilon() )
5174 return qgsNumberNear<double>( a, b, epsilon );
5183 inline bool qgsFloatNear(
float a,
float b,
float epsilon = 4 * FLT_EPSILON )
5185 return qgsNumberNear<float>( a, b, epsilon );
5191 const bool aIsNan = std::isnan( a );
5192 const bool bIsNan = std::isnan( b );
5193 if ( aIsNan || bIsNan )
5194 return aIsNan && bIsNan;
5202 const double ar = std::frexp( a, &aexp );
5203 const double br = std::frexp( b, &bexp );
5205 return aexp == bexp &&
5215 const double m = ( number < 0.0 ) ? -1.0 : 1.0;
5216 const double scaleFactor = std::pow( 10.0, places );
5217 return ( std::round( number * m * scaleFactor ) / scaleFactor ) * m;
5228 template<
class Key,
class Value>
5232 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
5233 result += QString(
"%1%2" ).arg( it.key() ).arg( separator );
5235 result.chop( separator.size() );
5245 template<
class Key,
class Value>
5249 for (
auto it = map.constBegin(); it != map.constEnd(); it++ )
5250 result += QString(
"%1%2" ).arg( it.value() ).arg( separator );
5252 result.chop( separator.size() );
5263 QString
qgsSetJoin(
const QSet<T> &set,
const QString &separator )
5266 for (
auto it = set.constBegin(); it != set.constEnd(); it++ )
5267 result += QString(
"%1%2" ).arg( *it ).arg( separator );
5269 result.chop( separator.size() );
5299 template<
typename To,
typename From>
inline To down_cast( From *f )
5302 ( std::is_base_of<From,
5303 typename std::remove_pointer<To>::type>::value ),
5304 "target type not derived from source type" );
5305 Q_ASSERT( f ==
nullptr ||
dynamic_cast<To
>( f ) !=
nullptr );
5306 return static_cast<To
>( f );
5310 QSet<T> listToSet(
const QList<T> &list )
5312 return QSet<T>( list.begin(), list.end() );
5316 QList<T> setToList(
const QSet<T> &set )
5318 return QList<T>( set.begin(), set.end() );
5331 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5332 Q_ASSERT( metaEnum.isValid() );
5334 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
5336 enumList.append(
static_cast<T
>( metaEnum.value( idx ) ) );
5348 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5349 Q_ASSERT( metaEnum.isValid() );
5350 QMap<T, QString> enumMap;
5351 for (
int idx = 0; idx < metaEnum.keyCount(); ++idx )
5353 enumMap.insert(
static_cast<T
>( metaEnum.value( idx ) ), QString( metaEnum.key( idx ) ) );
5365 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5366 Q_ASSERT( metaEnum.isValid() );
5367 const char *key = metaEnum.valueToKey(
static_cast<int>( value ) );
5370 *returnOk = key ? true :
false;
5372 return QString::fromUtf8( key );
5382 template<
class T> T
qgsEnumKeyToValue(
const QString &key,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
5384 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5385 Q_ASSERT( metaEnum.isValid() );
5387 T v =
static_cast<T
>( metaEnum.keyToValue( key.toUtf8().data(), &ok ) );
5399 if ( tryValueAsKey )
5401 bool canConvert =
false;
5402 const int intValue = key.toInt( &canConvert );
5403 if ( canConvert && metaEnum.valueToKey( intValue ) )
5409 return static_cast<T
>( intValue );
5413 return defaultValue;
5423 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5424 Q_ASSERT( metaEnum.isValid() );
5425 int intValue =
static_cast<int>( value );
5426 const QByteArray ba = metaEnum.valueToKeys( intValue );
5429 const int intValueCheck = metaEnum.keysToValue( ba );
5430 bool ok = intValue == intValueCheck;
5433 return ok ? QString::fromUtf8( ba ) : QString();
5443 template<
class T> T
qgsFlagKeysToValue(
const QString &keys,
const T &defaultValue,
bool tryValueAsKey =
true,
bool *returnOk =
nullptr )
SIP_SKIP
5445 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
5446 Q_ASSERT( metaEnum.isValid() );
5448 T v =
static_cast<T
>( metaEnum.keysToValue( keys.toUtf8().constData(), &ok ) );
5460 if ( tryValueAsKey )
5462 bool canConvert =
false;
5463 const int intValue = keys.toInt( &canConvert );
5466 const QByteArray keys = metaEnum.valueToKeys( intValue );
5467 const int intValueCheck = metaEnum.keysToValue( keys );
5468 if ( intValue == intValueCheck )
5474 return T( intValue );
5479 return defaultValue;
5533 CORE_EXPORT
bool qgsVariantEqual(
const QVariant &lhs,
const QVariant &rhs );
5543 #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
5551 inline bool operator> (
const QVariant &v1,
const QVariant &v2 )
5565 inline bool operator< (
const QVariant &v1,
const QVariant &v2 )
5572 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
5577 template<> CORE_EXPORT
bool qMapLessThanKey<QVariantList>(
const QVariantList &key1,
const QVariantList &key2 )
SIP_SKIP;
5580 CORE_EXPORT QString
qgsVsiPrefix(
const QString &path );
5598 #define CONSTLATIN1STRING inline const QLatin1String
5600 #define CONSTLATIN1STRING constexpr QLatin1String
5604 class ScopedIntIncrementor
5608 ScopedIntIncrementor(
int *variable )
5609 : mVariable( variable )
5614 ScopedIntIncrementor(
const ScopedIntIncrementor &other ) =
delete;
5615 ScopedIntIncrementor &operator=(
const ScopedIntIncrementor &other ) =
delete;
5622 mVariable =
nullptr;
5625 ~ScopedIntIncrementor()
5631 int *mVariable =
nullptr;
5641 return QLatin1String(
5642 R
"""(GEOGCRS["WGS 84",DATUM["World Geodetic System 1984",ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],AXIS["geodetic latitude (Lat)",north,ORDER[1],ANGLEUNIT["degree",0.0174532925199433]],AXIS["geodetic longitude (Lon)",east,ORDER[2],ANGLEUNIT["degree",0.0174532925199433]],USAGE[SCOPE["unknown"],AREA["World"],BBOX[-90,-180,90,180]],ID["EPSG",4326]] )"""
5649 return QLatin1String(
"+proj=longlat +datum=WGS84 +no_defs" );
5655 return QLatin1String(
"EPSG:4326" );
5661 return QLatin1String(
"NONE" );
5667 const int PREVIEW_JOB_DELAY_MS = 250;
5670 const int MAXIMUM_LAYER_PREVIEW_TIME_MS = 250;
5715 #if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) || defined(__clang__)
5717 #define Q_NOWARN_DEPRECATED_PUSH \
5718 _Pragma("GCC diagnostic push") \
5719 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"");
5720 #define Q_NOWARN_DEPRECATED_POP \
5721 _Pragma("GCC diagnostic pop");
5722 #define Q_NOWARN_UNREACHABLE_PUSH
5723 #define Q_NOWARN_UNREACHABLE_POP
5725 #elif defined(_MSC_VER)
5727 #define Q_NOWARN_DEPRECATED_PUSH \
5728 __pragma(warning(push)) \
5729 __pragma(warning(disable:4996))
5730 #define Q_NOWARN_DEPRECATED_POP \
5731 __pragma(warning(pop))
5732 #define Q_NOWARN_UNREACHABLE_PUSH \
5733 __pragma(warning(push)) \
5734 __pragma(warning(disable:4702))
5735 #define Q_NOWARN_UNREACHABLE_POP \
5736 __pragma(warning(pop))
5740 #define Q_NOWARN_DEPRECATED_PUSH
5741 #define Q_NOWARN_DEPRECATED_POP
5742 #define Q_NOWARN_UNREACHABLE_PUSH
5743 #define Q_NOWARN_UNREACHABLE_POP
5750 # define QGISEXTERN extern "C" __declspec( dllexport )
5752 # if defined(__GNUC__) || defined(__clang__)
5753 # define QGISEXTERN extern "C" __attribute__ ((visibility ("default")))
5755 # define QGISEXTERN extern "C"
5762 #if __cplusplus >= 201703L
5763 #define NODISCARD [[nodiscard]]
5764 #elif defined(__clang__)
5765 #define NODISCARD [[nodiscard]]
5766 #elif defined(_MSC_VER)
5768 #elif defined(__has_cpp_attribute)
5769 #if __has_cpp_attribute(nodiscard)
5770 #define NODISCARD [[nodiscard]]
5771 #elif __has_cpp_attribute(gnu::warn_unused_result)
5772 #define NODISCARD [[gnu::warn_unused_result]]
5774 #define NODISCARD Q_REQUIRED_RESULT
5777 #define NODISCARD Q_REQUIRED_RESULT
5780 #if __cplusplus >= 201703L
5781 #define MAYBE_UNUSED [[maybe_unused]]
5782 #elif defined(__clang__)
5783 #define MAYBE_UNUSED [[maybe_unused]]
5784 #elif defined(_MSC_VER)
5785 #define MAYBE_UNUSED
5786 #elif defined(__has_cpp_attribute)
5787 #if __has_cpp_attribute(gnu::unused)
5788 #define MAYBE_UNUSED [[gnu::unused]]
5790 #define MAYBE_UNUSED
5793 #define MAYBE_UNUSED
5802 #define BUILTIN_UNREACHABLE \
5804 #elif defined(__GNUC__) && !defined(__clang__)
5815 #define BUILTIN_UNREACHABLE \
5816 __builtin_unreachable();
5818 #define BUILTIN_UNREACHABLE
5828 QString CORE_EXPORT
geoWkt();
5837 QString CORE_EXPORT
geoNone();
The Qgis class provides global constants for use throughout the application.
DistanceUnitType
Types of distance units.
GnssConstellation
GNSS constellation.
SettingsOption
Settings options.
ProfileGeneratorFlag
Flags that control the way the QgsAbstractProfileGenerator operate.
ProcessingSourceType
Processing data source types.
GpsQualityIndicator
GPS signal quality indicator.
DataItemProviderCapability
Capabilities for data item providers.
ProcessingFileParameterBehavior
Flags which dictate the behavior of QgsProcessingParameterFile.
QFlags< MapLayerRendererFlag > MapLayerRendererFlags
Flags which control how map layer renderers behave.
ProjectReadFlag
Flags which control project read behavior.
QFlags< BabelCommandFlag > BabelCommandFlags
Babel command flags.
MapToolUnit
Type of unit of tolerance value from settings.
PlotAxisSuffixPlacement
Placement options for suffixes in the labels for axis of plots.
QFlags< GpsInformationComponent > GpsInformationComponents
GPS information component.
PointCloudSymbol
Rendering symbols for point cloud points.
SymbolRotationMode
Modes for handling how symbol and text entity rotation is handled when maps are rotated.
GeometryValidityFlag
Geometry validity check flags.
ExpressionType
Expression types.
MapLayerActionFlag
Map layer action flags.
MapLayerProperty
Generic map layer properties.
BufferSide
Side of line to buffer.
RasterResamplingStage
Stage at which raster resampling occurs.
QFlags< MapLayerActionTarget > MapLayerActionTargets
Map layer action targets.
VectorTileProviderCapability
Enumeration with capabilities that vector tile data providers might implement.
AltitudeClamping
Altitude clamping.
VectorTileProviderFlag
Flags for vector tile data providers.
VectorTemporalMode
Vector layer temporal feature modes.
SublayerFlag
Flags which reflect the properties of sublayers in a dataset.
QFlags< ProjectCapability > ProjectCapabilities
Flags which control project capabilities.
LabelLinePlacementFlag
Line placement flags, which control how candidates are generated for a linear feature.
CoordinateDisplayType
Formats for displaying coordinates.
ProcessingParameterTypeFlag
Flags which dictate the behavior of Processing parameter types.
DashPatternSizeAdjustment
Dash pattern size adjustment options.
GpsFixStatus
GPS fix status.
AnnotationItemNodeType
Annotation item node types.
static const char * QGIS_DEV_VERSION
The development version.
VectorFileWriterCapability
Capabilities supported by a QgsVectorFileWriter object.
QFlags< MapSettingsFlag > MapSettingsFlags
Map settings flags.
CrsIdentifierType
Available identifier string types for representing coordinate reference systems.
QFlags< RasterRendererFlag > RasterRendererFlags
Flags which control behavior of raster renderers.
AngularDirection
Angular directions.
ContentStatus
Status for fetched or stored content.
QFlags< SelectionFlag > SelectionFlags
Flags which control feature selection behavior.
SnappingType
SnappingTypeFlag defines on what object the snapping is performed.
LayoutUnit
Layout measurement units.
RelationshipStrength
Relationship strength.
Q_ENUM(GnssConstellation)
MarkerLinePlacement
Defines how/where the symbols should be placed on a line.
QFlags< ProjectReadFlag > ProjectReadFlags
Project load flags.
Point3DShape
3D point shape types.
GeometryOperationResult
Success or failure of a geometry operation.
QFlags< StringStatistic > StringStatistics
Statistics to be calculated for string values.
BrowserItemState
Browser item states.
AttributeEditorContainerType
Attribute editor container types.
QFlags< TiledSceneProviderCapability > TiledSceneProviderCapabilities
Tiled scene data provider capabilities.
FeatureRequestFilterType
Types of feature request filters.
MarkerClipMode
Marker clipping modes.
AnnotationItemFlag
Flags for annotation items.
RenderSubcomponentProperty
Rendering subcomponent properties.
ProcessingTinInputLayerType
Defines the type of input layer for a Processing TIN input.
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
Statistic
Available generic statistics.
SymbolRenderHint
Flags controlling behavior of symbols during rendering.
AngleUnit
Units of angles.
CaptureTechnique
Capture technique.
SpatialIndexPresence
Enumeration of spatial index presence states.
BrowserItemCapability
Browser item capabilities.
AttributeFormSuppression
Available form types for layout of the attribute form editor.
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
LayerTreeInsertionMethod
Layer tree insertion methods.
LineClipMode
Line clipping modes.
QFlags< GeometryValidityFlag > GeometryValidityFlags
Geometry validity flags.
BrowserDirectoryMonitoring
Browser directory item monitoring switches.
SettingsTreeNodeType
Type of tree node.
TilePixelRatio
DpiMode enum.
DatabaseProviderConnectionCapability2
The Capability enum represents the extended operations supported by the connection.
LabelOffsetType
Behavior modifier for label offset and distance, only applies in some label placement modes.
QFlags< ProfileGeneratorFlag > ProfileGeneratorFlags
GradientColorSource
Gradient color sources.
FileFilterType
Type of file filters.
LabelPlacement
Placement modes which determine how label candidates are generated for a feature.
RasterLayerType
Raster layer types.
QFlags< VectorLayerTypeFlag > VectorLayerTypeFlags
Vector layer type flags.
RasterPyramidFormat
Raster pyramid formats.
VectorExportResult
Vector layer export result codes.
DistanceUnit
Units of distance.
RasterTemporalCapabilityFlag
Flags for raster layer temporal capabilities.
SymbolLayerFlag
Flags controlling behavior of symbol layers.
GradientSpread
Gradient spread options, which control how gradients are rendered outside of their start and end poin...
QFlags< AnnotationItemGuiFlag > AnnotationItemGuiFlags
Annotation item GUI flags.
LabelPolygonPlacementFlag
Polygon placement flags, which control how candidates are generated for a polygon feature.
ScaleMethod
Scale methods.
SldExportOption
SLD export options.
FilePathType
File path types.
CadConstraintType
Advanced digitizing constraint type.
AttributeFormPythonInitCodeSource
The Python init code source for attribute forms.
PointCountMethod
Methods which define the number of points randomly filling a polygon.
SldExportVendorExtension
SLD export vendor extensions, allow the use of vendor extensions when exporting to SLD.
LayerTreeFilterFlag
Layer tree filter flags.
AttributeFormLayout
Available form types for layout of the attribute form editor.
FeatureRequestFlag
Flags for controlling feature requests.
VertexType
Types of vertex.
DataProviderFlag
Generic data provider flags.
GdalResampleAlgorithm
Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg)
GeometryValidationEngine
Available engines for validating geometries.
TransactionMode
Transaction mode.
Q_ENUM(ScaleToTileZoomLevelMethod)
ElevationMapCombineMethod
Methods used to select the elevation when two elevation maps are combined.
RasterDrawingStyle
Raster drawing styles.
GpsInformationComponent
GPS information component.
ViewSyncModeFlag
Synchronization of 2D map canvas and 3D view.
ProcessingProviderFlag
Flags indicating how and when an processing provider operates and should be exposed to users.
FileOperationFlag
File operation flags.
QFlags< DataItemProviderCapability > DataItemProviderCapabilities
Capabilities for data item providers.
ProjectCapability
Flags which control project capabilities.
QFlags< BabelFormatCapability > BabelFormatCapabilities
Babel GPS format capabilities.
QFlags< SymbolLayerFlag > SymbolLayerFlags
Symbol layer flags.
Q_ENUM(VectorProfileType)
AttributeActionType
Attribute action types.
TemporalNavigationMode
Temporal navigation modes.
ProcessingFieldParameterDataType
Processing field parameter data types.
StringStatistic
Available string statistics.
FieldDomainMergePolicy
Merge policy for field domains.
ZonalStatistic
Statistics to be calculated during a zonal statistics operation.
MessageLevel
Level for messages This will be used both for message log and message bar in application.
SqlKeywordCategory
SqlKeywordCategory enum represents the categories of the SQL keywords used by the SQL query editor.
QFlags< SnappingType > SnappingTypes
Snapping types.
GraduatedMethod
Methods for modifying symbols by range in a graduated symbol renderer.
QFlags< LabelLinePlacementFlag > LabelLinePlacementFlags
Line placement flags, which control how candidates are generated for a linear feature.
TiledSceneBoundingVolumeType
Tiled scene bounding volume types.
TextLayoutMode
Text layout modes.
PropertyType
Property types.
QFlags< RenderContextFlag > RenderContextFlags
Render context flags.
LayerFilter
Filter for layers.
Q_ENUM(ProviderStyleStorageCapability)
QFlags< SublayerFlag > SublayerFlags
Sublayer flags.
RasterRendererFlag
Flags which control behavior of raster renderers.
CrsType
Coordinate reference system types.
SensorThingsEntity
OGC SensorThings API entity types.
MeshEditingErrorType
Type of error that can occur during mesh frame editing.
FieldDomainSplitPolicy
Split policy for field domains.
ArcGisRestServiceType
Available ArcGIS REST service types.
RasterFileWriterResult
Raster file export results.
AnnotationItemEditOperationResult
Results from an edit operation on an annotation item.
ProcessingPropertyAvailability
Property availability, used for QgsProcessingAlgorithm::VectorProperties in order to determine if pro...
MapRecenteringMode
Modes for recentering map canvases.
ActionStart
Enum to determine when an operation would begin.
PlaybackOperation
Media playback operations.
QFlags< SymbolLayerUserFlag > SymbolLayerUserFlags
Symbol layer user flags.
QFlags< TextRendererFlag > TextRendererFlags
ProviderStyleStorageCapability
The StorageCapability enum represents the style storage operations supported by the provider.
AvoidIntersectionsMode
Flags which control how intersections of pre-existing feature are handled when digitizing new feature...
MarkerShape
Marker shapes.
LegendJsonRenderFlag
Legend JSON export flags.
BlendMode
Blending modes defining the available composition modes that can be used when painting.
RasterElevationMode
Raster layer elevation modes.
Capitalization
String capitalization options.
TemporalIntervalMatchMethod
Method to use when resolving a temporal range to a data provider layer or band.
QFlags< LabelPolygonPlacementFlag > LabelPolygonPlacementFlags
Polygon placement flags, which control how candidates are generated for a polygon feature.
LabelQuadrantPosition
Label quadrant positions.
QFlags< PlotToolFlag > PlotToolFlags
ScaleToTileZoomLevelMethod
Available methods for converting map scales to tile zoom levels.
SublayerQueryFlag
Flags which control how data providers will scan for sublayers in a dataset.
QFlags< VectorFileWriterCapability > VectorFileWriterCapabilities
Capabilities supported by a QgsVectorFileWriter object.
TextOrientation
Text orientations.
PythonMacroMode
Authorisation to run Python Macros.
TemporalUnit
Temporal units.
QFlags< SymbolPreviewFlag > SymbolPreviewFlags
Symbol preview flags.
UnplacedLabelVisibility
Unplaced label visibility.
CrsDefinitionFormat
CRS definition formats.
SpatialFilterType
Feature request spatial filter types.
QFlags< ProcessingParameterTypeFlag > ProcessingParameterTypeFlags
Flags which dictate the behavior of Processing parameter types.
TileAvailability
Possible availability states for a tile within a tile matrix.
ProjectFlag
Flags which control the behavior of QgsProjects.
BrowserItemType
Browser item types.
QFlags< FeatureRequestFlag > FeatureRequestFlags
Flags for controlling feature requests.
SettingsType
Types of settings entries.
QFlags< SettingsOption > SettingsOptions
RasterTemporalMode
Raster layer temporal modes.
RasterAttributeTableType
The RasterAttributeTableType enum represents the type of RAT.
LabelingFlag
Various flags that affect drawing and placement of labels.
GeometryType
The geometry types are used to group Qgis::WkbType in a coarse way.
RelationshipType
Relationship types.
ScriptLanguageCapability
Script language capabilities.
JoinStyle
Join styles for buffers.
PointCloudDrawOrder
Pointcloud rendering order for 2d views.
QFlags< RasterBandStatistic > RasterBandStatistics
Statistics to be calculated for raster bands.
TextCharacterVerticalAlignment
Text vertical alignment for characters.
UserProfileSelectionPolicy
User profile selection policy.
QFlags< FileOperationFlag > FileOperationFlags
File operation flags.
Q_ENUM(ProfileExportType)
BrowserLayerType
Browser item layer types.
QFlags< ProcessingAlgorithmFlag > ProcessingAlgorithmFlags
Flags indicating how and when an algorithm operates and should be exposed to users.
AltitudeBinding
Altitude binding.
Q_ENUM(ProcessingProviderFlag)
TiledSceneRendererFlag
Flags which control how tiled scene 2D renderers behave.
MapLayerActionTarget
Map layer action targets.
ZonalStatisticResult
Zonal statistics result codes.
ScriptLanguage
Scripting languages.
QFlags< BrowserItemCapability > BrowserItemCapabilities
Browser item capabilities.
FeatureAvailability
Possible return value for QgsFeatureSource::hasFeatures() to determine if a source is empty.
TiledSceneProviderCapability
Tiled scene data provider capabilities.
LabelMultiLineAlignment
Text alignment for multi-line labels.
RasterBandStatistic
Available raster band statistics.
QFlags< VectorTileProviderCapability > VectorTileProviderCapabilities
Vector tile data provider capabilities.
QFlags< ZonalStatistic > ZonalStatistics
Statistics to be calculated during a zonal statistics operation.
VectorDataProviderTemporalMode
Vector data provider temporal handling modes.
TextRenderFormat
Options for rendering text.
DataType
Raster data types.
Q_ENUM(ProfileSurfaceSymbology)
QFlags< ViewSyncModeFlag > ViewSyncModeFlags
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
SystemOfMeasurement
Systems of unit measurement.
RasterAttributeTableFieldUsage
The RasterAttributeTableFieldUsage enum represents the usage of a Raster Attribute Table field.
VerticalAxisInversion
Vertical axis inversion options for 3D views.
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
RelationshipCapability
Relationship capabilities.
RasterBuildPyramidOption
Raster pyramid building options.
NavigationMode
The navigation mode used by 3D cameras.
TileChildrenAvailability
Possible availability states for a tile's children.
LayerType
Types of layers that can be added to a map.
QFlags< AnnotationItemFlag > AnnotationItemFlags
Annotation item flags.
QFlags< Statistic > Statistics
Statistics to be calculated for generic values.
PlotToolFlag
Flags that control the way the QgsPlotTools operate.
RenderUnit
Rendering size units.
CoordinateOrder
Order of coordinates.
SelectionFlag
Flags which control feature selection behavior.
QFlags< SettingsTreeNodeOption > SettingsTreeNodeOptions
EndCapStyle
End cap styles for buffers.
QFlags< TiledSceneRequestFlag > TiledSceneRequestFlags
Flags which control how tiled scene requests behave.
QFlags< MapLayerActionFlag > MapLayerActionFlags
Map layer action flags.
QFlags< MapLayerProperty > MapLayerProperties
Map layer properties.
BabelCommandFlag
Babel command flags, which control how commands and arguments are generated for executing GPSBabel pr...
QFlags< LabelingFlag > LabelingFlags
Flags that affect drawing and placement of labels.
FieldDomainType
Types of field domain.
MapLayerRendererFlag
Flags which control how map layer renderers behave.
RenderContextFlag
Flags which affect rendering operations.
RasterPipeInterfaceRole
Raster pipe interface roles.
CoverageValidityResult
Coverage validity results.
Aggregate
Available aggregates to calculate.
SymbolPreviewFlag
Flags for controlling how symbol preview images are generated.
AnnotationItemGuiFlag
Flags for controlling how an annotation item behaves in the GUI.
MapBoxGlStyleSourceType
Available MapBox GL style source types.
LayoutUnitType
Types of layout units.
VectorDataProviderAttributeEditCapability
Attribute editing capabilities which may be supported by vector data providers.
DashPatternLineEndingRule
Dash pattern line ending rules.
FieldMetadataProperty
Standard field metadata values.
TiledSceneRequestFlag
Flags which control how tiled scene requests behave.
VertexMarkerType
Editing vertex markers, used for showing vertices during a edit operation.
HistoryProviderBackend
History provider backends.
RasterExportType
Raster file export types.
SublayerPromptMode
Specifies how to handle layer sources with multiple sublayers.
TextVerticalAlignment
Text vertical alignment.
RelationshipCardinality
Relationship cardinality.
GradientType
Gradient types.
QFlags< ScriptLanguageCapability > ScriptLanguageCapabilities
Script language capabilities.
VectorProfileType
Types of elevation profiles to generate for vector sources.
GpsFeatureType
GPS feature types.
VectorLayerTypeFlag
Vector layer type flags.
MakeValidMethod
Algorithms to use when repairing invalid geometries.
RangeLimits
Describes how the limits of a range are handled.
QFlags< ProjectFlag > ProjectFlags
VectorTemporalLimitMode
Mode for the handling of the limits of the filtering timeframe for vector features.
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
SqlLayerDefinitionCapability
SqlLayerDefinitionCapability enum lists the arguments supported by the provider when creating SQL que...
VectorEditResult
Specifies the result of a vector layer edit operation.
QFlags< VectorDataProviderAttributeEditCapability > VectorDataProviderAttributeEditCapabilities
Attribute editing capabilities which may be supported by vector data providers.
QFlags< RelationshipCapability > RelationshipCapabilities
Relationship capabilities.
QFlags< SymbolRenderHint > SymbolRenderHints
Symbol render hints.
VolumeUnit
Units of volume.
AttributeEditorType
Attribute editor types.
QFlags< LegendJsonRenderFlag > LegendJsonRenderFlags
QFlags< ProviderStyleStorageCapability > ProviderStyleStorageCapabilities
SymbolLayerUserFlag
User-specified flags controlling behavior of symbol layers.
InvalidGeometryCheck
Methods for handling of features with invalid geometries.
QFlags< SymbolFlag > SymbolFlags
Symbol flags.
QFlags< ProcessingFeatureSourceDefinitionFlag > ProcessingFeatureSourceDefinitionFlags
Flags which control behavior for a Processing feature source.
ProfileExportType
Types of export for elevation profiles.
ProjectFileFormat
Flags which control project read behavior.
SnappingMode
SnappingMode defines on which layer the snapping is performed.
RasterColorInterpretation
Raster color interpretation.
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
LabelPlacementEngineVersion
Labeling placement engine version.
Q_ENUM(ProcessingAlgorithmFlag)
RendererUsage
Usage of the renderer.
SettingsTreeNodeOption
Options for named list nodes.
BabelFormatCapability
Babel GPS format capabilities.
PostgresRelKind
Postgres database relkind options.
GpsConnectionType
GPS connection types.
Q_ENUM(InputControllerType)
QFlags< DatabaseProviderConnectionCapability2 > DatabaseProviderConnectionCapabilities2
ProcessingFeatureSourceDefinitionFlag
Flags which control behavior for a Processing feature source.
BetweenLineConstraint
Between line constraints which can be enabled.
QFlags< VectorTileProviderFlag > VectorTileProviderFlags
Vector tile data provider flags.
MetadataDateType
Date types for metadata.
QFlags< RasterTemporalCapabilityFlag > RasterTemporalCapabilityFlags
Flags for raster layer temporal capabilities.
ProcessingFeatureSourceFlag
Flags which control how QgsProcessingFeatureSource fetches features.
RasterIdentifyFormat
Raster identify formats.
TextHorizontalAlignment
Text horizontal alignment.
SymbolFlag
Flags controlling behavior of symbols.
LineExtensionSide
Designates whether the line extension constraint is currently soft locked with the previous or next v...
HttpMethod
Different methods of HTTP requests.
WkbType
The WKB type describes the number of dimensions a geometry has.
QFlags< SldExportOption > SldExportOptions
SymbolCoordinateReference
Symbol coordinate reference modes.
QFlags< ProcessingProviderFlag > ProcessingProviderFlags
Flags indicating how and when an processing provider operates and should be exposed to users.
TileRefinementProcess
Tiled scene tile refinement processes.
QFlags< DateTimeStatistic > DateTimeStatistics
Statistics to be calculated for date/time values.
SelectionRenderingMode
Specifies how a selection should be rendered.
InputControllerType
Input controller types.
TextRendererFlag
Flags which control the behavior of rendering text.
SelectGeometryRelationship
Geometry relationship test to apply for selecting features.
CrsAxisDirection
Coordinate reference system axis directions.
ProcessingModelChildParameterSource
Processing model child parameter sources.
QFlags< MarkerLinePlacement > MarkerLinePlacements
CrsWktVariant
Coordinate reference system WKT formatting variants.
QFlags< TiledSceneRendererFlag > TiledSceneRendererFlags
Flags which control how tiled scene 2D renderers behave.
AutoRefreshMode
Map layer automatic refresh modes.
ProcessingAlgorithmFlag
Flags indicating how and when an algorithm operates and should be exposed to users.
FieldConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
SettingsOrigin
The setting origin describes where a setting is stored.
ProcessingParameterFlag
Flags which dictate the behavior of Processing parameters.
LabelOverlapHandling
Label overlap handling.
FeatureSymbologyExport
Options for exporting features considering their symbology.
QFlags< LayerFilter > LayerFilters
ProcessingDateTimeParameterDataType
Processing date time parameter data types.
CoordinateTransformationFlag
Flags which adjust the coordinate transformations behave.
TextComponent
Text components.
DateTimeStatistic
Available date/time statistics.
AnimationState
Animation states.
TransformDirection
Indicates the direction (forward or inverse) of a transform.
LightSourceType
Light source types for 3D scenes.
QFlags< ProcessingFeatureSourceFlag > ProcessingFeatureSourceFlags
Flags which control how QgsProcessingFeatureSource fetches features.
QFlags< HistoryProviderBackend > HistoryProviderBackends
LabelPredefinedPointPosition
Positions for labels when using the Qgis::LabelPlacement::OrderedPositionsAroundPoint placement mode.
QFlags< FieldConfigurationFlag > FieldConfigurationFlags
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
UpsideDownLabelHandling
Handling techniques for upside down labels.
DeviceConnectionStatus
GPS connection status.
ProcessingNumberParameterType
Processing numeric parameter data types.
MapSettingsFlag
Flags which adjust the way maps are rendered.
QFlags< SqlLayerDefinitionCapability > SqlLayerDefinitionCapabilities
SQL layer definition capabilities.
ProcessingLogLevel
Logging level for algorithms to use when pushing feedback messages.
SelectBehavior
Specifies how a selection should be applied.
Utility class that encapsulates an action based on vector attributes.
Utility class for calculating aggregates for a field (or expression) over the features from a vector ...
Utility functions for working with ArcGIS REST services.
This is an abstract base class for any elements of a drag and drop form.
This class represents a coordinate reference system (CRS).
Abstract base class for curved geometry type.
Base class for all items in the model.
Abstract base class for spatial data provider implementations.
Calculator for summary statistics and aggregates for a list of datetimes.
This class wraps a request for features to a vector layer (or directly its vector data provider).
An interface for objects which provide features via a getFeatures method.
A geometry is the spatial representation of a feature.
Stores global configuration for labeling engine.
Contains constants and enums relating to labeling.
Item that represents a layer that can be opened with one of the providers.
The QgsMapLayerProxyModel class provides an easy to use model to display the list of layers in widget...
Base class for all map layer types.
The QgsMapSettings class contains configuration for rendering of the map.
Registry for temporary fetched files.
Contains miscellaneous painting utility functions.
Contains settings for how a map layer will be labeled.
Abstract base class for 2d point cloud renderers.
Abstract base class for processing algorithms.
Contains information about the context in which a processing algorithm is executed.
Encapsulates settings relating to a feature source input to a processing algorithm.
QgsFeatureSource subclass which proxies methods to an underlying QgsFeatureSource,...
A datetime (or pure date or time) parameter for processing algorithms.
Base class for the definition of processing parameters.
A vector layer or feature source field parameter for processing algorithms.
An input file or folder parameter for processing algorithms.
A numeric parameter for processing algorithms.
Makes metadata of processing parameters available.
Abstract base class for processing providers.
Contains enumerations and other constants for use in processing algorithms and parameters.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
A store for object properties.
A fill symbol layer which places markers at random locations within polygons.
The RasterBandStats struct is a container for statistics about a single raster band.
Implementation of data provider temporal properties for QgsRasterDataProviders.
The raster file writer which allows you to save a raster to a new file.
Implementation of map layer temporal properties for raster layers.
Represents a raster layer.
Contains a pipeline of raster interfaces for sequential raster processing.
Contains information about the context of a rendering operation.
Represent settings entry and provides methods for reading and writing settings values.
RAII signal blocking class.
QgsSignalBlocker(Object *object)
Constructor for QgsSignalBlocker.
Object * operator->()
Returns pointer to blocked QObject.
Abstract base class for simple marker symbol layers.
This is a container for configuration of the snapping of the project.
Calculator for summary statistics for a list of doubles.
Calculator for summary statistics and aggregates for a list of strings.
Utility functions for working with strings.
Abstract base class for all rendered symbols.
Base class for templated line symbols, e.g.
Implements a temporal controller based on a frame by frame navigation and animation.
Container for all settings relating to text rendering.
Handles rendering text using rich formatting options, including drop shadows, buffers and background ...
This is the class is providing tolerance value in map unit values.
Helper functions for various unit types.
Implementation of data provider temporal properties for QgsVectorDataProviders.
This is the base class for vector data providers.
A convenience class for writing vector layers to disk based formats (e.g.
A convenience class for exporting vector layers to a destination data provider.
Implementation of map layer temporal properties for vector layers.
Represents a vector layer which manages a vector based data sets.
Handles storage of information regarding WKB types and their properties.
FeatureCountState
Enumeration of feature count states.
@ Points
Point based rendering, requires point data.
int significantDigits(const Qgis::DataType rasterDataType)
Returns the maximum number of significant digits a for the given rasterDataType.
As part of the API refactoring and improvements which landed in QGIS
CONSTLATIN1STRING geoNone()
Constant that holds the string representation for "No ellips/No CRS".
const double DEFAULT_LINE_WIDTH
CORE_EXPORT uint qHash(const QVariant &variant)
Hash for QVariant.
bool operator>(const QVariant &v1, const QVariant &v2)
Compares two QVariant values and returns whether the first is greater than the second.
CORE_EXPORT QString qgsVsiPrefix(const QString &path)
CORE_EXPORT bool qgsVariantEqual(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether they are equal, two NULL values are always treated a...
T qgsEnumKeyToValue(const QString &key, const T &defaultValue, bool tryValueAsKey=true, bool *returnOk=nullptr)
Returns the value corresponding to the given key of an enum.
void CORE_EXPORT * qgsMalloc(size_t size)
Allocates size bytes and returns a pointer to the allocated memory.
QString qgsDoubleToString(double a, int precision=17)
Returns a string representation of a double.
QString qgsMapJoinValues(const QMap< Key, Value > &map, const QString &separator)
Joins all the map values into a single string with each element separated by the given separator.
QString qgsEnumValueToKey(const T &value, bool *returnOk=nullptr)
Returns the value for the given key of an enum.
QString qgsFlagValueToKeys(const T &value, bool *returnOk=nullptr)
Returns the value for the given keys of a flag.
const QMap< T, QString > qgsEnumMap()
Returns a map of all enum entries.
const long GEO_EPSG_CRS_ID
Magic number for a geographic coord sys in EpsgCrsId ID format.
QString qgsMapJoinKeys(const QMap< Key, Value > &map, const QString &separator)
Joins all the map keys into a single string with each element separated by the given separator.
T qgsFlagKeysToValue(const QString &keys, const T &defaultValue, bool tryValueAsKey=true, bool *returnOk=nullptr)
Returns the value corresponding to the given keys of a flag.
CORE_EXPORT bool qgsVariantGreaterThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is greater than the second.
unsigned long long qgssize
Qgssize is used instead of size_t, because size_t is stdlib type, unknown by SIP, and it would be har...
bool qgsFloatNear(float a, float b, float epsilon=4 *FLT_EPSILON)
Compare two floats (but allow some difference)
QString qgsSetJoin(const QSet< T > &set, const QString &separator)
Joins all the set values into a single string with each element separated by the given separator.
const QList< T > qgsEnumList()
Returns a list all enum entries.
CORE_EXPORT double qgsPermissiveToDouble(QString string, bool &ok)
Converts a string to a double in a permissive way, e.g., allowing for incorrect numbers of digits bet...
double qgsRound(double number, int places)
Returns a double number, rounded (as close as possible) to the specified number of places.
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
CONSTLATIN1STRING geoProj4()
PROJ4 string that represents a geographic coord sys.
bool qgsNanCompatibleEquals(double a, double b)
Compare two doubles, treating nan values as equal.
const double DEFAULT_SEGMENT_EPSILON
Default snapping tolerance for segments.
QMap< QString, QString > QgsStringMap
#define CONSTLATIN1STRING
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
CONSTLATIN1STRING geoWkt()
Wkt string that represents a geographic coord sys.
bool qgsDoubleNearSig(double a, double b, int significantDigits=10)
Compare two doubles using specified number of significant digits.
const int USER_CRS_START_ID
Magick number that determines whether a projection crsid is a system (srs.db) or user (~/....
void CORE_EXPORT qgsFree(void *ptr)
Frees the memory space pointed to by ptr.
bool qgsNumberNear(T a, T b, T epsilon=std::numeric_limits< T >::epsilon() *4)
Compare two numbers of type T (but allow some difference)
CORE_EXPORT qlonglong qgsPermissiveToLongLong(QString string, bool &ok)
Converts a string to an qlonglong in a permissive way, e.g., allowing for incorrect numbers of digits...
CORE_EXPORT int qgsPermissiveToInt(QString string, bool &ok)
Converts a string to an integer in a permissive way, e.g., allowing for incorrect numbers of digits b...
CORE_EXPORT bool qgsVariantLessThan(const QVariant &lhs, const QVariant &rhs)
Compares two QVariant values and returns whether the first is less than the second.
const long GEOSRID
Magic number for a geographic coord sys in POSTGIS SRID.
#define QHASH_FOR_CLASS_ENUM(T)
bool operator<(const QVariant &v1, const QVariant &v2)
Compares two QVariant values and returns whether the first is less than the second.
CONSTLATIN1STRING geoEpsgCrsAuthId()
Geographic coord sys from EPSG authority.
const long GEOCRS_ID
Magic number for a geographic coord sys in QGIS srs.db tbl_srs.srs_id.
const double DEFAULT_POINT_SIZE
Magic number that determines the default point size for point symbols.
#define SIP_ENUM_BASETYPE(type)
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
#define SIP_MONKEYPATCH_FLAGS_UNNEST(OUTSIDE_CLASS, FORMERNAME)
#define SIP_MONKEYPATCH_SCOPEENUM
#define SIP_MONKEYPATCH_COMPAT_NAME(FORMERNAME)
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsTextRendererUtils::CurvedTextFlags)
Utility class for identifying a unique vertex within a geometry.