Merge branch 'master' into model-designer-update

This commit is contained in:
jonathanlurie 2025-06-04 11:35:59 +02:00
commit 9670c98118
289 changed files with 7457 additions and 2141 deletions

View File

@ -42,5 +42,3 @@ PyQgsSettings
PyQgsSettingsEntry
PyQgsServerAccessControlWFSTransactional
ProcessingQgisAlgorithmsTestPt4
# PyQgsProviderRegistry runs fine locally on Fedora:rawhide but not on CI
PyQgsProviderRegistry

View File

@ -32,6 +32,7 @@ RUN dnf -y --refresh install \
libxml2-devel \
libzip-devel \
libzstd-devel \
libaio \
mold \
netcdf-devel \
ninja-build \

View File

@ -0,0 +1,106 @@
name: Check if user is running the latest version of QGIS
on:
issues:
types: [opened]
env:
# Extract issue body
ISSUE_BODY: ${{ github.event.issue.body }}
jobs:
check_version_reported:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get version details
run: |
python ./scripts/get_latest_qgis_versions.py --release="stable" --github_token=${{ secrets.GITHUB_TOKEN }} >> $GITHUB_ENV
- name: Write comment
uses: actions/github-script@v7
with:
script: |
const {ISSUE_BODY, QGIS_VERSION_LTR_PATCH, QGIS_VERSION_STABLE_PATCH} = process.env // Latest released version identified using get_latest_qgis_versions
compareSemanticVersions = (version1, version2) => {
// Returns -1 if version1 < version2
// Returns 1 if version1 > version2
// Returns 0 if version1 = version2
// Assume parameters are string and follow the semantic version : major.minor.patch
var version1 = version1.split(".").map(x => parseInt(x))
var version2 = version2.split(".").map(x => parseInt(x))
//Major version
if ( version1[0] < version2[0] ){
return -1
}
else if ( version1[0] > version2[0] ) {
return 1
}
//Minor version2
if ( version1[1] < version2[1] ){
return -1
}
else if ( version1[1] > version2[1] ) {
return 1
}
//Patch version
if ( version1[2] < version2[2] ){
return -1
}
else if ( version1[2] > version2[2] ) {
return 1
}
return 0
}
// Match qgis version reported e.g : "3.40.0-Bratislava"
// More example here : https://regex101.com/r/jvHJAf/1
var regex = /QGIS version \| (\d)\.(\d{2})\.(\d*)-[A-Z]{1}[a-z]+/
var m = ISSUE_BODY.match(regex)
if ( !m ){
console.log("Debug: No version identified in the body")
return
}
major_version = m[1]
minor_version = m[2]
patch_version = m[3]
user_version = `${major_version}.${minor_version}.${patch_version}`
if ( compareSemanticVersions(user_version, QGIS_VERSION_LTR_PATCH) === -1 ) {
console.log("Debug: Suggest user to try latest LTR release")
let comment = `Thanks for reporting, however it looks like you are using an older version of QGIS (version ${user_version}) instead of latest (Version ${QGIS_VERSION_LTR_PATCH}). Your bug could already be resolved in the latest version. \nIt takes a lot of human effort to triage all the bugs in a project like QGIS, could you please retry with the latest version first?`
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment
})
}
else if ( compareSemanticVersions(user_version, QGIS_VERSION_LTR_PATCH) === 0 ) {
console.log("Debug: user is already running latest LTR version")
}
else if ( compareSemanticVersions(user_version, QGIS_VERSION_STABLE_PATCH) === -1 ) {
console.log("Debug: Suggest user to try latest release")
let comment = `Thanks for reporting, however it looks like you are using an older version of QGIS (version ${user_version}) instead of latest (Version ${QGIS_VERSION_STABLE_PATCH}). Your bug could already be resolved in the latest version. \nIt takes a lot of human effort to triage all the bugs in a project like QGIS, could you please retry with the latest version first?`
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment
})
}
else {
console.log("Debug: pass, the user is running a supported version so do nothing")
}

View File

@ -1,6 +1,6 @@
#############################################################
# CMake settings
cmake_minimum_required(VERSION 3.23.0)
cmake_minimum_required(VERSION 3.22.0)
set(CMAKE_COLOR_MAKEFILE ON)
set(CMAKE_AUTORCC ON)
# set path to additional CMake modules

View File

@ -17,16 +17,7 @@ if(PkgConfig_FOUND)
endif()
if(PC_SPATIALITE_FOUND)
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.18)
add_library(spatialite::spatialite ALIAS PkgConfig::PC_SPATIALITE)
else()
set(SPATIALITE_INCLUDE_DIR "${PC_SPATIALITE_INCLUDE_DIRS}" CACHE STRING "")
set(SPATIALITE_LIBRARY "${PC_SPATIALITE_LIBRARIES}" CACHE STRING "")
if(NOT TARGET spatialite::spatialite)
add_library(spatialite::spatialite INTERFACE IMPORTED)
set_target_properties(spatialite::spatialite PROPERTIES INTERFACE_LINK_LIBRARIES PkgConfig::PC_SPATIALITE)
endif()
endif()
add_library(spatialite::spatialite ALIAS PkgConfig::PC_SPATIALITE)
set(SPATIALITE_FOUND TRUE)
else()
# Fallback for systems without PkgConfig, e.g. OSGeo4W

View File

@ -4847,6 +4847,21 @@ Qgis.CoordinateTransformationFlag.baseClass = Qgis
Qgis.CoordinateTransformationFlags = lambda flags=0: Qgis.CoordinateTransformationFlag(flags)
Qgis.CoordinateTransformationFlags.baseClass = Qgis
CoordinateTransformationFlags = Qgis # dirty hack since SIP seems to introduce the flags in module
# monkey patching scoped based enum
Qgis.RasterizedRenderingPolicy.Default.__doc__ = "Allow raster-based rendering in situations where it is required for correct rendering or where it will be faster than vector based rendering."
Qgis.RasterizedRenderingPolicy.PreferVector.__doc__ = "Prefer vector-based rendering, when the result will still be visually near-identical to a raster-based render. The render may be slower or result in larger output file sizes."
Qgis.RasterizedRenderingPolicy.ForceVector.__doc__ = "Always force vector-based rendering, even when the result will be visually different to a raster-based render. For example, this policy will ignore effects which require flattened rasters during renders such as layer-wide opacity or blend modes."
Qgis.RasterizedRenderingPolicy.__doc__ = """Policies controlling when rasterisation of content during renders is permitted.
.. versionadded:: 3.44
* ``Default``: Allow raster-based rendering in situations where it is required for correct rendering or where it will be faster than vector based rendering.
* ``PreferVector``: Prefer vector-based rendering, when the result will still be visually near-identical to a raster-based render. The render may be slower or result in larger output file sizes.
* ``ForceVector``: Always force vector-based rendering, even when the result will be visually different to a raster-based render. For example, this policy will ignore effects which require flattened rasters during renders such as layer-wide opacity or blend modes.
"""
# --
Qgis.RasterizedRenderingPolicy.baseClass = Qgis
QgsMapSettings.Flag = Qgis.MapSettingsFlag
# monkey patching scoped based enum
QgsMapSettings.Antialiasing = Qgis.MapSettingsFlag.Antialiasing
@ -4857,10 +4872,10 @@ QgsMapSettings.DrawEditingInfo.is_monkey_patched = True
QgsMapSettings.DrawEditingInfo.__doc__ = "Enable drawing of vertex markers for layers in editing mode"
QgsMapSettings.ForceVectorOutput = Qgis.MapSettingsFlag.ForceVectorOutput
QgsMapSettings.ForceVectorOutput.is_monkey_patched = True
QgsMapSettings.ForceVectorOutput.__doc__ = "Vector graphics should not be cached and drawn as raster images"
QgsMapSettings.ForceVectorOutput.__doc__ = "Vector graphics should not be cached and drawn as raster images. \n.. deprecated:: 3.44. Use Qgis.RasterizedRenderingPolicy instead."
QgsMapSettings.UseAdvancedEffects = Qgis.MapSettingsFlag.UseAdvancedEffects
QgsMapSettings.UseAdvancedEffects.is_monkey_patched = True
QgsMapSettings.UseAdvancedEffects.__doc__ = "Enable layer opacity and blending effects"
QgsMapSettings.UseAdvancedEffects.__doc__ = "Enable layer opacity and blending effects \n.. deprecated:: 3.44. Use Qgis.RasterizedRenderingPolicy instead."
QgsMapSettings.DrawLabeling = Qgis.MapSettingsFlag.DrawLabeling
QgsMapSettings.DrawLabeling.is_monkey_patched = True
QgsMapSettings.DrawLabeling.__doc__ = "Enable drawing of labels on top of the map"
@ -4912,8 +4927,14 @@ Qgis.MapSettingsFlag.__doc__ = """Flags which adjust the way maps are rendered.
* ``Antialiasing``: Enable anti-aliasing for map rendering
* ``DrawEditingInfo``: Enable drawing of vertex markers for layers in editing mode
* ``ForceVectorOutput``: Vector graphics should not be cached and drawn as raster images
* ``ForceVectorOutput``: Vector graphics should not be cached and drawn as raster images.
.. deprecated:: 3.44. Use Qgis.RasterizedRenderingPolicy instead.
* ``UseAdvancedEffects``: Enable layer opacity and blending effects
.. deprecated:: 3.44. Use Qgis.RasterizedRenderingPolicy instead.
* ``DrawLabeling``: Enable drawing of labels on top of the map
* ``UseRenderingOptimization``: Enable vector simplification and other rendering optimizations
* ``DrawSelection``: Whether vector selections should be shown in the rendered map
@ -4959,10 +4980,10 @@ QgsRenderContext.DrawEditingInfo.is_monkey_patched = True
QgsRenderContext.DrawEditingInfo.__doc__ = "Enable drawing of vertex markers for layers in editing mode"
QgsRenderContext.ForceVectorOutput = Qgis.RenderContextFlag.ForceVectorOutput
QgsRenderContext.ForceVectorOutput.is_monkey_patched = True
QgsRenderContext.ForceVectorOutput.__doc__ = "Vector graphics should not be cached and drawn as raster images"
QgsRenderContext.ForceVectorOutput.__doc__ = "Vector graphics should not be cached and drawn as raster images \n.. deprecated:: 3.44. Use Qgis.RasterizedRenderingPolicy instead."
QgsRenderContext.UseAdvancedEffects = Qgis.RenderContextFlag.UseAdvancedEffects
QgsRenderContext.UseAdvancedEffects.is_monkey_patched = True
QgsRenderContext.UseAdvancedEffects.__doc__ = "Enable layer opacity and blending effects"
QgsRenderContext.UseAdvancedEffects.__doc__ = "Enable layer opacity and blending effects \n.. deprecated:: 3.44. Use Qgis.RasterizedRenderingPolicy instead."
QgsRenderContext.UseRenderingOptimization = Qgis.RenderContextFlag.UseRenderingOptimization
QgsRenderContext.UseRenderingOptimization.is_monkey_patched = True
QgsRenderContext.UseRenderingOptimization.__doc__ = "Enable vector simplification and other rendering optimizations"
@ -5020,13 +5041,22 @@ QgsRenderContext.AlwaysUseGlobalMasks.__doc__ = "When applying clipping paths fo
QgsRenderContext.DisableSymbolClippingToExtent = Qgis.RenderContextFlag.DisableSymbolClippingToExtent
QgsRenderContext.DisableSymbolClippingToExtent.is_monkey_patched = True
QgsRenderContext.DisableSymbolClippingToExtent.__doc__ = "Force symbol clipping to map extent to be disabled in all situations. This will result in slower rendering, and should only be used in situations where the feature clipping is always undesirable. \n.. versionadded:: 3.40"
QgsRenderContext.RenderLayerTree = Qgis.RenderContextFlag.RenderLayerTree
QgsRenderContext.RenderLayerTree.is_monkey_patched = True
QgsRenderContext.RenderLayerTree.__doc__ = "The render is for a layer tree display where map based properties are not available and where avoidance of long rendering freeze is crucial \n.. versionadded:: 3.44"
Qgis.RenderContextFlag.__doc__ = """Flags which affect rendering operations.
.. versionadded:: 3.22
* ``DrawEditingInfo``: Enable drawing of vertex markers for layers in editing mode
* ``ForceVectorOutput``: Vector graphics should not be cached and drawn as raster images
.. deprecated:: 3.44. Use Qgis.RasterizedRenderingPolicy instead.
* ``UseAdvancedEffects``: Enable layer opacity and blending effects
.. deprecated:: 3.44. Use Qgis.RasterizedRenderingPolicy instead.
* ``UseRenderingOptimization``: Enable vector simplification and other rendering optimizations
* ``DrawSelection``: Whether vector selections should be shown in the rendered map
* ``DrawSymbolBounds``: Draw bounds of symbols (for debugging/testing)
@ -5064,6 +5094,10 @@ Qgis.RenderContextFlag.__doc__ = """Flags which affect rendering operations.
.. versionadded:: 3.40
* ``RenderLayerTree``: The render is for a layer tree display where map based properties are not available and where avoidance of long rendering freeze is crucial
.. versionadded:: 3.44
"""
# --
@ -10027,6 +10061,129 @@ Qgis.LayoutUnitType.__doc__ = """Types of layout units
"""
# --
Qgis.LayoutUnitType.baseClass = Qgis
QgsLayoutRenderContext.Flag = Qgis.LayoutRenderFlag
# monkey patching scoped based enum
QgsLayoutRenderContext.FlagDebug = Qgis.LayoutRenderFlag.Debug
QgsLayoutRenderContext.Flag.FlagDebug = Qgis.LayoutRenderFlag.Debug
QgsLayoutRenderContext.FlagDebug.is_monkey_patched = True
QgsLayoutRenderContext.FlagDebug.__doc__ = "Debug/testing mode, items are drawn as solid rectangles."
QgsLayoutRenderContext.FlagOutlineOnly = Qgis.LayoutRenderFlag.OutlineOnly
QgsLayoutRenderContext.Flag.FlagOutlineOnly = Qgis.LayoutRenderFlag.OutlineOnly
QgsLayoutRenderContext.FlagOutlineOnly.is_monkey_patched = True
QgsLayoutRenderContext.FlagOutlineOnly.__doc__ = "Render items as outlines only."
QgsLayoutRenderContext.FlagAntialiasing = Qgis.LayoutRenderFlag.Antialiasing
QgsLayoutRenderContext.Flag.FlagAntialiasing = Qgis.LayoutRenderFlag.Antialiasing
QgsLayoutRenderContext.FlagAntialiasing.is_monkey_patched = True
QgsLayoutRenderContext.FlagAntialiasing.__doc__ = "Use antialiasing when drawing items."
QgsLayoutRenderContext.FlagUseAdvancedEffects = Qgis.LayoutRenderFlag.UseAdvancedEffects
QgsLayoutRenderContext.Flag.FlagUseAdvancedEffects = Qgis.LayoutRenderFlag.UseAdvancedEffects
QgsLayoutRenderContext.FlagUseAdvancedEffects.is_monkey_patched = True
QgsLayoutRenderContext.FlagUseAdvancedEffects.__doc__ = "Enable advanced effects such as blend modes. \n.. deprecated:: 3.44. Use rasterizedRenderingPolicy() instead."
QgsLayoutRenderContext.FlagForceVectorOutput = Qgis.LayoutRenderFlag.ForceVectorOutput
QgsLayoutRenderContext.Flag.FlagForceVectorOutput = Qgis.LayoutRenderFlag.ForceVectorOutput
QgsLayoutRenderContext.FlagForceVectorOutput.is_monkey_patched = True
QgsLayoutRenderContext.FlagForceVectorOutput.__doc__ = "Force output in vector format where possible, even if items require rasterization to keep their correct appearance. \n.. deprecated:: 3.44. Use rasterizedRenderingPolicy() instead."
QgsLayoutRenderContext.FlagHideCoverageLayer = Qgis.LayoutRenderFlag.HideCoverageLayer
QgsLayoutRenderContext.Flag.FlagHideCoverageLayer = Qgis.LayoutRenderFlag.HideCoverageLayer
QgsLayoutRenderContext.FlagHideCoverageLayer.is_monkey_patched = True
QgsLayoutRenderContext.FlagHideCoverageLayer.__doc__ = "Hide coverage layer in outputs"
QgsLayoutRenderContext.FlagDrawSelection = Qgis.LayoutRenderFlag.DrawSelection
QgsLayoutRenderContext.Flag.FlagDrawSelection = Qgis.LayoutRenderFlag.DrawSelection
QgsLayoutRenderContext.FlagDrawSelection.is_monkey_patched = True
QgsLayoutRenderContext.FlagDrawSelection.__doc__ = "Draw selection"
QgsLayoutRenderContext.FlagDisableTiledRasterLayerRenders = Qgis.LayoutRenderFlag.DisableTiledRasterLayerRenders
QgsLayoutRenderContext.Flag.FlagDisableTiledRasterLayerRenders = Qgis.LayoutRenderFlag.DisableTiledRasterLayerRenders
QgsLayoutRenderContext.FlagDisableTiledRasterLayerRenders.is_monkey_patched = True
QgsLayoutRenderContext.FlagDisableTiledRasterLayerRenders.__doc__ = "If set, then raster layers will not be drawn as separate tiles. This may improve the appearance in exported files, at the cost of much higher memory usage during exports."
QgsLayoutRenderContext.FlagRenderLabelsByMapLayer = Qgis.LayoutRenderFlag.RenderLabelsByMapLayer
QgsLayoutRenderContext.Flag.FlagRenderLabelsByMapLayer = Qgis.LayoutRenderFlag.RenderLabelsByMapLayer
QgsLayoutRenderContext.FlagRenderLabelsByMapLayer.is_monkey_patched = True
QgsLayoutRenderContext.FlagRenderLabelsByMapLayer.__doc__ = "When rendering map items to multi-layered exports, render labels belonging to different layers into separate export layers"
QgsLayoutRenderContext.FlagLosslessImageRendering = Qgis.LayoutRenderFlag.LosslessImageRendering
QgsLayoutRenderContext.Flag.FlagLosslessImageRendering = Qgis.LayoutRenderFlag.LosslessImageRendering
QgsLayoutRenderContext.FlagLosslessImageRendering.is_monkey_patched = True
QgsLayoutRenderContext.FlagLosslessImageRendering.__doc__ = "Render images losslessly whenever possible, instead of the default lossy jpeg rendering used for some destination devices (e.g. PDF)."
QgsLayoutRenderContext.FlagSynchronousLegendGraphics = Qgis.LayoutRenderFlag.SynchronousLegendGraphics
QgsLayoutRenderContext.Flag.FlagSynchronousLegendGraphics = Qgis.LayoutRenderFlag.SynchronousLegendGraphics
QgsLayoutRenderContext.FlagSynchronousLegendGraphics.is_monkey_patched = True
QgsLayoutRenderContext.FlagSynchronousLegendGraphics.__doc__ = "Query legend graphics synchronously."
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUseGlobalMasks
QgsLayoutRenderContext.Flag.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUseGlobalMasks
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks.is_monkey_patched = True
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks.__doc__ = "When applying clipping paths for selective masking, always use global (\"entire map\") paths, instead of calculating local clipping paths per rendered feature. This results in considerably more complex layout exports in all current Qt versions. This flag only applies to vector layout exports. \n.. versionadded:: 3.38"
Qgis.LayoutRenderFlag.__doc__ = """Flags for controlling how a layout is rendered.
.. note::
Prior to QGIS 3.44 this was available as :py:class:`QgsLayoutRenderContext`.Flag
.. versionadded:: 3.44
* ``Debug``: Debug/testing mode, items are drawn as solid rectangles.
Available as ``QgsLayoutRenderContext.FlagDebug`` in older QGIS releases.
* ``OutlineOnly``: Render items as outlines only.
Available as ``QgsLayoutRenderContext.FlagOutlineOnly`` in older QGIS releases.
* ``Antialiasing``: Use antialiasing when drawing items.
Available as ``QgsLayoutRenderContext.FlagAntialiasing`` in older QGIS releases.
* ``UseAdvancedEffects``: Enable advanced effects such as blend modes.
.. deprecated:: 3.44. Use rasterizedRenderingPolicy() instead.
Available as ``QgsLayoutRenderContext.FlagUseAdvancedEffects`` in older QGIS releases.
* ``ForceVectorOutput``: Force output in vector format where possible, even if items require rasterization to keep their correct appearance.
.. deprecated:: 3.44. Use rasterizedRenderingPolicy() instead.
Available as ``QgsLayoutRenderContext.FlagForceVectorOutput`` in older QGIS releases.
* ``HideCoverageLayer``: Hide coverage layer in outputs
Available as ``QgsLayoutRenderContext.FlagHideCoverageLayer`` in older QGIS releases.
* ``DrawSelection``: Draw selection
Available as ``QgsLayoutRenderContext.FlagDrawSelection`` in older QGIS releases.
* ``DisableTiledRasterLayerRenders``: If set, then raster layers will not be drawn as separate tiles. This may improve the appearance in exported files, at the cost of much higher memory usage during exports.
Available as ``QgsLayoutRenderContext.FlagDisableTiledRasterLayerRenders`` in older QGIS releases.
* ``RenderLabelsByMapLayer``: When rendering map items to multi-layered exports, render labels belonging to different layers into separate export layers
Available as ``QgsLayoutRenderContext.FlagRenderLabelsByMapLayer`` in older QGIS releases.
* ``LosslessImageRendering``: Render images losslessly whenever possible, instead of the default lossy jpeg rendering used for some destination devices (e.g. PDF).
Available as ``QgsLayoutRenderContext.FlagLosslessImageRendering`` in older QGIS releases.
* ``SynchronousLegendGraphics``: Query legend graphics synchronously.
Available as ``QgsLayoutRenderContext.FlagSynchronousLegendGraphics`` in older QGIS releases.
* ``AlwaysUseGlobalMasks``: When applying clipping paths for selective masking, always use global (\"entire map\") paths, instead of calculating local clipping paths per rendered feature. This results in considerably more complex layout exports in all current Qt versions. This flag only applies to vector layout exports.
.. versionadded:: 3.38
Available as ``QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks`` in older QGIS releases.
"""
# --
Qgis.LayoutRenderFlag.baseClass = Qgis
Qgis.LayoutRenderFlags = lambda flags=0: Qgis.LayoutRenderFlag(flags)
QgsLayoutRenderContext.Flags = Qgis.LayoutRenderFlags
Qgis.LayoutRenderFlags.baseClass = Qgis
LayoutRenderFlags = Qgis # dirty hack since SIP seems to introduce the flags in module
QgsLayoutItemPicture.Format = Qgis.PictureFormat
# monkey patching scoped based enum
QgsLayoutItemPicture.FormatSVG = Qgis.PictureFormat.SVG

View File

@ -73,6 +73,7 @@ QgsAbstractDatabaseProviderConnection.RetrieveRelationships = QgsAbstractDatabas
QgsAbstractDatabaseProviderConnection.AddRelationship = QgsAbstractDatabaseProviderConnection.Capability.AddRelationship
QgsAbstractDatabaseProviderConnection.UpdateRelationship = QgsAbstractDatabaseProviderConnection.Capability.UpdateRelationship
QgsAbstractDatabaseProviderConnection.DeleteRelationship = QgsAbstractDatabaseProviderConnection.Capability.DeleteRelationship
QgsAbstractDatabaseProviderConnection.MoveTableToSchema = QgsAbstractDatabaseProviderConnection.Capability.MoveTableToSchema
QgsAbstractDatabaseProviderConnection.Capability.baseClass = QgsAbstractDatabaseProviderConnection
QgsAbstractDatabaseProviderConnection.Capabilities = lambda flags=0: QgsAbstractDatabaseProviderConnection.Capability(flags)
QgsAbstractDatabaseProviderConnection.Capabilities.baseClass = QgsAbstractDatabaseProviderConnection
@ -131,7 +132,7 @@ try:
except (NameError, AttributeError):
pass
try:
QgsAbstractDatabaseProviderConnection.__virtual_methods__ = ['geometryColumnCapabilities', 'sqlLayerDefinitionCapabilities', 'tableUri', 'createVectorTable', 'createVectorLayerExporterDestinationUri', 'tableExists', 'dropVectorTable', 'dropRasterTable', 'renameVectorTable', 'renameRasterTable', 'createSchema', 'dropSchema', 'deleteField', 'addField', 'renameField', 'renameSchema', 'executeSql', 'createSqlVectorLayer', 'validateSqlVectorLayer', 'sqlOptions', 'execSql', 'vacuum', 'createSpatialIndex', 'spatialIndexExists', 'deleteSpatialIndex', 'table', 'SIP_THROW', 'fields', 'sqlDictionary', 'illegalFieldNames', 'defaultPrimaryKeyColumnName', 'defaultGeometryColumnName', 'supportedFieldDomainTypes', 'fieldDomain', 'setFieldDomainName', 'addFieldDomain', 'setFieldAlias', 'setTableComment', 'setFieldComment', 'supportedRelationshipCapabilities', 'relatedTableTypes', 'relationships', 'addRelationship', 'updateRelationship', 'deleteRelationship', 'queryBuilder', 'searchLayerMetadata']
QgsAbstractDatabaseProviderConnection.__virtual_methods__ = ['geometryColumnCapabilities', 'sqlLayerDefinitionCapabilities', 'tableUri', 'createVectorTable', 'createVectorLayerExporterDestinationUri', 'tableExists', 'dropVectorTable', 'dropRasterTable', 'renameVectorTable', 'renameRasterTable', 'createSchema', 'dropSchema', 'deleteField', 'addField', 'renameField', 'renameSchema', 'executeSql', 'createSqlVectorLayer', 'validateSqlVectorLayer', 'sqlOptions', 'execSql', 'vacuum', 'createSpatialIndex', 'spatialIndexExists', 'deleteSpatialIndex', 'table', 'SIP_THROW', 'fields', 'sqlDictionary', 'illegalFieldNames', 'defaultPrimaryKeyColumnName', 'defaultGeometryColumnName', 'supportedFieldDomainTypes', 'fieldDomain', 'setFieldDomainName', 'addFieldDomain', 'setFieldAlias', 'setTableComment', 'setFieldComment', 'moveTableToSchema', 'supportedRelationshipCapabilities', 'relatedTableTypes', 'relationships', 'addRelationship', 'updateRelationship', 'deleteRelationship', 'queryBuilder', 'searchLayerMetadata']
QgsAbstractDatabaseProviderConnection.__abstract_methods__ = ['tableImportCapabilities', 'nativeTypes']
QgsAbstractDatabaseProviderConnection.__group__ = ['providers']
except (NameError, AttributeError):

View File

@ -2,12 +2,17 @@
# monkey patching scoped based enum
QgsArcGisRestUtils.FeatureToJsonFlag.IncludeGeometry.__doc__ = "Whether to include the geometry definition"
QgsArcGisRestUtils.FeatureToJsonFlag.IncludeNonObjectIdAttributes.__doc__ = "Whether to include any non-objectId attributes"
QgsArcGisRestUtils.FeatureToJsonFlag.SkipUnsetAttributes.__doc__ = "Skip unset attributes. \n.. versionadded:: 3.44"
QgsArcGisRestUtils.FeatureToJsonFlag.__doc__ = """Flags which control the behavior of converting features to JSON.
.. versionadded:: 3.28
* ``IncludeGeometry``: Whether to include the geometry definition
* ``IncludeNonObjectIdAttributes``: Whether to include any non-objectId attributes
* ``SkipUnsetAttributes``: Skip unset attributes.
.. versionadded:: 3.44
"""
# --

View File

@ -15,28 +15,28 @@ except (NameError, AttributeError):
pass
try:
QgsLayoutExporter.ImageExportSettings.__attribute_docs__ = {'dpi': 'Resolution to export layout at. If dpi <= 0 the default layout dpi will be used.', 'imageSize': "Manual size in pixels for output image. If imageSize is not\nset then it will be automatically calculated based on the\noutput dpi and layout size.\n\nIf cropToContents is ``True`` then imageSize has no effect.\n\nBe careful when specifying manual sizes if pages in the layout\nhave differing sizes! It's likely not going to give a reasonable\noutput in this case, and the automatic dpi-based image size should be\nused instead.", 'cropToContents': 'Set to ``True`` if image should be cropped so only parts of the layout\ncontaining items are exported.', 'cropMargins': 'Crop to content margins, in pixels. These margins will be added\nto the bounds of the exported layout if cropToContents is ``True``.', 'pages': 'List of specific pages to export, or an empty list to\nexport all pages.\n\nPage numbers are 0 index based, so the first page in the\nlayout corresponds to page 0.', 'generateWorldFile': 'Set to ``True`` to generate an external world file alongside\nexported images.', 'exportMetadata': "Indicates whether image export should include metadata generated\nfrom the layout's project's metadata.\n\n.. versionadded:: 3.2", 'flags': 'Layout context flags, which control how the export will be created.', 'predefinedMapScales': 'A list of predefined scales to use with the layout. This is used\nfor maps which are set to the predefined atlas scaling mode.\n\n.. versionadded:: 3.10', 'quality': 'Image quality, typically used for JPEG compression (whose quality ranges from 1 to 100)\nif quality is set to -1, the default quality will be used.\n\n.. versionadded:: 3.42'}
QgsLayoutExporter.ImageExportSettings.__annotations__ = {'dpi': float, 'imageSize': 'QSize', 'cropToContents': bool, 'cropMargins': 'QgsMargins', 'pages': 'List[int]', 'generateWorldFile': bool, 'exportMetadata': bool, 'flags': 'QgsLayoutRenderContext.Flags', 'predefinedMapScales': 'List[float]', 'quality': int}
QgsLayoutExporter.ImageExportSettings.__annotations__ = {'dpi': float, 'imageSize': 'QSize', 'cropToContents': bool, 'cropMargins': 'QgsMargins', 'pages': 'List[int]', 'generateWorldFile': bool, 'exportMetadata': bool, 'flags': 'Qgis.LayoutRenderFlags', 'predefinedMapScales': 'List[float]', 'quality': int}
QgsLayoutExporter.ImageExportSettings.__doc__ = """Contains settings relating to exporting layouts to raster images"""
QgsLayoutExporter.ImageExportSettings.__group__ = ['layout']
except (NameError, AttributeError):
pass
try:
QgsLayoutExporter.PdfExportSettings.__attribute_docs__ = {'dpi': 'Resolution to export layout at. If dpi <= 0 the default layout dpi will be used.', 'rasterizeWholeImage': 'Set to ``True`` to force whole layout to be rasterized while exporting.\n\nThis option is mutually exclusive with forceVectorOutput.', 'forceVectorOutput': 'Set to ``True`` to force vector object exports, even when the resultant appearance will differ\nfrom the layout. If ``False``, some items may be rasterized in order to maintain their\ncorrect appearance in the output.\n\nThis option is mutually exclusive with rasterizeWholeImage.', 'appendGeoreference': 'Indicates whether PDF export should append georeference data\n\n.. versionadded:: 3.10', 'exportMetadata': "Indicates whether PDF export should include metadata generated\nfrom the layout's project's metadata.\n\n.. versionadded:: 3.2", 'flags': 'Layout context flags, which control how the export will be created.', 'textRenderFormat': 'Text rendering format, which controls how text should be rendered in the export (e.g.\nas paths or real text objects).\n\n.. versionadded:: 3.4.3', 'simplifyGeometries': 'Indicates whether vector geometries should be simplified to avoid redundant extraneous detail,\nsuch as vertices which are not visible at the specified dpi of the output.\n\n.. versionadded:: 3.10', 'writeGeoPdf': '``True`` if geospatial PDF files should be created, instead of normal PDF files.\n\nWhilst geospatial PDF files can include some desirable properties like the ability to interactively\nquery map features, they also can result in lower-quality output files, or forced rasterization\nof layers.\n\n.. note::\n\n Requires builds based on GDAL 3.0 or greater.\n\n.. versionadded:: 3.10', 'exportLayersAsSeperateFiles': '``True`` if individual layers from the layout should be rendered to separate PDF files.\n\nThis option allows for separation of logic layout layers to individual PDF files. For instance,\nif this option is ``True``, then a separate PDF file will be created per layer per map item in the\nlayout. Additionally, separate PDF files may be created for other complex layout items, resulting\nin a set of PDF files which contain logical atomic components of the layout.\n\nThis option is designed to allow the PDF files to be composited back together in an external\napplication (e.g. Adobe Illustrator) as a non-QGIS, post-production step.\n\n.. versionadded:: 3.14', 'useIso32000ExtensionFormatGeoreferencing': '``True`` if ISO3200 extension format georeferencing should be used.\n\nThis is a recommended setting which results in Geospatial PDF files compatible\nwith the built-in Acrobat geospatial tools.\n\nIf PdfExportSettings.writeGeoPdf is ``False`` than this option has no effect.', 'useOgcBestPracticeFormatGeoreferencing': '``True`` if OGC "best practice" format georeferencing should be used.\n\n.. warning::\n\n This results in geospatial PDF files compatible with a unnamed suite of tools starting with Terra and ending with Go, but\n can break compatibility with the built-in Acrobat geospatial tools (yes, Geospatial PDF\n format is a mess!).\n\nIf PdfExportSettings.writeGeoPdf is ``False`` than this option has no effect.\n\n.. deprecated:: 3.42\n\n This parameter has no longer any effect. Only ISO 32000 georeferencing is handled.', 'includeGeoPdfFeatures': '``True`` if feature vector information (such as attributes) should be exported during Geospatial PDF exports.\n\nIf PdfExportSettings.writeGeoPdf is ``False`` than this option has no effect.', 'exportThemes': "Optional list of map themes to export as Geospatial PDF layer groups.\n\nIf set, map item's which are not assigned a specific map theme will iterate through all listed\nthemes and a Geospatial PDF layer group will be created for each.\n\nIf PdfExportSettings.writeGeoPdf is ``False`` than this option has no effect.", 'predefinedMapScales': 'A list of predefined scales to use with the layout. This is used\nfor maps which are set to the predefined atlas scaling mode.\n\n.. versionadded:: 3.10'}
QgsLayoutExporter.PdfExportSettings.__annotations__ = {'dpi': float, 'rasterizeWholeImage': bool, 'forceVectorOutput': bool, 'appendGeoreference': bool, 'exportMetadata': bool, 'flags': 'QgsLayoutRenderContext.Flags', 'textRenderFormat': 'Qgis.TextRenderFormat', 'simplifyGeometries': bool, 'writeGeoPdf': bool, 'exportLayersAsSeperateFiles': bool, 'useIso32000ExtensionFormatGeoreferencing': bool, 'useOgcBestPracticeFormatGeoreferencing': bool, 'includeGeoPdfFeatures': bool, 'exportThemes': 'List[str]', 'predefinedMapScales': 'List[float]'}
QgsLayoutExporter.PdfExportSettings.__annotations__ = {'dpi': float, 'rasterizeWholeImage': bool, 'forceVectorOutput': bool, 'appendGeoreference': bool, 'exportMetadata': bool, 'flags': 'Qgis.LayoutRenderFlags', 'textRenderFormat': 'Qgis.TextRenderFormat', 'simplifyGeometries': bool, 'writeGeoPdf': bool, 'exportLayersAsSeperateFiles': bool, 'useIso32000ExtensionFormatGeoreferencing': bool, 'useOgcBestPracticeFormatGeoreferencing': bool, 'includeGeoPdfFeatures': bool, 'exportThemes': 'List[str]', 'predefinedMapScales': 'List[float]'}
QgsLayoutExporter.PdfExportSettings.__doc__ = """Contains settings relating to exporting layouts to PDF"""
QgsLayoutExporter.PdfExportSettings.__group__ = ['layout']
except (NameError, AttributeError):
pass
try:
QgsLayoutExporter.PrintExportSettings.__attribute_docs__ = {'dpi': 'Resolution to export layout at. If dpi <= 0 the default layout dpi will be used.', 'rasterizeWholeImage': 'Set to ``True`` to force whole layout to be rasterized while exporting.\n\nThis option is mutually exclusive with forceVectorOutput.', 'flags': 'Layout context flags, which control how the export will be created.', 'predefinedMapScales': 'A list of predefined scales to use with the layout. This is used\nfor maps which are set to the predefined atlas scaling mode.\n\n.. versionadded:: 3.10'}
QgsLayoutExporter.PrintExportSettings.__annotations__ = {'dpi': float, 'rasterizeWholeImage': bool, 'flags': 'QgsLayoutRenderContext.Flags', 'predefinedMapScales': 'List[float]'}
QgsLayoutExporter.PrintExportSettings.__annotations__ = {'dpi': float, 'rasterizeWholeImage': bool, 'flags': 'Qgis.LayoutRenderFlags', 'predefinedMapScales': 'List[float]'}
QgsLayoutExporter.PrintExportSettings.__doc__ = """Contains settings relating to printing layouts"""
QgsLayoutExporter.PrintExportSettings.__group__ = ['layout']
except (NameError, AttributeError):
pass
try:
QgsLayoutExporter.SvgExportSettings.__attribute_docs__ = {'dpi': 'Resolution to export layout at. If dpi <= 0 the default layout dpi will be used.', 'forceVectorOutput': 'Set to ``True`` to force vector object exports, even when the resultant appearance will differ\nfrom the layout. If ``False``, some items may be rasterized in order to maintain their\ncorrect appearance in the output.\n\nThis option is mutually exclusive with rasterizeWholeImage.', 'cropToContents': 'Set to ``True`` if image should be cropped so only parts of the layout\ncontaining items are exported.', 'cropMargins': 'Crop to content margins, in layout units. These margins will be added\nto the bounds of the exported layout if cropToContents is ``True``.', 'exportAsLayers': 'Set to ``True`` to export as a layered SVG file.\nNote that this option is considered experimental, and the generated\nSVG may differ from the expected appearance of the layout.', 'exportLabelsToSeparateLayers': 'Set to ``True`` to export labels to separate layers (grouped by map layer)\nin layered SVG exports.\n\nThis option is only used if exportAsLayers is ``True``.\n\n.. versionadded:: 3.10', 'exportMetadata': "Indicates whether SVG export should include RDF metadata generated\nfrom the layout's project's metadata.\n\n.. versionadded:: 3.2", 'flags': 'Layout context flags, which control how the export will be created.', 'textRenderFormat': 'Text rendering format, which controls how text should be rendered in the export (e.g.\nas paths or real text objects).\n\n.. versionadded:: 3.4.3', 'simplifyGeometries': 'Indicates whether vector geometries should be simplified to avoid redundant extraneous detail,\nsuch as vertices which are not visible at the specified dpi of the output.\n\n.. versionadded:: 3.10', 'predefinedMapScales': 'A list of predefined scales to use with the layout. This is used\nfor maps which are set to the predefined atlas scaling mode.\n\n.. versionadded:: 3.10'}
QgsLayoutExporter.SvgExportSettings.__annotations__ = {'dpi': float, 'forceVectorOutput': bool, 'cropToContents': bool, 'cropMargins': 'QgsMargins', 'exportAsLayers': bool, 'exportLabelsToSeparateLayers': bool, 'exportMetadata': bool, 'flags': 'QgsLayoutRenderContext.Flags', 'textRenderFormat': 'Qgis.TextRenderFormat', 'simplifyGeometries': bool, 'predefinedMapScales': 'List[float]'}
QgsLayoutExporter.SvgExportSettings.__annotations__ = {'dpi': float, 'forceVectorOutput': bool, 'cropToContents': bool, 'cropMargins': 'QgsMargins', 'exportAsLayers': bool, 'exportLabelsToSeparateLayers': bool, 'exportMetadata': bool, 'flags': 'Qgis.LayoutRenderFlags', 'textRenderFormat': 'Qgis.TextRenderFormat', 'simplifyGeometries': bool, 'predefinedMapScales': 'List[float]'}
QgsLayoutExporter.SvgExportSettings.__doc__ = """Contains settings relating to exporting layouts to SVG"""
QgsLayoutExporter.SvgExportSettings.__group__ = ['layout']
except (NameError, AttributeError):

View File

@ -1,20 +1,7 @@
# The following has been generated automatically from src/core/layout/qgslayoutrendercontext.h
QgsLayoutRenderContext.FlagDebug = QgsLayoutRenderContext.Flag.FlagDebug
QgsLayoutRenderContext.FlagOutlineOnly = QgsLayoutRenderContext.Flag.FlagOutlineOnly
QgsLayoutRenderContext.FlagAntialiasing = QgsLayoutRenderContext.Flag.FlagAntialiasing
QgsLayoutRenderContext.FlagUseAdvancedEffects = QgsLayoutRenderContext.Flag.FlagUseAdvancedEffects
QgsLayoutRenderContext.FlagForceVectorOutput = QgsLayoutRenderContext.Flag.FlagForceVectorOutput
QgsLayoutRenderContext.FlagHideCoverageLayer = QgsLayoutRenderContext.Flag.FlagHideCoverageLayer
QgsLayoutRenderContext.FlagDrawSelection = QgsLayoutRenderContext.Flag.FlagDrawSelection
QgsLayoutRenderContext.FlagDisableTiledRasterLayerRenders = QgsLayoutRenderContext.Flag.FlagDisableTiledRasterLayerRenders
QgsLayoutRenderContext.FlagRenderLabelsByMapLayer = QgsLayoutRenderContext.Flag.FlagRenderLabelsByMapLayer
QgsLayoutRenderContext.FlagLosslessImageRendering = QgsLayoutRenderContext.Flag.FlagLosslessImageRendering
QgsLayoutRenderContext.FlagSynchronousLegendGraphics = QgsLayoutRenderContext.Flag.FlagSynchronousLegendGraphics
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks = QgsLayoutRenderContext.Flag.FlagAlwaysUseGlobalMasks
QgsLayoutRenderContext.Flags = lambda flags=0: QgsLayoutRenderContext.Flag(flags)
try:
QgsLayoutRenderContext.__attribute_docs__ = {'flagsChanged': "Emitted whenever the context's ``flags`` change.\n\n.. seealso:: :py:func:`setFlags`\n", 'dpiChanged': "Emitted when the context's DPI is changed.\n", 'predefinedScalesChanged': 'Emitted when the list of predefined scales changes.\n\n.. seealso:: :py:func:`predefinedScales`\n\n.. versionadded:: 3.10\n'}
QgsLayoutRenderContext.__signal_arguments__ = {'flagsChanged': ['flags: QgsLayoutRenderContext.Flags']}
QgsLayoutRenderContext.__signal_arguments__ = {'flagsChanged': ['flags: Qgis.LayoutRenderFlags']}
QgsLayoutRenderContext.__group__ = ['layout']
except (NameError, AttributeError):
pass

View File

@ -32,8 +32,9 @@ except (NameError, AttributeError):
pass
try:
QgsRasterMarkerSymbolLayer.create = staticmethod(QgsRasterMarkerSymbolLayer.create)
QgsRasterMarkerSymbolLayer.createFromSld = staticmethod(QgsRasterMarkerSymbolLayer.createFromSld)
QgsRasterMarkerSymbolLayer.resolvePaths = staticmethod(QgsRasterMarkerSymbolLayer.resolvePaths)
QgsRasterMarkerSymbolLayer.__overridden_methods__ = ['layerType', 'flags', 'renderPoint', 'properties', 'clone', 'usesMapUnits', 'color', 'setMapUnitScale', 'mapUnitScale', 'bounds']
QgsRasterMarkerSymbolLayer.__overridden_methods__ = ['layerType', 'flags', 'renderPoint', 'properties', 'clone', 'usesMapUnits', 'color', 'writeSldMarker', 'setMapUnitScale', 'mapUnitScale', 'bounds']
QgsRasterMarkerSymbolLayer.__group__ = ['symbology']
except (NameError, AttributeError):
pass

View File

@ -74,6 +74,7 @@ try:
QgsSymbolLayerUtils.hasWellKnownMark = staticmethod(QgsSymbolLayerUtils.hasWellKnownMark)
QgsSymbolLayerUtils.needFontMarker = staticmethod(QgsSymbolLayerUtils.needFontMarker)
QgsSymbolLayerUtils.needSvgMarker = staticmethod(QgsSymbolLayerUtils.needSvgMarker)
QgsSymbolLayerUtils.needRasterMarker = staticmethod(QgsSymbolLayerUtils.needRasterMarker)
QgsSymbolLayerUtils.needEllipseMarker = staticmethod(QgsSymbolLayerUtils.needEllipseMarker)
QgsSymbolLayerUtils.needMarkerLine = staticmethod(QgsSymbolLayerUtils.needMarkerLine)
QgsSymbolLayerUtils.needLinePatternFill = staticmethod(QgsSymbolLayerUtils.needLinePatternFill)

View File

@ -144,12 +144,10 @@ into available memory.
bool exportMetadata;
QgsLayoutRenderContext::Flags flags;
Qgis::LayoutRenderFlags flags;
QVector<qreal> predefinedMapScales;
int quality;
};
@ -200,7 +198,7 @@ set to the error description.
bool exportMetadata;
QgsLayoutRenderContext::Flags flags;
Qgis::LayoutRenderFlags flags;
Qgis::TextRenderFormat textRenderFormat;
@ -273,7 +271,7 @@ set to the error description.
bool rasterizeWholeImage;
QgsLayoutRenderContext::Flags flags;
Qgis::LayoutRenderFlags flags;
QVector<qreal> predefinedMapScales;
@ -322,7 +320,7 @@ set to the error description.
bool exportMetadata;
QgsLayoutRenderContext::Flags flags;
Qgis::LayoutRenderFlags flags;
Qgis::TextRenderFormat textRenderFormat;

View File

@ -20,30 +20,12 @@ layout.
%End
public:
enum Flag /BaseType=IntEnum/
{
FlagDebug,
FlagOutlineOnly,
FlagAntialiasing,
FlagUseAdvancedEffects,
FlagForceVectorOutput,
FlagHideCoverageLayer,
FlagDrawSelection,
FlagDisableTiledRasterLayerRenders,
FlagRenderLabelsByMapLayer,
FlagLosslessImageRendering,
FlagSynchronousLegendGraphics,
FlagAlwaysUseGlobalMasks,
};
typedef QFlags<QgsLayoutRenderContext::Flag> Flags;
QgsLayoutRenderContext( QgsLayout *layout /TransferThis/ );
%Docstring
Constructor for QgsLayoutRenderContext.
%End
void setFlags( QgsLayoutRenderContext::Flags flags );
void setFlags( Qgis::LayoutRenderFlags flags );
%Docstring
Sets the combination of ``flags`` that will be used for rendering the
layout.
@ -55,7 +37,7 @@ layout.
.. seealso:: :py:func:`testFlag`
%End
void setFlag( QgsLayoutRenderContext::Flag flag, bool on = true );
void setFlag( Qgis::LayoutRenderFlag flag, bool on = true );
%Docstring
Enables or disables a particular rendering ``flag`` for the layout.
Other existing flags are not affected.
@ -67,7 +49,7 @@ Other existing flags are not affected.
.. seealso:: :py:func:`testFlag`
%End
QgsLayoutRenderContext::Flags flags() const;
Qgis::LayoutRenderFlags flags() const;
%Docstring
Returns the current combination of flags used for rendering the layout.
@ -78,7 +60,7 @@ Returns the current combination of flags used for rendering the layout.
.. seealso:: :py:func:`testFlag`
%End
bool testFlag( Flag flag ) const;
bool testFlag( Qgis::LayoutRenderFlag flag ) const;
%Docstring
Check whether a particular rendering ``flag`` is enabled for the layout.
@ -93,6 +75,26 @@ Check whether a particular rendering ``flag`` is enabled for the layout.
%Docstring
Returns the combination of render context flags matched to the layout
context's settings.
%End
Qgis::RasterizedRenderingPolicy rasterizedRenderingPolicy() const;
%Docstring
Returns the policy controlling when rasterization of content during
renders is permitted.
.. seealso:: :py:func:`setRasterizedRenderingPolicy`
.. versionadded:: 3.44
%End
void setRasterizedRenderingPolicy( Qgis::RasterizedRenderingPolicy policy );
%Docstring
Sets the ``policy`` controlling when rasterization of content during
renders is permitted.
.. seealso:: :py:func:`rasterizedRenderingPolicy`
.. versionadded:: 3.44
%End
void setDpi( double dpi );
@ -371,7 +373,7 @@ It is currently used by QGIS Server Access Control Plugins.
signals:
void flagsChanged( QgsLayoutRenderContext::Flags flags );
void flagsChanged( Qgis::LayoutRenderFlags flags );
%Docstring
Emitted whenever the context's ``flags`` change.

View File

@ -184,6 +184,7 @@ Returns a null rectangle if the value cannot be converted.
{
IncludeGeometry,
IncludeNonObjectIdAttributes,
SkipUnsetAttributes,
};
typedef QFlags<QgsArcGisRestUtils::FeatureToJsonFlag> FeatureToJsonFlags;

View File

@ -365,6 +365,7 @@ This information is calculated from the geometry columns types.
AddRelationship,
UpdateRelationship,
DeleteRelationship,
MoveTableToSchema,
};
typedef QFlags<QgsAbstractDatabaseProviderConnection::Capability> Capabilities;
@ -994,6 +995,20 @@ Sets the ``comment`` for the existing field with the specified name.
.. versionadded:: 3.32
%End
virtual void moveTableToSchema( const QString &sourceSchema, const QString &tableName, const QString &targetSchema ) const;
%Docstring
Move table to a different schema.
:param sourceSchema: name of the source schema.
:param tableName: name of the table.
:param targetSchema: name of the target schema to move table to.
:raises QgsProviderConnectionException: if any errors are encountered.
.. versionadded:: 3.44
%End
SIP_PYOBJECT supportedRelationshipCardinalities() const /TypeHint="List[Qgis.RelationshipCardinality]"/;
%Docstring
Returns a list of relationship cardinalities which are supported by the

View File

@ -1544,6 +1544,13 @@ The development version
typedef QFlags<Qgis::CoordinateTransformationFlag> CoordinateTransformationFlags;
enum class RasterizedRenderingPolicy /BaseType=IntEnum/
{
Default,
PreferVector,
ForceVector,
};
enum class MapSettingsFlag /BaseType=IntFlag/
{
Antialiasing,
@ -1593,6 +1600,7 @@ The development version
RecordProfile,
AlwaysUseGlobalMasks,
DisableSymbolClippingToExtent,
RenderLayerTree
};
typedef QFlags<Qgis::RenderContextFlag> RenderContextFlags;
@ -2880,6 +2888,25 @@ The development version
ScreenUnits
};
enum class LayoutRenderFlag /BaseType=IntFlag/
{
Debug,
OutlineOnly,
Antialiasing,
UseAdvancedEffects,
ForceVectorOutput,
HideCoverageLayer,
DrawSelection,
DisableTiledRasterLayerRenders,
RenderLabelsByMapLayer,
LosslessImageRendering,
SynchronousLegendGraphics,
AlwaysUseGlobalMasks,
};
typedef QFlags<Qgis::LayoutRenderFlag> LayoutRenderFlags;
enum class PictureFormat /BaseType=IntEnum/
{
SVG,
@ -3621,6 +3648,8 @@ QFlags<Qgis::VectorProviderCapability> operator|(Qgis::VectorProviderCapability
QFlags<Qgis::MapCanvasFlag> operator|(Qgis::MapCanvasFlag f1, QFlags<Qgis::MapCanvasFlag> f2);
QFlags<Qgis::LayoutRenderFlag> operator|(Qgis::LayoutRenderFlag f1, QFlags<Qgis::LayoutRenderFlag> f2);

View File

@ -1057,8 +1057,27 @@ Sets the shading ``renderer`` used to render shading on the entire map
.. versionadded:: 3.30
%End
protected:
Qgis::RasterizedRenderingPolicy rasterizedRenderingPolicy() const;
%Docstring
Returns the policy controlling when rasterisation of content during
renders is permitted.
.. seealso:: :py:func:`setRasterizedRenderingPolicy`
.. versionadded:: 3.44
%End
void setRasterizedRenderingPolicy( Qgis::RasterizedRenderingPolicy policy );
%Docstring
Sets the ``policy`` controlling when rasterisation of content during
renders is permitted.
.. seealso:: :py:func:`rasterizedRenderingPolicy`
.. versionadded:: 3.44
%End
protected:

View File

@ -348,26 +348,38 @@ rendering to check if rendering should be canceled, if set. Maybe be
.. versionadded:: 3.22
%End
bool forceVectorOutput() const;
bool forceVectorOutput() const /Deprecated="Since 3.44. Use rasterizedRenderingPolicy() instead."/;
%Docstring
Returns ``True`` if rendering operations should use vector operations
instead of any faster raster shortcuts.
.. seealso:: :py:func:`setForceVectorOutput`
.. deprecated:: 3.44
Use :py:func:`~QgsRenderContext.rasterizedRenderingPolicy` instead.
%End
bool useAdvancedEffects() const;
bool useAdvancedEffects() const /Deprecated="Since 3.44. Use rasterizedRenderingPolicy() instead."/;
%Docstring
Returns ``True`` if advanced effects such as blend modes such be used
.. seealso:: :py:func:`setUseAdvancedEffects`
.. deprecated:: 3.44
Use :py:func:`~QgsRenderContext.rasterizedRenderingPolicy` instead.
%End
void setUseAdvancedEffects( bool enabled );
void setUseAdvancedEffects( bool enabled ) /Deprecated="Since 3.44. Use setRasterizedRenderingPolicy() instead."/;
%Docstring
Used to enable or disable advanced effects such as blend modes
.. seealso:: :py:func:`useAdvancedEffects`
.. deprecated:: 3.44
Use :py:func:`~QgsRenderContext.setRasterizedRenderingPolicy` instead.
%End
bool drawEditingInformation() const;
@ -597,12 +609,16 @@ second parameter gives a unique identifier to each one.
.. seealso:: :py:func:`maskPainter`
%End
void setForceVectorOutput( bool force );
void setForceVectorOutput( bool force ) /Deprecated="Since 3.44. Use setRasterizedRenderingPolicy() instead."/;
%Docstring
Sets whether rendering operations should use vector operations instead
of any faster raster shortcuts.
.. seealso:: :py:func:`forceVectorOutput`
.. deprecated:: 3.44
Use :py:func:`~QgsRenderContext.setRasterizedRenderingPolicy` instead.
%End
@ -1226,6 +1242,26 @@ during rendering.
.. seealso:: :py:func:`setImageFormat`
.. versionadded:: 3.22
%End
Qgis::RasterizedRenderingPolicy rasterizedRenderingPolicy() const;
%Docstring
Returns the policy controlling when rasterisation of content during
renders is permitted.
.. seealso:: :py:func:`setRasterizedRenderingPolicy`
.. versionadded:: 3.44
%End
void setRasterizedRenderingPolicy( Qgis::RasterizedRenderingPolicy policy );
%Docstring
Sets the ``policy`` controlling when rasterisation of content during
renders is permitted.
.. seealso:: :py:func:`rasterizedRenderingPolicy`
.. versionadded:: 3.44
%End
Qgis::RendererUsage rendererUsage() const;

View File

@ -811,6 +811,17 @@ path to a raster image file
Creates a raster marker symbol layer from a string map of properties.
:param properties: QVariantMap properties object
%End
static QgsSymbolLayer *createFromSld( QDomElement &element ) /Factory/;
%Docstring
Creates a new QgsRasterMarkerSymbolLayer from an SLD XML element.
:param element: XML element containing SLD definition of symbol
:return: new QgsRasterMarkerSymbolLayer
.. versionadded:: 3.44
%End
static void resolvePaths( QVariantMap &properties, const QgsPathResolver &pathResolver, bool saving );
@ -834,6 +845,10 @@ versa when writing. Used internally when reading/writing symbols.
virtual QColor color() const;
virtual void writeSldMarker( QDomDocument &doc, QDomElement &element, const QVariantMap &props ) const /Deprecated/;
virtual bool writeSldMarker( QDomDocument &doc, QDomElement &element, QgsSldExportContext &context ) const;
double calculateAspectRatio( QgsSymbolRenderContext &context, double scaledSize, bool &hasDataDefinedAspectRatio ) const;
%Docstring

View File

@ -490,7 +490,7 @@ Checks if ``element`` contains an ExternalGraphic element with format
found .
%End
static bool hasExternalGraphicV2( QDomElement &element, const QString format = QString() );
static bool hasExternalGraphicV2( const QDomElement &element, const QString format = QString() );
%Docstring
Checks if ``element`` contains an ExternalGraphic element, if the
optional ``format`` is specified it will also be checked.
@ -504,7 +504,28 @@ optional ``format`` is specified it will also be checked.
static bool hasWellKnownMark( QDomElement &element );
static bool needFontMarker( QDomElement &element );
static bool needSvgMarker( QDomElement &element );
static bool needSvgMarker( const QDomElement &element );
%Docstring
Checks if ``element`` contains an ExternalGraphic element that should
translate to an SVG marker.
:return: ``True`` if the ExternalGraphic element is found and is of type
SVG.
%End
static bool needRasterMarker( const QDomElement &element );
%Docstring
Checks if ``element`` contains an ExternalGraphic element that should
translate to a raster marker.
This is the case for any type of ExternalGraphic that is not an SVG.
:return: ``True`` if the ExternalGraphic element is found and is not of
type SVG.
.. versionadded:: 3.44
%End
static bool needEllipseMarker( QDomElement &element );
static bool needMarkerLine( QDomElement &element );
static bool needLinePatternFill( QDomElement &element );

View File

@ -1,14 +1,14 @@
Qgis.defaultProjectScales: src/core/qgis.h#L5985
Qgis.defaultProjectScales: src/core/qgis.h#L6033
Qgis.devVersion: src/core/qgis.h#L89
Qgis.geoNone: src/core/qgis.h#L6030
Qgis.geoProj4: src/core/qgis.h#L6060
Qgis.geoWkt: src/core/qgis.h#L6051
Qgis.geographicCrsAuthId: src/core/qgis.h#L6040
Qgis.geosVersion: src/core/qgis.h#L6020
Qgis.geosVersionInt: src/core/qgis.h#L5992
Qgis.geosVersionMajor: src/core/qgis.h#L5999
Qgis.geosVersionMinor: src/core/qgis.h#L6006
Qgis.geosVersionPatch: src/core/qgis.h#L6013
Qgis.geoNone: src/core/qgis.h#L6078
Qgis.geoProj4: src/core/qgis.h#L6108
Qgis.geoWkt: src/core/qgis.h#L6099
Qgis.geographicCrsAuthId: src/core/qgis.h#L6088
Qgis.geosVersion: src/core/qgis.h#L6068
Qgis.geosVersionInt: src/core/qgis.h#L6040
Qgis.geosVersionMajor: src/core/qgis.h#L6047
Qgis.geosVersionMinor: src/core/qgis.h#L6054
Qgis.geosVersionPatch: src/core/qgis.h#L6061
Qgis.releaseName: src/core/qgis.h#L79
Qgis.version: src/core/qgis.h#L65
Qgis.versionInt: src/core/qgis.h#L72
@ -154,56 +154,57 @@ QgsAbstractDatabaseProviderConnection.QgsAbstractDatabaseProviderConnection.setQ
QgsAbstractDatabaseProviderConnection.QgsAbstractDatabaseProviderConnection.setSchema: src/core/providers/qgsabstractdatabaseproviderconnection.h#L358
QgsAbstractDatabaseProviderConnection.QgsAbstractDatabaseProviderConnection.setTableName: src/core/providers/qgsabstractdatabaseproviderconnection.h#L316
QgsAbstractDatabaseProviderConnection.QgsAbstractDatabaseProviderConnection.tableName: src/core/providers/qgsabstractdatabaseproviderconnection.h#L309
QgsAbstractDatabaseProviderConnection.addField: src/core/providers/qgsabstractdatabaseproviderconnection.h#L728
QgsAbstractDatabaseProviderConnection.addFieldDomain: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1010
QgsAbstractDatabaseProviderConnection.addRelationship: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1179
QgsAbstractDatabaseProviderConnection.capabilities2: src/core/providers/qgsabstractdatabaseproviderconnection.h#L574
QgsAbstractDatabaseProviderConnection.capabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L566
QgsAbstractDatabaseProviderConnection.checkCapability: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1237
QgsAbstractDatabaseProviderConnection.checkCapability: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1244
QgsAbstractDatabaseProviderConnection.createSchema: src/core/providers/qgsabstractdatabaseproviderconnection.h#L693
QgsAbstractDatabaseProviderConnection.createSpatialIndex: src/core/providers/qgsabstractdatabaseproviderconnection.h#L824
QgsAbstractDatabaseProviderConnection.createSqlVectorLayer: src/core/providers/qgsabstractdatabaseproviderconnection.h#L772
QgsAbstractDatabaseProviderConnection.createVectorLayerExporterDestinationUri: src/core/providers/qgsabstractdatabaseproviderconnection.h#L647
QgsAbstractDatabaseProviderConnection.createVectorTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L611
QgsAbstractDatabaseProviderConnection.defaultGeometryColumnName: src/core/providers/qgsabstractdatabaseproviderconnection.h#L953
QgsAbstractDatabaseProviderConnection.defaultPrimaryKeyColumnName: src/core/providers/qgsabstractdatabaseproviderconnection.h#L942
QgsAbstractDatabaseProviderConnection.deleteField: src/core/providers/qgsabstractdatabaseproviderconnection.h#L716
QgsAbstractDatabaseProviderConnection.deleteRelationship: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1195
QgsAbstractDatabaseProviderConnection.deleteSpatialIndex: src/core/providers/qgsabstractdatabaseproviderconnection.h#L842
QgsAbstractDatabaseProviderConnection.dropRasterTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L670
QgsAbstractDatabaseProviderConnection.dropSchema: src/core/providers/qgsabstractdatabaseproviderconnection.h#L703
QgsAbstractDatabaseProviderConnection.dropVectorTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L662
QgsAbstractDatabaseProviderConnection.execSql: src/core/providers/qgsabstractdatabaseproviderconnection.h#L807
QgsAbstractDatabaseProviderConnection.fieldDomain: src/core/providers/qgsabstractdatabaseproviderconnection.h#L986
QgsAbstractDatabaseProviderConnection.fieldDomainNames: src/core/providers/qgsabstractdatabaseproviderconnection.h#L965
QgsAbstractDatabaseProviderConnection.fields: src/core/providers/qgsabstractdatabaseproviderconnection.h#L897
QgsAbstractDatabaseProviderConnection.geometryColumnCapabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L581
QgsAbstractDatabaseProviderConnection.providerKey: src/core/providers/qgsabstractdatabaseproviderconnection.h#L912
QgsAbstractDatabaseProviderConnection.queryBuilder: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1204
QgsAbstractDatabaseProviderConnection.relatedTableTypes: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1157
QgsAbstractDatabaseProviderConnection.renameField: src/core/providers/qgsabstractdatabaseproviderconnection.h#L743
QgsAbstractDatabaseProviderConnection.renameRasterTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L686
QgsAbstractDatabaseProviderConnection.renameSchema: src/core/providers/qgsabstractdatabaseproviderconnection.h#L751
QgsAbstractDatabaseProviderConnection.renameVectorTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L678
QgsAbstractDatabaseProviderConnection.schemas: src/core/providers/qgsabstractdatabaseproviderconnection.h#L883
QgsAbstractDatabaseProviderConnection.setFieldAlias: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1023
QgsAbstractDatabaseProviderConnection.setFieldComment: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1048
QgsAbstractDatabaseProviderConnection.setFieldDomainName: src/core/providers/qgsabstractdatabaseproviderconnection.h#L999
QgsAbstractDatabaseProviderConnection.setTableComment: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1035
QgsAbstractDatabaseProviderConnection.spatialIndexExists: src/core/providers/qgsabstractdatabaseproviderconnection.h#L833
QgsAbstractDatabaseProviderConnection.sqlLayerDefinitionCapabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L594
QgsAbstractDatabaseProviderConnection.sqlOptions: src/core/providers/qgsabstractdatabaseproviderconnection.h#L798
QgsAbstractDatabaseProviderConnection.supportedRelationshipCapabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1145
QgsAbstractDatabaseProviderConnection.supportedRelationshipCardinalities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1058
QgsAbstractDatabaseProviderConnection.supportedRelationshipStrengths: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1103
QgsAbstractDatabaseProviderConnection.table: src/core/providers/qgsabstractdatabaseproviderconnection.h#L864
QgsAbstractDatabaseProviderConnection.tableExists: src/core/providers/qgsabstractdatabaseproviderconnection.h#L654
QgsAbstractDatabaseProviderConnection.tableImportCapabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L588
QgsAbstractDatabaseProviderConnection.tableUri: src/core/providers/qgsabstractdatabaseproviderconnection.h#L604
QgsAbstractDatabaseProviderConnection.updateRelationship: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1187
QgsAbstractDatabaseProviderConnection.vacuum: src/core/providers/qgsabstractdatabaseproviderconnection.h#L814
QgsAbstractDatabaseProviderConnection.validateSqlVectorLayer: src/core/providers/qgsabstractdatabaseproviderconnection.h#L789
QgsAbstractDatabaseProviderConnection.addField: src/core/providers/qgsabstractdatabaseproviderconnection.h#L729
QgsAbstractDatabaseProviderConnection.addFieldDomain: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1011
QgsAbstractDatabaseProviderConnection.addRelationship: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1193
QgsAbstractDatabaseProviderConnection.capabilities2: src/core/providers/qgsabstractdatabaseproviderconnection.h#L575
QgsAbstractDatabaseProviderConnection.capabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L567
QgsAbstractDatabaseProviderConnection.checkCapability: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1251
QgsAbstractDatabaseProviderConnection.checkCapability: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1258
QgsAbstractDatabaseProviderConnection.createSchema: src/core/providers/qgsabstractdatabaseproviderconnection.h#L694
QgsAbstractDatabaseProviderConnection.createSpatialIndex: src/core/providers/qgsabstractdatabaseproviderconnection.h#L825
QgsAbstractDatabaseProviderConnection.createSqlVectorLayer: src/core/providers/qgsabstractdatabaseproviderconnection.h#L773
QgsAbstractDatabaseProviderConnection.createVectorLayerExporterDestinationUri: src/core/providers/qgsabstractdatabaseproviderconnection.h#L648
QgsAbstractDatabaseProviderConnection.createVectorTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L612
QgsAbstractDatabaseProviderConnection.defaultGeometryColumnName: src/core/providers/qgsabstractdatabaseproviderconnection.h#L954
QgsAbstractDatabaseProviderConnection.defaultPrimaryKeyColumnName: src/core/providers/qgsabstractdatabaseproviderconnection.h#L943
QgsAbstractDatabaseProviderConnection.deleteField: src/core/providers/qgsabstractdatabaseproviderconnection.h#L717
QgsAbstractDatabaseProviderConnection.deleteRelationship: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1209
QgsAbstractDatabaseProviderConnection.deleteSpatialIndex: src/core/providers/qgsabstractdatabaseproviderconnection.h#L843
QgsAbstractDatabaseProviderConnection.dropRasterTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L671
QgsAbstractDatabaseProviderConnection.dropSchema: src/core/providers/qgsabstractdatabaseproviderconnection.h#L704
QgsAbstractDatabaseProviderConnection.dropVectorTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L663
QgsAbstractDatabaseProviderConnection.execSql: src/core/providers/qgsabstractdatabaseproviderconnection.h#L808
QgsAbstractDatabaseProviderConnection.fieldDomain: src/core/providers/qgsabstractdatabaseproviderconnection.h#L987
QgsAbstractDatabaseProviderConnection.fieldDomainNames: src/core/providers/qgsabstractdatabaseproviderconnection.h#L966
QgsAbstractDatabaseProviderConnection.fields: src/core/providers/qgsabstractdatabaseproviderconnection.h#L898
QgsAbstractDatabaseProviderConnection.geometryColumnCapabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L582
QgsAbstractDatabaseProviderConnection.moveTableToSchema: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1061
QgsAbstractDatabaseProviderConnection.providerKey: src/core/providers/qgsabstractdatabaseproviderconnection.h#L913
QgsAbstractDatabaseProviderConnection.queryBuilder: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1218
QgsAbstractDatabaseProviderConnection.relatedTableTypes: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1171
QgsAbstractDatabaseProviderConnection.renameField: src/core/providers/qgsabstractdatabaseproviderconnection.h#L744
QgsAbstractDatabaseProviderConnection.renameRasterTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L687
QgsAbstractDatabaseProviderConnection.renameSchema: src/core/providers/qgsabstractdatabaseproviderconnection.h#L752
QgsAbstractDatabaseProviderConnection.renameVectorTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L679
QgsAbstractDatabaseProviderConnection.schemas: src/core/providers/qgsabstractdatabaseproviderconnection.h#L884
QgsAbstractDatabaseProviderConnection.setFieldAlias: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1024
QgsAbstractDatabaseProviderConnection.setFieldComment: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1049
QgsAbstractDatabaseProviderConnection.setFieldDomainName: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1000
QgsAbstractDatabaseProviderConnection.setTableComment: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1036
QgsAbstractDatabaseProviderConnection.spatialIndexExists: src/core/providers/qgsabstractdatabaseproviderconnection.h#L834
QgsAbstractDatabaseProviderConnection.sqlLayerDefinitionCapabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L595
QgsAbstractDatabaseProviderConnection.sqlOptions: src/core/providers/qgsabstractdatabaseproviderconnection.h#L799
QgsAbstractDatabaseProviderConnection.supportedRelationshipCapabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1159
QgsAbstractDatabaseProviderConnection.supportedRelationshipCardinalities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1072
QgsAbstractDatabaseProviderConnection.supportedRelationshipStrengths: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1117
QgsAbstractDatabaseProviderConnection.table: src/core/providers/qgsabstractdatabaseproviderconnection.h#L865
QgsAbstractDatabaseProviderConnection.tableExists: src/core/providers/qgsabstractdatabaseproviderconnection.h#L655
QgsAbstractDatabaseProviderConnection.tableImportCapabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L589
QgsAbstractDatabaseProviderConnection.tableUri: src/core/providers/qgsabstractdatabaseproviderconnection.h#L605
QgsAbstractDatabaseProviderConnection.updateRelationship: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1201
QgsAbstractDatabaseProviderConnection.vacuum: src/core/providers/qgsabstractdatabaseproviderconnection.h#L815
QgsAbstractDatabaseProviderConnection.validateSqlVectorLayer: src/core/providers/qgsabstractdatabaseproviderconnection.h#L790
QgsAbstractDatabaseProviderConnection: src/core/providers/qgsabstractdatabaseproviderconnection.h#L46
QgsAbstractDbTableModel.QgsAbstractDbTableModel: src/core/providers/qgsabstractdbtablemodel.h#L35
QgsAbstractDbTableModel.columns: src/core/providers/qgsabstractdbtablemodel.h#L38
@ -679,14 +680,14 @@ QgsAnimatedIcon.iconPath: src/core/qgsanimatedicon.h#L43
QgsAnimatedIcon.setIconPath: src/core/qgsanimatedicon.h#L48
QgsAnimatedIcon.width: src/core/qgsanimatedicon.h#L116
QgsAnimatedIcon: src/core/qgsanimatedicon.h#L30
QgsAnimatedMarkerSymbolLayer.clone: src/core/symbology/qgsmarkersymbollayer.h#L1116
QgsAnimatedMarkerSymbolLayer.create: src/core/symbology/qgsmarkersymbollayer.h#L1110
QgsAnimatedMarkerSymbolLayer.frameRate: src/core/symbology/qgsmarkersymbollayer.h#L1130
QgsAnimatedMarkerSymbolLayer.layerType: src/core/symbology/qgsmarkersymbollayer.h#L1114
QgsAnimatedMarkerSymbolLayer.properties: src/core/symbology/qgsmarkersymbollayer.h#L1115
QgsAnimatedMarkerSymbolLayer.setFrameRate: src/core/symbology/qgsmarkersymbollayer.h#L1123
QgsAnimatedMarkerSymbolLayer.startRender: src/core/symbology/qgsmarkersymbollayer.h#L1132
QgsAnimatedMarkerSymbolLayer: src/core/symbology/qgsmarkersymbollayer.h#L1092
QgsAnimatedMarkerSymbolLayer.clone: src/core/symbology/qgsmarkersymbollayer.h#L1127
QgsAnimatedMarkerSymbolLayer.create: src/core/symbology/qgsmarkersymbollayer.h#L1121
QgsAnimatedMarkerSymbolLayer.frameRate: src/core/symbology/qgsmarkersymbollayer.h#L1141
QgsAnimatedMarkerSymbolLayer.layerType: src/core/symbology/qgsmarkersymbollayer.h#L1125
QgsAnimatedMarkerSymbolLayer.properties: src/core/symbology/qgsmarkersymbollayer.h#L1126
QgsAnimatedMarkerSymbolLayer.setFrameRate: src/core/symbology/qgsmarkersymbollayer.h#L1134
QgsAnimatedMarkerSymbolLayer.startRender: src/core/symbology/qgsmarkersymbollayer.h#L1143
QgsAnimatedMarkerSymbolLayer: src/core/symbology/qgsmarkersymbollayer.h#L1103
QgsAnnotation._readXml: src/core/annotations/qgsannotation.h#L369
QgsAnnotation._writeXml: src/core/annotations/qgsannotation.h#L361
QgsAnnotation.accept: src/core/annotations/qgsannotation.h#L323
@ -1177,11 +1178,11 @@ QgsArcGisRestUtils.convertRenderer: src/core/providers/arcgis/qgsarcgisrestutils
QgsArcGisRestUtils.convertSpatialReference: src/core/providers/arcgis/qgsarcgisrestutils.h#L148
QgsArcGisRestUtils.convertSymbol: src/core/providers/arcgis/qgsarcgisrestutils.h#L155
QgsArcGisRestUtils.crsToJson: src/core/providers/arcgis/qgsarcgisrestutils.h#L212
QgsArcGisRestUtils.featureToJson: src/core/providers/arcgis/qgsarcgisrestutils.h#L248
QgsArcGisRestUtils.fieldDefinitionToJson: src/core/providers/arcgis/qgsarcgisrestutils.h#L265
QgsArcGisRestUtils.featureToJson: src/core/providers/arcgis/qgsarcgisrestutils.h#L249
QgsArcGisRestUtils.fieldDefinitionToJson: src/core/providers/arcgis/qgsarcgisrestutils.h#L266
QgsArcGisRestUtils.geometryToJson: src/core/providers/arcgis/qgsarcgisrestutils.h#L203
QgsArcGisRestUtils.serviceTypeFromString: src/core/providers/arcgis/qgsarcgisrestutils.h#L272
QgsArcGisRestUtils.variantToAttributeValue: src/core/providers/arcgis/qgsarcgisrestutils.h#L258
QgsArcGisRestUtils.serviceTypeFromString: src/core/providers/arcgis/qgsarcgisrestutils.h#L273
QgsArcGisRestUtils.variantToAttributeValue: src/core/providers/arcgis/qgsarcgisrestutils.h#L259
QgsArcGisRestUtils: src/core/providers/arcgis/qgsarcgisrestutils.h#L114
QgsArchive.addFile: src/core/qgsarchive.h#L72
QgsArchive.clear: src/core/qgsarchive.h#L65
@ -4792,39 +4793,39 @@ QgsFontManager.setFontFamilyReplacements: src/core/textrenderer/qgsfontmanager.h
QgsFontManager.tryToDownloadFontFamily: src/core/textrenderer/qgsfontmanager.h#L248
QgsFontManager.urlForFontDownload: src/core/textrenderer/qgsfontmanager.h#L269
QgsFontManager: src/core/textrenderer/qgsfontmanager.h#L136
QgsFontMarkerSymbolLayer.bounds: src/core/symbology/qgsmarkersymbollayer.h#L1044
QgsFontMarkerSymbolLayer.character: src/core/symbology/qgsmarkersymbollayer.h#L957
QgsFontMarkerSymbolLayer.clone: src/core/symbology/qgsmarkersymbollayer.h#L912
QgsFontMarkerSymbolLayer.create: src/core/symbology/qgsmarkersymbollayer.h#L884
QgsFontMarkerSymbolLayer.createFromSld: src/core/symbology/qgsmarkersymbollayer.h#L889
QgsFontMarkerSymbolLayer.flags: src/core/symbology/qgsmarkersymbollayer.h#L902
QgsFontMarkerSymbolLayer.fontFamily: src/core/symbology/qgsmarkersymbollayer.h#L927
QgsFontMarkerSymbolLayer.fontStyle: src/core/symbology/qgsmarkersymbollayer.h#L942
QgsFontMarkerSymbolLayer.layerType: src/core/symbology/qgsmarkersymbollayer.h#L901
QgsFontMarkerSymbolLayer.penJoinStyle: src/core/symbology/qgsmarkersymbollayer.h#L1034
QgsFontMarkerSymbolLayer.properties: src/core/symbology/qgsmarkersymbollayer.h#L910
QgsFontMarkerSymbolLayer.renderPoint: src/core/symbology/qgsmarkersymbollayer.h#L908
QgsFontMarkerSymbolLayer.resolveFonts: src/core/symbology/qgsmarkersymbollayer.h#L897
QgsFontMarkerSymbolLayer.setCharacter: src/core/symbology/qgsmarkersymbollayer.h#L964
QgsFontMarkerSymbolLayer.setFontFamily: src/core/symbology/qgsmarkersymbollayer.h#L934
QgsFontMarkerSymbolLayer.setFontStyle: src/core/symbology/qgsmarkersymbollayer.h#L950
QgsFontMarkerSymbolLayer.setOutputUnit: src/core/symbology/qgsmarkersymbollayer.h#L918
QgsFontMarkerSymbolLayer.setPenJoinStyle: src/core/symbology/qgsmarkersymbollayer.h#L1042
QgsFontMarkerSymbolLayer.setStrokeColor: src/core/symbology/qgsmarkersymbollayer.h#L967
QgsFontMarkerSymbolLayer.setStrokeWidth: src/core/symbology/qgsmarkersymbollayer.h#L987
QgsFontMarkerSymbolLayer.setStrokeWidthMapUnitScale: src/core/symbology/qgsmarkersymbollayer.h#L1026
QgsFontMarkerSymbolLayer.setStrokeWidthUnit: src/core/symbology/qgsmarkersymbollayer.h#L1006
QgsFontMarkerSymbolLayer.startRender: src/core/symbology/qgsmarkersymbollayer.h#L904
QgsFontMarkerSymbolLayer.stopRender: src/core/symbology/qgsmarkersymbollayer.h#L906
QgsFontMarkerSymbolLayer.strokeColor: src/core/symbology/qgsmarkersymbollayer.h#L966
QgsFontMarkerSymbolLayer.strokeWidth: src/core/symbology/qgsmarkersymbollayer.h#L977
QgsFontMarkerSymbolLayer.strokeWidthUnit: src/core/symbology/qgsmarkersymbollayer.h#L997
QgsFontMarkerSymbolLayer.toSld: src/core/symbology/qgsmarkersymbollayer.h#L913
QgsFontMarkerSymbolLayer.toSld: src/core/symbology/qgsmarkersymbollayer.h#L914
QgsFontMarkerSymbolLayer.usesMapUnits: src/core/symbology/qgsmarkersymbollayer.h#L917
QgsFontMarkerSymbolLayer.writeSldMarker: src/core/symbology/qgsmarkersymbollayer.h#L915
QgsFontMarkerSymbolLayer.writeSldMarker: src/core/symbology/qgsmarkersymbollayer.h#L916
QgsFontMarkerSymbolLayer: src/core/symbology/qgsmarkersymbollayer.h#L866
QgsFontMarkerSymbolLayer.bounds: src/core/symbology/qgsmarkersymbollayer.h#L1055
QgsFontMarkerSymbolLayer.character: src/core/symbology/qgsmarkersymbollayer.h#L968
QgsFontMarkerSymbolLayer.clone: src/core/symbology/qgsmarkersymbollayer.h#L923
QgsFontMarkerSymbolLayer.create: src/core/symbology/qgsmarkersymbollayer.h#L895
QgsFontMarkerSymbolLayer.createFromSld: src/core/symbology/qgsmarkersymbollayer.h#L900
QgsFontMarkerSymbolLayer.flags: src/core/symbology/qgsmarkersymbollayer.h#L913
QgsFontMarkerSymbolLayer.fontFamily: src/core/symbology/qgsmarkersymbollayer.h#L938
QgsFontMarkerSymbolLayer.fontStyle: src/core/symbology/qgsmarkersymbollayer.h#L953
QgsFontMarkerSymbolLayer.layerType: src/core/symbology/qgsmarkersymbollayer.h#L912
QgsFontMarkerSymbolLayer.penJoinStyle: src/core/symbology/qgsmarkersymbollayer.h#L1045
QgsFontMarkerSymbolLayer.properties: src/core/symbology/qgsmarkersymbollayer.h#L921
QgsFontMarkerSymbolLayer.renderPoint: src/core/symbology/qgsmarkersymbollayer.h#L919
QgsFontMarkerSymbolLayer.resolveFonts: src/core/symbology/qgsmarkersymbollayer.h#L908
QgsFontMarkerSymbolLayer.setCharacter: src/core/symbology/qgsmarkersymbollayer.h#L975
QgsFontMarkerSymbolLayer.setFontFamily: src/core/symbology/qgsmarkersymbollayer.h#L945
QgsFontMarkerSymbolLayer.setFontStyle: src/core/symbology/qgsmarkersymbollayer.h#L961
QgsFontMarkerSymbolLayer.setOutputUnit: src/core/symbology/qgsmarkersymbollayer.h#L929
QgsFontMarkerSymbolLayer.setPenJoinStyle: src/core/symbology/qgsmarkersymbollayer.h#L1053
QgsFontMarkerSymbolLayer.setStrokeColor: src/core/symbology/qgsmarkersymbollayer.h#L978
QgsFontMarkerSymbolLayer.setStrokeWidth: src/core/symbology/qgsmarkersymbollayer.h#L998
QgsFontMarkerSymbolLayer.setStrokeWidthMapUnitScale: src/core/symbology/qgsmarkersymbollayer.h#L1037
QgsFontMarkerSymbolLayer.setStrokeWidthUnit: src/core/symbology/qgsmarkersymbollayer.h#L1017
QgsFontMarkerSymbolLayer.startRender: src/core/symbology/qgsmarkersymbollayer.h#L915
QgsFontMarkerSymbolLayer.stopRender: src/core/symbology/qgsmarkersymbollayer.h#L917
QgsFontMarkerSymbolLayer.strokeColor: src/core/symbology/qgsmarkersymbollayer.h#L977
QgsFontMarkerSymbolLayer.strokeWidth: src/core/symbology/qgsmarkersymbollayer.h#L988
QgsFontMarkerSymbolLayer.strokeWidthUnit: src/core/symbology/qgsmarkersymbollayer.h#L1008
QgsFontMarkerSymbolLayer.toSld: src/core/symbology/qgsmarkersymbollayer.h#L924
QgsFontMarkerSymbolLayer.toSld: src/core/symbology/qgsmarkersymbollayer.h#L925
QgsFontMarkerSymbolLayer.usesMapUnits: src/core/symbology/qgsmarkersymbollayer.h#L928
QgsFontMarkerSymbolLayer.writeSldMarker: src/core/symbology/qgsmarkersymbollayer.h#L926
QgsFontMarkerSymbolLayer.writeSldMarker: src/core/symbology/qgsmarkersymbollayer.h#L927
QgsFontMarkerSymbolLayer: src/core/symbology/qgsmarkersymbollayer.h#L877
QgsFontUtils.addRecentFontFamily: src/core/qgsfontutils.h#L190
QgsFontUtils.asCSS: src/core/qgsfontutils.h#L184
QgsFontUtils.createFont: src/core/qgsfontutils.h#L214
@ -6831,28 +6832,28 @@ QgsLayoutEffect.compositionMode: src/core/layout/qgslayouteffect.h#L60
QgsLayoutEffect.draw: src/core/layout/qgslayouteffect.h#L64
QgsLayoutEffect.setCompositionMode: src/core/layout/qgslayouteffect.h#L51
QgsLayoutEffect: src/core/layout/qgslayouteffect.h#L36
QgsLayoutExporter.computeWorldFileParameters: src/core/layout/qgslayoutexporter.h#L678
QgsLayoutExporter.computeWorldFileParameters: src/core/layout/qgslayoutexporter.h#L685
QgsLayoutExporter.containsAdvancedEffects: src/core/layout/qgslayoutexporter.h#L704
QgsLayoutExporter.errorFile: src/core/layout/qgslayoutexporter.h#L622
QgsLayoutExporter.errorMessage: src/core/layout/qgslayoutexporter.h#L629
QgsLayoutExporter.exportToImage: src/core/layout/qgslayoutexporter.h#L258
QgsLayoutExporter.exportToImage: src/core/layout/qgslayoutexporter.h#L271
QgsLayoutExporter.exportToPdf: src/core/layout/qgslayoutexporter.h#L420
QgsLayoutExporter.exportToPdf: src/core/layout/qgslayoutexporter.h#L433
QgsLayoutExporter.exportToPdfs: src/core/layout/qgslayoutexporter.h#L449
QgsLayoutExporter.exportToSvg: src/core/layout/qgslayoutexporter.h#L601
QgsLayoutExporter.exportToSvg: src/core/layout/qgslayoutexporter.h#L613
QgsLayoutExporter.generateFileName: src/core/layout/qgslayoutexporter.h#L713
QgsLayoutExporter.georeferenceOutput: src/core/layout/qgslayoutexporter.h#L669
QgsLayoutExporter.computeWorldFileParameters: src/core/layout/qgslayoutexporter.h#L676
QgsLayoutExporter.computeWorldFileParameters: src/core/layout/qgslayoutexporter.h#L683
QgsLayoutExporter.containsAdvancedEffects: src/core/layout/qgslayoutexporter.h#L702
QgsLayoutExporter.errorFile: src/core/layout/qgslayoutexporter.h#L620
QgsLayoutExporter.errorMessage: src/core/layout/qgslayoutexporter.h#L627
QgsLayoutExporter.exportToImage: src/core/layout/qgslayoutexporter.h#L256
QgsLayoutExporter.exportToImage: src/core/layout/qgslayoutexporter.h#L269
QgsLayoutExporter.exportToPdf: src/core/layout/qgslayoutexporter.h#L418
QgsLayoutExporter.exportToPdf: src/core/layout/qgslayoutexporter.h#L431
QgsLayoutExporter.exportToPdfs: src/core/layout/qgslayoutexporter.h#L447
QgsLayoutExporter.exportToSvg: src/core/layout/qgslayoutexporter.h#L599
QgsLayoutExporter.exportToSvg: src/core/layout/qgslayoutexporter.h#L611
QgsLayoutExporter.generateFileName: src/core/layout/qgslayoutexporter.h#L711
QgsLayoutExporter.georeferenceOutput: src/core/layout/qgslayoutexporter.h#L667
QgsLayoutExporter.layout: src/core/layout/qgslayoutexporter.h#L94
QgsLayoutExporter.print: src/core/layout/qgslayoutexporter.h#L494
QgsLayoutExporter.print: src/core/layout/qgslayoutexporter.h#L503
QgsLayoutExporter.print: src/core/layout/qgslayoutexporter.h#L492
QgsLayoutExporter.print: src/core/layout/qgslayoutexporter.h#L501
QgsLayoutExporter.renderPage: src/core/layout/qgslayoutexporter.h#L104
QgsLayoutExporter.renderPageToImage: src/core/layout/qgslayoutexporter.h#L124
QgsLayoutExporter.renderRegion: src/core/layout/qgslayoutexporter.h#L133
QgsLayoutExporter.renderRegionToImage: src/core/layout/qgslayoutexporter.h#L151
QgsLayoutExporter.requiresRasterization: src/core/layout/qgslayoutexporter.h#L695
QgsLayoutExporter.requiresRasterization: src/core/layout/qgslayoutexporter.h#L693
QgsLayoutExporter: src/core/layout/qgslayoutexporter.h#L51
QgsLayoutFrame.cleanup: src/core/layout/qgslayoutframe.h#L54
QgsLayoutFrame.create: src/core/layout/qgslayoutframe.h#L46
@ -8100,36 +8101,38 @@ QgsLayoutProxyModel.setFilterType: src/core/layout/qgslayoutmodel.h#L328
QgsLayoutProxyModel.setItemFlags: src/core/layout/qgslayoutmodel.h#L381
QgsLayoutProxyModel.sourceLayerModel: src/core/layout/qgslayoutmodel.h#L345
QgsLayoutProxyModel: src/core/layout/qgslayoutmodel.h#L304
QgsLayoutRenderContext.boundingBoxesVisible: src/core/layout/qgslayoutrendercontext.h#L166
QgsLayoutRenderContext.currentExportLayer: src/core/layout/qgslayoutrendercontext.h#L212
QgsLayoutRenderContext.dpi: src/core/layout/qgslayoutrendercontext.h#L115
QgsLayoutRenderContext.dpiChanged: src/core/layout/qgslayoutrendercontext.h#L364
QgsLayoutRenderContext.exportThemes: src/core/layout/qgslayoutrendercontext.h#L305
QgsLayoutRenderContext.featureFilterProvider: src/core/layout/qgslayoutrendercontext.h#L341
QgsLayoutRenderContext.flags: src/core/layout/qgslayoutrendercontext.h#L89
QgsLayoutRenderContext.flagsChanged: src/core/layout/qgslayoutrendercontext.h#L359
QgsLayoutRenderContext.gridVisible: src/core/layout/qgslayoutrendercontext.h#L154
QgsLayoutRenderContext.isPreviewRender: src/core/layout/qgslayoutrendercontext.h#L148
QgsLayoutRenderContext.pagesVisible: src/core/layout/qgslayoutrendercontext.h#L188
QgsLayoutRenderContext.predefinedScalesChanged: src/core/layout/qgslayoutrendercontext.h#L371
QgsLayoutRenderContext.renderContextFlags: src/core/layout/qgslayoutrendercontext.h#L102
QgsLayoutRenderContext.selectionColor: src/core/layout/qgslayoutrendercontext.h#L129
QgsLayoutRenderContext.setBoundingBoxesVisible: src/core/layout/qgslayoutrendercontext.h#L172
QgsLayoutRenderContext.setCurrentExportLayer: src/core/layout/qgslayoutrendercontext.h#L200
QgsLayoutRenderContext.setDpi: src/core/layout/qgslayoutrendercontext.h#L109
QgsLayoutRenderContext.setExportThemes: src/core/layout/qgslayoutrendercontext.h#L316
QgsLayoutRenderContext.setFeatureFilterProvider: src/core/layout/qgslayoutrendercontext.h#L351
QgsLayoutRenderContext.setFlag: src/core/layout/qgslayoutrendercontext.h#L81
QgsLayoutRenderContext.setFlags: src/core/layout/qgslayoutrendercontext.h#L72
QgsLayoutRenderContext.setGridVisible: src/core/layout/qgslayoutrendercontext.h#L160
QgsLayoutRenderContext.setMaskSettings: src/core/layout/qgslayoutrendercontext.h#L294
QgsLayoutRenderContext.setPagesVisible: src/core/layout/qgslayoutrendercontext.h#L180
QgsLayoutRenderContext.setPredefinedScales: src/core/layout/qgslayoutrendercontext.h#L324
QgsLayoutRenderContext.setSelectionColor: src/core/layout/qgslayoutrendercontext.h#L122
QgsLayoutRenderContext.setSimplifyMethod: src/core/layout/qgslayoutrendercontext.h#L253
QgsLayoutRenderContext.setTextRenderFormat: src/core/layout/qgslayoutrendercontext.h#L234
QgsLayoutRenderContext.testFlag: src/core/layout/qgslayoutrendercontext.h#L97
QgsLayoutRenderContext.textRenderFormat: src/core/layout/qgslayoutrendercontext.h#L223
QgsLayoutRenderContext.boundingBoxesVisible: src/core/layout/qgslayoutrendercontext.h#L164
QgsLayoutRenderContext.currentExportLayer: src/core/layout/qgslayoutrendercontext.h#L210
QgsLayoutRenderContext.dpi: src/core/layout/qgslayoutrendercontext.h#L113
QgsLayoutRenderContext.dpiChanged: src/core/layout/qgslayoutrendercontext.h#L362
QgsLayoutRenderContext.exportThemes: src/core/layout/qgslayoutrendercontext.h#L303
QgsLayoutRenderContext.featureFilterProvider: src/core/layout/qgslayoutrendercontext.h#L339
QgsLayoutRenderContext.flags: src/core/layout/qgslayoutrendercontext.h#L71
QgsLayoutRenderContext.flagsChanged: src/core/layout/qgslayoutrendercontext.h#L357
QgsLayoutRenderContext.gridVisible: src/core/layout/qgslayoutrendercontext.h#L152
QgsLayoutRenderContext.isPreviewRender: src/core/layout/qgslayoutrendercontext.h#L146
QgsLayoutRenderContext.pagesVisible: src/core/layout/qgslayoutrendercontext.h#L186
QgsLayoutRenderContext.predefinedScalesChanged: src/core/layout/qgslayoutrendercontext.h#L369
QgsLayoutRenderContext.rasterizedRenderingPolicy: src/core/layout/qgslayoutrendercontext.h#L92
QgsLayoutRenderContext.renderContextFlags: src/core/layout/qgslayoutrendercontext.h#L84
QgsLayoutRenderContext.selectionColor: src/core/layout/qgslayoutrendercontext.h#L127
QgsLayoutRenderContext.setBoundingBoxesVisible: src/core/layout/qgslayoutrendercontext.h#L170
QgsLayoutRenderContext.setCurrentExportLayer: src/core/layout/qgslayoutrendercontext.h#L198
QgsLayoutRenderContext.setDpi: src/core/layout/qgslayoutrendercontext.h#L107
QgsLayoutRenderContext.setExportThemes: src/core/layout/qgslayoutrendercontext.h#L314
QgsLayoutRenderContext.setFeatureFilterProvider: src/core/layout/qgslayoutrendercontext.h#L349
QgsLayoutRenderContext.setFlag: src/core/layout/qgslayoutrendercontext.h#L63
QgsLayoutRenderContext.setFlags: src/core/layout/qgslayoutrendercontext.h#L54
QgsLayoutRenderContext.setGridVisible: src/core/layout/qgslayoutrendercontext.h#L158
QgsLayoutRenderContext.setMaskSettings: src/core/layout/qgslayoutrendercontext.h#L292
QgsLayoutRenderContext.setPagesVisible: src/core/layout/qgslayoutrendercontext.h#L178
QgsLayoutRenderContext.setPredefinedScales: src/core/layout/qgslayoutrendercontext.h#L322
QgsLayoutRenderContext.setRasterizedRenderingPolicy: src/core/layout/qgslayoutrendercontext.h#L100
QgsLayoutRenderContext.setSelectionColor: src/core/layout/qgslayoutrendercontext.h#L120
QgsLayoutRenderContext.setSimplifyMethod: src/core/layout/qgslayoutrendercontext.h#L251
QgsLayoutRenderContext.setTextRenderFormat: src/core/layout/qgslayoutrendercontext.h#L232
QgsLayoutRenderContext.testFlag: src/core/layout/qgslayoutrendercontext.h#L79
QgsLayoutRenderContext.textRenderFormat: src/core/layout/qgslayoutrendercontext.h#L221
QgsLayoutRenderContext: src/core/layout/qgslayoutrendercontext.h#L36
QgsLayoutReportContext.changed: src/core/layout/qgslayoutreportcontext.h#L115
QgsLayoutReportContext.currentGeometry: src/core/layout/qgslayoutreportcontext.h#L72
@ -9495,6 +9498,7 @@ QgsMapSettings.outputDpi: src/core/qgsmapsettings.h#L199
QgsMapSettings.outputExtentToLayerExtent: src/core/qgsmapsettings.h#L561
QgsMapSettings.outputImageFormat: src/core/qgsmapsettings.h#L464
QgsMapSettings.outputSize: src/core/qgsmapsettings.h#L141
QgsMapSettings.rasterizedRenderingPolicy: src/core/qgsmapsettings.h#L934
QgsMapSettings.readXml: src/core/qgsmapsettings.h#L639
QgsMapSettings.rendererUsage: src/core/qgsmapsettings.h#L859
QgsMapSettings.rotation: src/core/qgsmapsettings.h#L184
@ -9530,6 +9534,7 @@ QgsMapSettings.setOutputDpi: src/core/qgsmapsettings.h#L206
QgsMapSettings.setOutputImageFormat: src/core/qgsmapsettings.h#L462
QgsMapSettings.setOutputSize: src/core/qgsmapsettings.h#L148
QgsMapSettings.setPathResolver: src/core/qgsmapsettings.h#L538
QgsMapSettings.setRasterizedRenderingPolicy: src/core/qgsmapsettings.h#L942
QgsMapSettings.setRendererUsage: src/core/qgsmapsettings.h#L870
QgsMapSettings.setRotation: src/core/qgsmapsettings.h#L190
QgsMapSettings.setScaleMethod: src/core/qgsmapsettings.h#L378
@ -9543,7 +9548,7 @@ QgsMapSettings.setZRange: src/core/qgsmapsettings.h#L851
QgsMapSettings.testFlag: src/core/qgsmapsettings.h#L431
QgsMapSettings.textRenderFormat: src/core/qgsmapsettings.h#L442
QgsMapSettings.transformContext: src/core/qgsmapsettings.h#L513
QgsMapSettings.updateDerived: src/core/qgsmapsettings.h#L1000
QgsMapSettings.updateDerived: src/core/qgsmapsettings.h#L1016
QgsMapSettings.visibleExtent: src/core/qgsmapsettings.h#L469
QgsMapSettings.visiblePolygon: src/core/qgsmapsettings.h#L474
QgsMapSettings.visiblePolygonWithBuffer: src/core/qgsmapsettings.h#L481
@ -14730,31 +14735,34 @@ QgsRasterLineSymbolLayer.startRender: src/core/symbology/qgslinesymbollayer.h#L1
QgsRasterLineSymbolLayer.stopRender: src/core/symbology/qgslinesymbollayer.h#L1257
QgsRasterLineSymbolLayer.usesMapUnits: src/core/symbology/qgslinesymbollayer.h#L1263
QgsRasterLineSymbolLayer: src/core/symbology/qgslinesymbollayer.h#L1205
QgsRasterMarkerSymbolLayer.bounds: src/core/symbology/qgsmarkersymbollayer.h#L808
QgsRasterMarkerSymbolLayer.calculateAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L732
QgsRasterMarkerSymbolLayer.clone: src/core/symbology/qgsmarkersymbollayer.h#L722
QgsRasterMarkerSymbolLayer.color: src/core/symbology/qgsmarkersymbollayer.h#L724
QgsRasterMarkerSymbolLayer.copyCommonProperties: src/core/symbology/qgsmarkersymbollayer.h#L824
QgsRasterMarkerSymbolLayer.bounds: src/core/symbology/qgsmarkersymbollayer.h#L819
QgsRasterMarkerSymbolLayer.calculateAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L743
QgsRasterMarkerSymbolLayer.clone: src/core/symbology/qgsmarkersymbollayer.h#L731
QgsRasterMarkerSymbolLayer.color: src/core/symbology/qgsmarkersymbollayer.h#L733
QgsRasterMarkerSymbolLayer.copyCommonProperties: src/core/symbology/qgsmarkersymbollayer.h#L835
QgsRasterMarkerSymbolLayer.create: src/core/symbology/qgsmarkersymbollayer.h#L708
QgsRasterMarkerSymbolLayer.defaultAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L765
QgsRasterMarkerSymbolLayer.fixedAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L794
QgsRasterMarkerSymbolLayer.flags: src/core/symbology/qgsmarkersymbollayer.h#L719
QgsRasterMarkerSymbolLayer.layerType: src/core/symbology/qgsmarkersymbollayer.h#L718
QgsRasterMarkerSymbolLayer.mapUnitScale: src/core/symbology/qgsmarkersymbollayer.h#L806
QgsRasterMarkerSymbolLayer.opacity: src/core/symbology/qgsmarkersymbollayer.h#L752
QgsRasterMarkerSymbolLayer.path: src/core/symbology/qgsmarkersymbollayer.h#L738
QgsRasterMarkerSymbolLayer.preservedAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L778
QgsRasterMarkerSymbolLayer.properties: src/core/symbology/qgsmarkersymbollayer.h#L721
QgsRasterMarkerSymbolLayer.renderPoint: src/core/symbology/qgsmarkersymbollayer.h#L720
QgsRasterMarkerSymbolLayer.resolvePaths: src/core/symbology/qgsmarkersymbollayer.h#L714
QgsRasterMarkerSymbolLayer.setCommonProperties: src/core/symbology/qgsmarkersymbollayer.h#L817
QgsRasterMarkerSymbolLayer.setFixedAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L803
QgsRasterMarkerSymbolLayer.setMapUnitScale: src/core/symbology/qgsmarkersymbollayer.h#L805
QgsRasterMarkerSymbolLayer.setOpacity: src/core/symbology/qgsmarkersymbollayer.h#L759
QgsRasterMarkerSymbolLayer.setPath: src/core/symbology/qgsmarkersymbollayer.h#L745
QgsRasterMarkerSymbolLayer.setPreservedAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L786
QgsRasterMarkerSymbolLayer.updateDefaultAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L772
QgsRasterMarkerSymbolLayer.usesMapUnits: src/core/symbology/qgsmarkersymbollayer.h#L723
QgsRasterMarkerSymbolLayer.createFromSld: src/core/symbology/qgsmarkersymbollayer.h#L717
QgsRasterMarkerSymbolLayer.defaultAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L776
QgsRasterMarkerSymbolLayer.fixedAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L805
QgsRasterMarkerSymbolLayer.flags: src/core/symbology/qgsmarkersymbollayer.h#L728
QgsRasterMarkerSymbolLayer.layerType: src/core/symbology/qgsmarkersymbollayer.h#L727
QgsRasterMarkerSymbolLayer.mapUnitScale: src/core/symbology/qgsmarkersymbollayer.h#L817
QgsRasterMarkerSymbolLayer.opacity: src/core/symbology/qgsmarkersymbollayer.h#L763
QgsRasterMarkerSymbolLayer.path: src/core/symbology/qgsmarkersymbollayer.h#L749
QgsRasterMarkerSymbolLayer.preservedAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L789
QgsRasterMarkerSymbolLayer.properties: src/core/symbology/qgsmarkersymbollayer.h#L730
QgsRasterMarkerSymbolLayer.renderPoint: src/core/symbology/qgsmarkersymbollayer.h#L729
QgsRasterMarkerSymbolLayer.resolvePaths: src/core/symbology/qgsmarkersymbollayer.h#L723
QgsRasterMarkerSymbolLayer.setCommonProperties: src/core/symbology/qgsmarkersymbollayer.h#L828
QgsRasterMarkerSymbolLayer.setFixedAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L814
QgsRasterMarkerSymbolLayer.setMapUnitScale: src/core/symbology/qgsmarkersymbollayer.h#L816
QgsRasterMarkerSymbolLayer.setOpacity: src/core/symbology/qgsmarkersymbollayer.h#L770
QgsRasterMarkerSymbolLayer.setPath: src/core/symbology/qgsmarkersymbollayer.h#L756
QgsRasterMarkerSymbolLayer.setPreservedAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L797
QgsRasterMarkerSymbolLayer.updateDefaultAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L783
QgsRasterMarkerSymbolLayer.usesMapUnits: src/core/symbology/qgsmarkersymbollayer.h#L732
QgsRasterMarkerSymbolLayer.writeSldMarker: src/core/symbology/qgsmarkersymbollayer.h#L734
QgsRasterMarkerSymbolLayer.writeSldMarker: src/core/symbology/qgsmarkersymbollayer.h#L735
QgsRasterMarkerSymbolLayer: src/core/symbology/qgsmarkersymbollayer.h#L691
QgsRasterMinMaxOrigin.cumulativeCutLower: src/core/raster/qgsrasterminmaxorigin.h#L64
QgsRasterMinMaxOrigin.cumulativeCutUpper: src/core/raster/qgsrasterminmaxorigin.h#L67
@ -15199,110 +15207,112 @@ QgsRenderChecker.shouldGenerateReport: src/core/qgsrenderchecker.h#L65
QgsRenderChecker.sourcePath: src/core/qgsrenderchecker.h#L297
QgsRenderChecker.testReportDir: src/core/qgsrenderchecker.h#L57
QgsRenderChecker: src/core/qgsrenderchecker.h#L41
QgsRenderContext.addSymbolLayerClipGeometry: src/core/qgsrendercontext.h#L1028
QgsRenderContext.addSymbolLayerClipPath: src/core/qgsrendercontext.h#L1012
QgsRenderContext.clearCustomProperty: src/core/qgsrendercontext.h#L923
QgsRenderContext.clearCustomRenderingFlag: src/core/qgsrendercontext.h#L915
QgsRenderContext.convertFromMapUnits: src/core/qgsrendercontext.h#L773
QgsRenderContext.convertFromPainterUnits: src/core/qgsrendercontext.h#L760
QgsRenderContext.convertMetersToMapUnits: src/core/qgsrendercontext.h#L779
QgsRenderContext.convertToMapUnits: src/core/qgsrendercontext.h#L767
QgsRenderContext.convertToPainterUnits: src/core/qgsrendercontext.h#L751
QgsRenderContext.addSymbolLayerClipGeometry: src/core/qgsrendercontext.h#L1032
QgsRenderContext.addSymbolLayerClipPath: src/core/qgsrendercontext.h#L1016
QgsRenderContext.clearCustomProperty: src/core/qgsrendercontext.h#L927
QgsRenderContext.clearCustomRenderingFlag: src/core/qgsrendercontext.h#L919
QgsRenderContext.convertFromMapUnits: src/core/qgsrendercontext.h#L777
QgsRenderContext.convertFromPainterUnits: src/core/qgsrendercontext.h#L764
QgsRenderContext.convertMetersToMapUnits: src/core/qgsrendercontext.h#L783
QgsRenderContext.convertToMapUnits: src/core/qgsrendercontext.h#L771
QgsRenderContext.convertToPainterUnits: src/core/qgsrendercontext.h#L755
QgsRenderContext.coordinateTransform: src/core/qgsrendercontext.h#L234
QgsRenderContext.currentMaskId: src/core/qgsrendercontext.h#L847
QgsRenderContext.customProperties: src/core/qgsrendercontext.h#L888
QgsRenderContext.customRenderingFlags: src/core/qgsrendercontext.h#L878
QgsRenderContext.deviceOutputSize: src/core/qgsrendercontext.h#L1112
QgsRenderContext.devicePixelRatio: src/core/qgsrendercontext.h#L1089
QgsRenderContext.currentMaskId: src/core/qgsrendercontext.h#L851
QgsRenderContext.customProperties: src/core/qgsrendercontext.h#L892
QgsRenderContext.customRenderingFlags: src/core/qgsrendercontext.h#L882
QgsRenderContext.deviceOutputSize: src/core/qgsrendercontext.h#L1116
QgsRenderContext.devicePixelRatio: src/core/qgsrendercontext.h#L1093
QgsRenderContext.dpiTarget: src/core/qgsrendercontext.h#L325
QgsRenderContext.drawEditingInformation: src/core/qgsrendercontext.h#L388
QgsRenderContext.elevationMap: src/core/qgsrendercontext.h#L1198
QgsRenderContext.featureClipGeometry: src/core/qgsrendercontext.h#L948
QgsRenderContext.featureFilterProvider: src/core/qgsrendercontext.h#L708
QgsRenderContext.drawEditingInformation: src/core/qgsrendercontext.h#L391
QgsRenderContext.elevationMap: src/core/qgsrendercontext.h#L1218
QgsRenderContext.featureClipGeometry: src/core/qgsrendercontext.h#L952
QgsRenderContext.featureFilterProvider: src/core/qgsrendercontext.h#L712
QgsRenderContext.feedback: src/core/qgsrendercontext.h#L359
QgsRenderContext.flags: src/core/qgsrendercontext.h#L83
QgsRenderContext.forceVectorOutput: src/core/qgsrendercontext.h#L367
QgsRenderContext.frameRate: src/core/qgsrendercontext.h#L1159
QgsRenderContext.forceVectorOutput: src/core/qgsrendercontext.h#L368
QgsRenderContext.frameRate: src/core/qgsrendercontext.h#L1179
QgsRenderContext.fromMapSettings: src/core/qgsrendercontext.h#L93
QgsRenderContext.fromQPainter: src/core/qgsrendercontext.h#L100
QgsRenderContext.geometry: src/core/qgsrendercontext.h#L692
QgsRenderContext.hasRenderedFeatureHandlers: src/core/qgsrendercontext.h#L815
QgsRenderContext.imageFormat: src/core/qgsrendercontext.h#L1130
QgsRenderContext.isGuiPreview: src/core/qgsrendercontext.h#L870
QgsRenderContext.geometry: src/core/qgsrendercontext.h#L696
QgsRenderContext.hasRenderedFeatureHandlers: src/core/qgsrendercontext.h#L819
QgsRenderContext.imageFormat: src/core/qgsrendercontext.h#L1134
QgsRenderContext.isGuiPreview: src/core/qgsrendercontext.h#L874
QgsRenderContext.isSymbolLayerEnabled: src/core/qgsrendercontext.h#L222
QgsRenderContext.mapExtent: src/core/qgsrendercontext.h#L302
QgsRenderContext.maskIdProvider: src/core/qgsrendercontext.h#L832
QgsRenderContext.maskIdProvider: src/core/qgsrendercontext.h#L836
QgsRenderContext.maskPainter: src/core/qgsrendercontext.h#L163
QgsRenderContext.outputSize: src/core/qgsrendercontext.h#L1071
QgsRenderContext.outputSize: src/core/qgsrendercontext.h#L1075
QgsRenderContext.painter: src/core/qgsrendercontext.h#L108
QgsRenderContext.previewRenderPainter: src/core/qgsrendercontext.h#L128
QgsRenderContext.rendererScale: src/core/qgsrendercontext.h#L395
QgsRenderContext.rendererUsage: src/core/qgsrendercontext.h#L1138
QgsRenderContext.rasterizedRenderingPolicy: src/core/qgsrendercontext.h#L1142
QgsRenderContext.rendererScale: src/core/qgsrendercontext.h#L398
QgsRenderContext.rendererUsage: src/core/qgsrendercontext.h#L1158
QgsRenderContext.renderingStopped: src/core/qgsrendercontext.h#L336
QgsRenderContext.scaleFactor: src/core/qgsrendercontext.h#L317
QgsRenderContext.segmentationTolerance: src/core/qgsrendercontext.h#L722
QgsRenderContext.segmentationToleranceType: src/core/qgsrendercontext.h#L736
QgsRenderContext.selectionColor: src/core/qgsrendercontext.h#L433
QgsRenderContext.setCoordinateTransform: src/core/qgsrendercontext.h#L456
QgsRenderContext.setCurrentFrame: src/core/qgsrendercontext.h#L1189
QgsRenderContext.setCurrentMaskId: src/core/qgsrendercontext.h#L839
QgsRenderContext.setCustomProperty: src/core/qgsrendercontext.h#L907
QgsRenderContext.setCustomRenderingFlag: src/core/qgsrendercontext.h#L897
QgsRenderContext.setDevicePixelRatio: src/core/qgsrendercontext.h#L1099
QgsRenderContext.segmentationTolerance: src/core/qgsrendercontext.h#L726
QgsRenderContext.segmentationToleranceType: src/core/qgsrendercontext.h#L740
QgsRenderContext.selectionColor: src/core/qgsrendercontext.h#L436
QgsRenderContext.setCoordinateTransform: src/core/qgsrendercontext.h#L459
QgsRenderContext.setCurrentFrame: src/core/qgsrendercontext.h#L1209
QgsRenderContext.setCurrentMaskId: src/core/qgsrendercontext.h#L843
QgsRenderContext.setCustomProperty: src/core/qgsrendercontext.h#L911
QgsRenderContext.setCustomRenderingFlag: src/core/qgsrendercontext.h#L901
QgsRenderContext.setDevicePixelRatio: src/core/qgsrendercontext.h#L1103
QgsRenderContext.setDisabledSymbolLayers: src/core/qgsrendercontext.h#L177
QgsRenderContext.setDisabledSymbolLayersV2: src/core/qgsrendercontext.h#L188
QgsRenderContext.setDistanceArea: src/core/qgsrendercontext.h#L514
QgsRenderContext.setDpiTarget: src/core/qgsrendercontext.h#L530
QgsRenderContext.setDrawEditingInformation: src/core/qgsrendercontext.h#L496
QgsRenderContext.setElevationMap: src/core/qgsrendercontext.h#L1208
QgsRenderContext.setExpressionContext: src/core/qgsrendercontext.h#L674
QgsRenderContext.setExtent: src/core/qgsrendercontext.h#L477
QgsRenderContext.setFeatureClipGeometry: src/core/qgsrendercontext.h#L959
QgsRenderContext.setFeatureFilterProvider: src/core/qgsrendercontext.h#L701
QgsRenderContext.setDistanceArea: src/core/qgsrendercontext.h#L517
QgsRenderContext.setDpiTarget: src/core/qgsrendercontext.h#L533
QgsRenderContext.setDrawEditingInformation: src/core/qgsrendercontext.h#L499
QgsRenderContext.setElevationMap: src/core/qgsrendercontext.h#L1228
QgsRenderContext.setExpressionContext: src/core/qgsrendercontext.h#L678
QgsRenderContext.setExtent: src/core/qgsrendercontext.h#L480
QgsRenderContext.setFeatureClipGeometry: src/core/qgsrendercontext.h#L963
QgsRenderContext.setFeatureFilterProvider: src/core/qgsrendercontext.h#L705
QgsRenderContext.setFeedback: src/core/qgsrendercontext.h#L349
QgsRenderContext.setFlag: src/core/qgsrendercontext.h#L78
QgsRenderContext.setFlags: src/core/qgsrendercontext.h#L73
QgsRenderContext.setForceVectorOutput: src/core/qgsrendercontext.h#L591
QgsRenderContext.setFrameRate: src/core/qgsrendercontext.h#L1169
QgsRenderContext.setGeometry: src/core/qgsrendercontext.h#L694
QgsRenderContext.setImageFormat: src/core/qgsrendercontext.h#L1121
QgsRenderContext.setIsGuiPreview: src/core/qgsrendercontext.h#L858
QgsRenderContext.setMapExtent: src/core/qgsrendercontext.h#L489
QgsRenderContext.setMapToPixel: src/core/qgsrendercontext.h#L463
QgsRenderContext.setMaskIdProvider: src/core/qgsrendercontext.h#L825
QgsRenderContext.setMaskPainter: src/core/qgsrendercontext.h#L583
QgsRenderContext.setMaskSettings: src/core/qgsrendercontext.h#L1004
QgsRenderContext.setOutputSize: src/core/qgsrendercontext.h#L1079
QgsRenderContext.setPainter: src/core/qgsrendercontext.h#L562
QgsRenderContext.setForceVectorOutput: src/core/qgsrendercontext.h#L595
QgsRenderContext.setFrameRate: src/core/qgsrendercontext.h#L1189
QgsRenderContext.setGeometry: src/core/qgsrendercontext.h#L698
QgsRenderContext.setImageFormat: src/core/qgsrendercontext.h#L1125
QgsRenderContext.setIsGuiPreview: src/core/qgsrendercontext.h#L862
QgsRenderContext.setMapExtent: src/core/qgsrendercontext.h#L492
QgsRenderContext.setMapToPixel: src/core/qgsrendercontext.h#L466
QgsRenderContext.setMaskIdProvider: src/core/qgsrendercontext.h#L829
QgsRenderContext.setMaskPainter: src/core/qgsrendercontext.h#L586
QgsRenderContext.setMaskSettings: src/core/qgsrendercontext.h#L1008
QgsRenderContext.setOutputSize: src/core/qgsrendercontext.h#L1083
QgsRenderContext.setPainter: src/core/qgsrendercontext.h#L565
QgsRenderContext.setPainterFlagsUsingContext: src/core/qgsrendercontext.h#L152
QgsRenderContext.setPathResolver: src/core/qgsrendercontext.h#L273
QgsRenderContext.setPreviewRenderPainter: src/core/qgsrendercontext.h#L574
QgsRenderContext.setRendererScale: src/core/qgsrendercontext.h#L537
QgsRenderContext.setRendererUsage: src/core/qgsrendercontext.h#L1149
QgsRenderContext.setRenderingStopped: src/core/qgsrendercontext.h#L508
QgsRenderContext.setScaleFactor: src/core/qgsrendercontext.h#L522
QgsRenderContext.setSegmentationTolerance: src/core/qgsrendercontext.h#L716
QgsRenderContext.setSegmentationToleranceType: src/core/qgsrendercontext.h#L730
QgsRenderContext.setSelectionColor: src/core/qgsrendercontext.h#L612
QgsRenderContext.setShowSelection: src/core/qgsrendercontext.h#L621
QgsRenderContext.setSymbologyReferenceScale: src/core/qgsrendercontext.h#L554
QgsRenderContext.setTextRenderFormat: src/core/qgsrendercontext.h#L801
QgsRenderContext.setTextureOrigin: src/core/qgsrendercontext.h#L977
QgsRenderContext.setPreviewRenderPainter: src/core/qgsrendercontext.h#L577
QgsRenderContext.setRasterizedRenderingPolicy: src/core/qgsrendercontext.h#L1150
QgsRenderContext.setRendererScale: src/core/qgsrendercontext.h#L540
QgsRenderContext.setRendererUsage: src/core/qgsrendercontext.h#L1169
QgsRenderContext.setRenderingStopped: src/core/qgsrendercontext.h#L511
QgsRenderContext.setScaleFactor: src/core/qgsrendercontext.h#L525
QgsRenderContext.setSegmentationTolerance: src/core/qgsrendercontext.h#L720
QgsRenderContext.setSegmentationToleranceType: src/core/qgsrendercontext.h#L734
QgsRenderContext.setSelectionColor: src/core/qgsrendercontext.h#L616
QgsRenderContext.setShowSelection: src/core/qgsrendercontext.h#L625
QgsRenderContext.setSymbologyReferenceScale: src/core/qgsrendercontext.h#L557
QgsRenderContext.setTextRenderFormat: src/core/qgsrendercontext.h#L805
QgsRenderContext.setTextureOrigin: src/core/qgsrendercontext.h#L981
QgsRenderContext.setTransformContext: src/core/qgsrendercontext.h#L257
QgsRenderContext.setUseAdvancedEffects: src/core/qgsrendercontext.h#L381
QgsRenderContext.setUseRenderingOptimization: src/core/qgsrendercontext.h#L635
QgsRenderContext.setVectorSimplifyMethod: src/core/qgsrendercontext.h#L667
QgsRenderContext.setZRange: src/core/qgsrendercontext.h#L1061
QgsRenderContext.showSelection: src/core/qgsrendercontext.h#L442
QgsRenderContext.symbolLayerHasClipGeometries: src/core/qgsrendercontext.h#L1036
QgsRenderContext.symbologyReferenceScale: src/core/qgsrendercontext.h#L413
QgsRenderContext.setUseAdvancedEffects: src/core/qgsrendercontext.h#L384
QgsRenderContext.setUseRenderingOptimization: src/core/qgsrendercontext.h#L639
QgsRenderContext.setVectorSimplifyMethod: src/core/qgsrendercontext.h#L671
QgsRenderContext.setZRange: src/core/qgsrendercontext.h#L1065
QgsRenderContext.showSelection: src/core/qgsrendercontext.h#L445
QgsRenderContext.symbolLayerHasClipGeometries: src/core/qgsrendercontext.h#L1040
QgsRenderContext.symbologyReferenceScale: src/core/qgsrendercontext.h#L416
QgsRenderContext.testFlag: src/core/qgsrendercontext.h#L88
QgsRenderContext.textRenderFormat: src/core/qgsrendercontext.h#L790
QgsRenderContext.textureOrigin: src/core/qgsrendercontext.h#L968
QgsRenderContext.textRenderFormat: src/core/qgsrendercontext.h#L794
QgsRenderContext.textureOrigin: src/core/qgsrendercontext.h#L972
QgsRenderContext.transformContext: src/core/qgsrendercontext.h#L248
QgsRenderContext.useAdvancedEffects: src/core/qgsrendercontext.h#L374
QgsRenderContext.useRenderingOptimization: src/core/qgsrendercontext.h#L628
QgsRenderContext.zRange: src/core/qgsrendercontext.h#L1053
QgsRenderContext.useAdvancedEffects: src/core/qgsrendercontext.h#L376
QgsRenderContext.useRenderingOptimization: src/core/qgsrendercontext.h#L632
QgsRenderContext.zRange: src/core/qgsrendercontext.h#L1057
QgsRenderContext: src/core/qgsrendercontext.h#L61
QgsRenderedAnnotationItemDetails.__repr__: src/core/annotations/qgsrenderedannotationitemdetails.h#L39
QgsRenderedAnnotationItemDetails.itemId: src/core/annotations/qgsrenderedannotationitemdetails.h#L49
@ -17287,39 +17297,39 @@ QgsSymbolLayerRegistry.resolvePaths: src/core/symbology/qgssymbollayerregistry.h
QgsSymbolLayerRegistry.symbolLayerMetadata: src/core/symbology/qgssymbollayerregistry.h#L193
QgsSymbolLayerRegistry.symbolLayersForType: src/core/symbology/qgssymbollayerregistry.h#L228
QgsSymbolLayerRegistry: src/core/symbology/qgssymbollayerregistry.h#L182
QgsSymbolLayerUtils.appendPolyline: src/core/symbology/qgssymbollayerutils.h#L959
QgsSymbolLayerUtils.applyScaleDependency: src/core/symbology/qgssymbollayerutils.h#L1005
QgsSymbolLayerUtils.blurImageInPlace: src/core/symbology/qgssymbollayerutils.h#L849
QgsSymbolLayerUtils.clearSymbolLayerIds: src/core/symbology/qgssymbollayerutils.h#L1091
QgsSymbolLayerUtils.clearSymbolLayerIds: src/core/symbology/qgssymbollayerutils.h#L1097
QgsSymbolLayerUtils.clearSymbolLayerMasks: src/core/symbology/qgssymbollayerutils.h#L1115
QgsSymbolLayerUtils.clearSymbolMap: src/core/symbology/qgssymbollayerutils.h#L706
QgsSymbolLayerUtils.colorFromMimeData: src/core/symbology/qgssymbollayerutils.h#L787
QgsSymbolLayerUtils.colorListFromMimeData: src/core/symbology/qgssymbollayerutils.h#L794
QgsSymbolLayerUtils.colorListToMimeData: src/core/symbology/qgssymbollayerutils.h#L802
QgsSymbolLayerUtils.appendPolyline: src/core/symbology/qgssymbollayerutils.h#L975
QgsSymbolLayerUtils.applyScaleDependency: src/core/symbology/qgssymbollayerutils.h#L1021
QgsSymbolLayerUtils.blurImageInPlace: src/core/symbology/qgssymbollayerutils.h#L865
QgsSymbolLayerUtils.clearSymbolLayerIds: src/core/symbology/qgssymbollayerutils.h#L1107
QgsSymbolLayerUtils.clearSymbolLayerIds: src/core/symbology/qgssymbollayerutils.h#L1113
QgsSymbolLayerUtils.clearSymbolLayerMasks: src/core/symbology/qgssymbollayerutils.h#L1131
QgsSymbolLayerUtils.clearSymbolMap: src/core/symbology/qgssymbollayerutils.h#L722
QgsSymbolLayerUtils.colorFromMimeData: src/core/symbology/qgssymbollayerutils.h#L803
QgsSymbolLayerUtils.colorListFromMimeData: src/core/symbology/qgssymbollayerutils.h#L810
QgsSymbolLayerUtils.colorListToMimeData: src/core/symbology/qgssymbollayerutils.h#L818
QgsSymbolLayerUtils.colorRampPreviewIcon: src/core/symbology/qgssymbollayerutils.h#L359
QgsSymbolLayerUtils.colorRampPreviewPixmap: src/core/symbology/qgssymbollayerutils.h#L373
QgsSymbolLayerUtils.colorRampToVariant: src/core/symbology/qgssymbollayerutils.h#L747
QgsSymbolLayerUtils.colorToMimeData: src/core/symbology/qgssymbollayerutils.h#L778
QgsSymbolLayerUtils.colorToName: src/core/symbology/qgssymbollayerutils.h#L762
QgsSymbolLayerUtils.condenseFillAndOutline: src/core/symbology/qgssymbollayerutils.h#L868
QgsSymbolLayerUtils.colorRampToVariant: src/core/symbology/qgssymbollayerutils.h#L763
QgsSymbolLayerUtils.colorToMimeData: src/core/symbology/qgssymbollayerutils.h#L794
QgsSymbolLayerUtils.colorToName: src/core/symbology/qgssymbollayerutils.h#L778
QgsSymbolLayerUtils.condenseFillAndOutline: src/core/symbology/qgssymbollayerutils.h#L884
QgsSymbolLayerUtils.convertPolygonSymbolizerToPointMarker: src/core/symbology/qgssymbollayerutils.h#L455
QgsSymbolLayerUtils.createAnchorPointElement: src/core/symbology/qgssymbollayerutils.h#L638
QgsSymbolLayerUtils.createDisplacementElement: src/core/symbology/qgssymbollayerutils.h#L629
QgsSymbolLayerUtils.createExpressionElement: src/core/symbology/qgssymbollayerutils.h#L664
QgsSymbolLayerUtils.createExpressionElement: src/core/symbology/qgssymbollayerutils.h#L674
QgsSymbolLayerUtils.createFunctionElement: src/core/symbology/qgssymbollayerutils.h#L680
QgsSymbolLayerUtils.createFunctionElement: src/core/symbology/qgssymbollayerutils.h#L686
QgsSymbolLayerUtils.createGeometryElement: src/core/symbology/qgssymbollayerutils.h#L647
QgsSymbolLayerUtils.createGeometryElement: src/core/symbology/qgssymbollayerutils.h#L653
QgsSymbolLayerUtils.createOnlineResourceElement: src/core/symbology/qgssymbollayerutils.h#L640
QgsSymbolLayerUtils.createOpacityElement: src/core/symbology/qgssymbollayerutils.h#L619
QgsSymbolLayerUtils.createOpacityElement: src/core/symbology/qgssymbollayerutils.h#L625
QgsSymbolLayerUtils.createRotationElement: src/core/symbology/qgssymbollayerutils.h#L605
QgsSymbolLayerUtils.createRotationElement: src/core/symbology/qgssymbollayerutils.h#L611
QgsSymbolLayerUtils.createSvgParameterElement: src/core/symbology/qgssymbollayerutils.h#L690
QgsSymbolLayerUtils.createAnchorPointElement: src/core/symbology/qgssymbollayerutils.h#L654
QgsSymbolLayerUtils.createDisplacementElement: src/core/symbology/qgssymbollayerutils.h#L645
QgsSymbolLayerUtils.createExpressionElement: src/core/symbology/qgssymbollayerutils.h#L680
QgsSymbolLayerUtils.createExpressionElement: src/core/symbology/qgssymbollayerutils.h#L690
QgsSymbolLayerUtils.createFunctionElement: src/core/symbology/qgssymbollayerutils.h#L696
QgsSymbolLayerUtils.createFunctionElement: src/core/symbology/qgssymbollayerutils.h#L702
QgsSymbolLayerUtils.createGeometryElement: src/core/symbology/qgssymbollayerutils.h#L663
QgsSymbolLayerUtils.createGeometryElement: src/core/symbology/qgssymbollayerutils.h#L669
QgsSymbolLayerUtils.createOnlineResourceElement: src/core/symbology/qgssymbollayerutils.h#L656
QgsSymbolLayerUtils.createOpacityElement: src/core/symbology/qgssymbollayerutils.h#L635
QgsSymbolLayerUtils.createOpacityElement: src/core/symbology/qgssymbollayerutils.h#L641
QgsSymbolLayerUtils.createRotationElement: src/core/symbology/qgssymbollayerutils.h#L621
QgsSymbolLayerUtils.createRotationElement: src/core/symbology/qgssymbollayerutils.h#L627
QgsSymbolLayerUtils.createSvgParameterElement: src/core/symbology/qgssymbollayerutils.h#L706
QgsSymbolLayerUtils.createSymbolLayerListFromSld: src/core/symbology/qgssymbollayerutils.h#L435
QgsSymbolLayerUtils.createVendorOptionElement: src/core/symbology/qgssymbollayerutils.h#L693
QgsSymbolLayerUtils.createVendorOptionElement: src/core/symbology/qgssymbollayerutils.h#L709
QgsSymbolLayerUtils.decodeArrowHeadType: src/core/symbology/qgssymbollayerutils.h#L143
QgsSymbolLayerUtils.decodeArrowType: src/core/symbology/qgssymbollayerutils.h#L149
QgsSymbolLayerUtils.decodeBlendMode: src/core/symbology/qgssymbollayerutils.h#L296
@ -17342,7 +17352,7 @@ QgsSymbolLayerUtils.decodeSldFontWeight: src/core/symbology/qgssymbollayerutils.
QgsSymbolLayerUtils.decodeSldLineCapStyle: src/core/symbology/qgssymbollayerutils.h#L89
QgsSymbolLayerUtils.decodeSldLineJoinStyle: src/core/symbology/qgssymbollayerutils.h#L86
QgsSymbolLayerUtils.decodeSldUom: src/core/symbology/qgssymbollayerutils.h#L272
QgsSymbolLayerUtils.displacementFromSldElement: src/core/symbology/qgssymbollayerutils.h#L630
QgsSymbolLayerUtils.displacementFromSldElement: src/core/symbology/qgssymbollayerutils.h#L646
QgsSymbolLayerUtils.drawStippledBackground: src/core/symbology/qgssymbollayerutils.h#L376
QgsSymbolLayerUtils.drawVertexMarker: src/core/symbology/qgssymbollayerutils.h#L382
QgsSymbolLayerUtils.encodeBrushStyle: src/core/symbology/qgssymbollayerutils.h#L91
@ -17367,90 +17377,91 @@ QgsSymbolLayerUtils.encodeSldLineJoinStyle: src/core/symbology/qgssymbollayeruti
QgsSymbolLayerUtils.encodeSldRealVector: src/core/symbology/qgssymbollayerutils.h#L253
QgsSymbolLayerUtils.encodeSldUom: src/core/symbology/qgssymbollayerutils.h#L263
QgsSymbolLayerUtils.estimateMaxSymbolBleed: src/core/symbology/qgssymbollayerutils.h#L385
QgsSymbolLayerUtils.evaluatePropertiesMap: src/core/symbology/qgssymbollayerutils.h#L1074
QgsSymbolLayerUtils.externalGraphicFromSld: src/core/symbology/qgssymbollayerutils.h#L522
QgsSymbolLayerUtils.externalGraphicToSld: src/core/symbology/qgssymbollayerutils.h#L519
QgsSymbolLayerUtils.externalMarkerFromSld: src/core/symbology/qgssymbollayerutils.h#L568
QgsSymbolLayerUtils.externalMarkerToSld: src/core/symbology/qgssymbollayerutils.h#L555
QgsSymbolLayerUtils.externalMarkerToSld: src/core/symbology/qgssymbollayerutils.h#L564
QgsSymbolLayerUtils.fieldOrExpressionFromExpression: src/core/symbology/qgssymbollayerutils.h#L975
QgsSymbolLayerUtils.fillFromSld: src/core/symbology/qgssymbollayerutils.h#L506
QgsSymbolLayerUtils.fillToSld: src/core/symbology/qgssymbollayerutils.h#L495
QgsSymbolLayerUtils.fillToSld: src/core/symbology/qgssymbollayerutils.h#L503
QgsSymbolLayerUtils.functionFromSldElement: src/core/symbology/qgssymbollayerutils.h#L688
QgsSymbolLayerUtils.geometryFromSldElement: src/core/symbology/qgssymbollayerutils.h#L655
QgsSymbolLayerUtils.getSvgParameterList: src/core/symbology/qgssymbollayerutils.h#L691
QgsSymbolLayerUtils.getSvgParametricPath: src/core/symbology/qgssymbollayerutils.h#L1036
QgsSymbolLayerUtils.getVendorOptionList: src/core/symbology/qgssymbollayerutils.h#L694
QgsSymbolLayerUtils.evaluatePropertiesMap: src/core/symbology/qgssymbollayerutils.h#L1090
QgsSymbolLayerUtils.externalGraphicFromSld: src/core/symbology/qgssymbollayerutils.h#L538
QgsSymbolLayerUtils.externalGraphicToSld: src/core/symbology/qgssymbollayerutils.h#L535
QgsSymbolLayerUtils.externalMarkerFromSld: src/core/symbology/qgssymbollayerutils.h#L584
QgsSymbolLayerUtils.externalMarkerToSld: src/core/symbology/qgssymbollayerutils.h#L571
QgsSymbolLayerUtils.externalMarkerToSld: src/core/symbology/qgssymbollayerutils.h#L580
QgsSymbolLayerUtils.fieldOrExpressionFromExpression: src/core/symbology/qgssymbollayerutils.h#L991
QgsSymbolLayerUtils.fillFromSld: src/core/symbology/qgssymbollayerutils.h#L522
QgsSymbolLayerUtils.fillToSld: src/core/symbology/qgssymbollayerutils.h#L511
QgsSymbolLayerUtils.fillToSld: src/core/symbology/qgssymbollayerutils.h#L519
QgsSymbolLayerUtils.functionFromSldElement: src/core/symbology/qgssymbollayerutils.h#L704
QgsSymbolLayerUtils.geometryFromSldElement: src/core/symbology/qgssymbollayerutils.h#L671
QgsSymbolLayerUtils.getSvgParameterList: src/core/symbology/qgssymbollayerutils.h#L707
QgsSymbolLayerUtils.getSvgParametricPath: src/core/symbology/qgssymbollayerutils.h#L1052
QgsSymbolLayerUtils.getVendorOptionList: src/core/symbology/qgssymbollayerutils.h#L710
QgsSymbolLayerUtils.hasExternalGraphic: src/core/symbology/qgssymbollayerutils.h#L462
QgsSymbolLayerUtils.hasExternalGraphicV2: src/core/symbology/qgssymbollayerutils.h#L470
QgsSymbolLayerUtils.hasSldSymbolizer: src/core/symbology/qgssymbollayerutils.h#L116
QgsSymbolLayerUtils.hasWellKnownMark: src/core/symbology/qgssymbollayerutils.h#L472
QgsSymbolLayerUtils.importColorsFromGpl: src/core/symbology/qgssymbollayerutils.h#L822
QgsSymbolLayerUtils.isSharpCorner: src/core/symbology/qgssymbollayerutils.h#L950
QgsSymbolLayerUtils.labelTextToSld: src/core/symbology/qgssymbollayerutils.h#L577
QgsSymbolLayerUtils.labelTextToSld: src/core/symbology/qgssymbollayerutils.h#L585
QgsSymbolLayerUtils.lineFromSld: src/core/symbology/qgssymbollayerutils.h#L514
QgsSymbolLayerUtils.lineToSld: src/core/symbology/qgssymbollayerutils.h#L510
QgsSymbolLayerUtils.listSvgFiles: src/core/symbology/qgssymbollayerutils.h#L876
QgsSymbolLayerUtils.listSvgFilesAt: src/core/symbology/qgssymbollayerutils.h#L879
QgsSymbolLayerUtils.loadSymbols: src/core/symbology/qgssymbollayerutils.h#L702
QgsSymbolLayerUtils.mergeScaleDependencies: src/core/symbology/qgssymbollayerutils.h#L1010
QgsSymbolLayerUtils.multiplyImageOpacity: src/core/symbology/qgssymbollayerutils.h#L846
QgsSymbolLayerUtils.needEllipseMarker: src/core/symbology/qgssymbollayerutils.h#L476
QgsSymbolLayerUtils.importColorsFromGpl: src/core/symbology/qgssymbollayerutils.h#L838
QgsSymbolLayerUtils.isSharpCorner: src/core/symbology/qgssymbollayerutils.h#L966
QgsSymbolLayerUtils.labelTextToSld: src/core/symbology/qgssymbollayerutils.h#L593
QgsSymbolLayerUtils.labelTextToSld: src/core/symbology/qgssymbollayerutils.h#L601
QgsSymbolLayerUtils.lineFromSld: src/core/symbology/qgssymbollayerutils.h#L530
QgsSymbolLayerUtils.lineToSld: src/core/symbology/qgssymbollayerutils.h#L526
QgsSymbolLayerUtils.listSvgFiles: src/core/symbology/qgssymbollayerutils.h#L892
QgsSymbolLayerUtils.listSvgFilesAt: src/core/symbology/qgssymbollayerutils.h#L895
QgsSymbolLayerUtils.loadSymbols: src/core/symbology/qgssymbollayerutils.h#L718
QgsSymbolLayerUtils.mergeScaleDependencies: src/core/symbology/qgssymbollayerutils.h#L1026
QgsSymbolLayerUtils.multiplyImageOpacity: src/core/symbology/qgssymbollayerutils.h#L862
QgsSymbolLayerUtils.needEllipseMarker: src/core/symbology/qgssymbollayerutils.h#L492
QgsSymbolLayerUtils.needFontMarker: src/core/symbology/qgssymbollayerutils.h#L474
QgsSymbolLayerUtils.needLinePatternFill: src/core/symbology/qgssymbollayerutils.h#L478
QgsSymbolLayerUtils.needMarkerLine: src/core/symbology/qgssymbollayerutils.h#L477
QgsSymbolLayerUtils.needPointPatternFill: src/core/symbology/qgssymbollayerutils.h#L479
QgsSymbolLayerUtils.needRasterImageFill: src/core/symbology/qgssymbollayerutils.h#L488
QgsSymbolLayerUtils.needSvgFill: src/core/symbology/qgssymbollayerutils.h#L480
QgsSymbolLayerUtils.needSvgMarker: src/core/symbology/qgssymbollayerutils.h#L475
QgsSymbolLayerUtils.ogrFeatureStyleBrush: src/core/symbology/qgssymbollayerutils.h#L599
QgsSymbolLayerUtils.ogrFeatureStylePen: src/core/symbology/qgssymbollayerutils.h#L589
QgsSymbolLayerUtils.onlineResourceFromSldElement: src/core/symbology/qgssymbollayerutils.h#L641
QgsSymbolLayerUtils.opacityFromSldElement: src/core/symbology/qgssymbollayerutils.h#L627
QgsSymbolLayerUtils.parametricSvgToSld: src/core/symbology/qgssymbollayerutils.h#L1018
QgsSymbolLayerUtils.parametricSvgToSld: src/core/symbology/qgssymbollayerutils.h#L1028
QgsSymbolLayerUtils.parseColor: src/core/symbology/qgssymbollayerutils.h#L831
QgsSymbolLayerUtils.parseColorWithAlpha: src/core/symbology/qgssymbollayerutils.h#L841
QgsSymbolLayerUtils.parseProperties: src/core/symbology/qgssymbollayerutils.h#L697
QgsSymbolLayerUtils.needLinePatternFill: src/core/symbology/qgssymbollayerutils.h#L494
QgsSymbolLayerUtils.needMarkerLine: src/core/symbology/qgssymbollayerutils.h#L493
QgsSymbolLayerUtils.needPointPatternFill: src/core/symbology/qgssymbollayerutils.h#L495
QgsSymbolLayerUtils.needRasterImageFill: src/core/symbology/qgssymbollayerutils.h#L504
QgsSymbolLayerUtils.needRasterMarker: src/core/symbology/qgssymbollayerutils.h#L491
QgsSymbolLayerUtils.needSvgFill: src/core/symbology/qgssymbollayerutils.h#L496
QgsSymbolLayerUtils.needSvgMarker: src/core/symbology/qgssymbollayerutils.h#L481
QgsSymbolLayerUtils.ogrFeatureStyleBrush: src/core/symbology/qgssymbollayerutils.h#L615
QgsSymbolLayerUtils.ogrFeatureStylePen: src/core/symbology/qgssymbollayerutils.h#L605
QgsSymbolLayerUtils.onlineResourceFromSldElement: src/core/symbology/qgssymbollayerutils.h#L657
QgsSymbolLayerUtils.opacityFromSldElement: src/core/symbology/qgssymbollayerutils.h#L643
QgsSymbolLayerUtils.parametricSvgToSld: src/core/symbology/qgssymbollayerutils.h#L1034
QgsSymbolLayerUtils.parametricSvgToSld: src/core/symbology/qgssymbollayerutils.h#L1044
QgsSymbolLayerUtils.parseColor: src/core/symbology/qgssymbollayerutils.h#L847
QgsSymbolLayerUtils.parseColorWithAlpha: src/core/symbology/qgssymbollayerutils.h#L857
QgsSymbolLayerUtils.parseProperties: src/core/symbology/qgssymbollayerutils.h#L713
QgsSymbolLayerUtils.penCapStyleToEndCapStyle: src/core/symbology/qgssymbollayerutils.h#L102
QgsSymbolLayerUtils.penJoinStyleToJoinStyle: src/core/symbology/qgssymbollayerutils.h#L109
QgsSymbolLayerUtils.pointInPolygon: src/core/symbology/qgssymbollayerutils.h#L920
QgsSymbolLayerUtils.pointOnLineWithDistance: src/core/symbology/qgssymbollayerutils.h#L873
QgsSymbolLayerUtils.polygonCentroid: src/core/symbology/qgssymbollayerutils.h#L914
QgsSymbolLayerUtils.polygonPointOnSurface: src/core/symbology/qgssymbollayerutils.h#L917
QgsSymbolLayerUtils.polylineLength: src/core/symbology/qgssymbollayerutils.h#L927
QgsSymbolLayerUtils.polylineSubstring: src/core/symbology/qgssymbollayerutils.h#L941
QgsSymbolLayerUtils.premultiplyColor: src/core/symbology/qgssymbollayerutils.h#L854
QgsSymbolLayerUtils.rendererFrameRate: src/core/symbology/qgssymbollayerutils.h#L1052
QgsSymbolLayerUtils.rescaleUom: src/core/symbology/qgssymbollayerutils.h#L988
QgsSymbolLayerUtils.rescaleUom: src/core/symbology/qgssymbollayerutils.h#L994
QgsSymbolLayerUtils.resetSymbolLayerIds: src/core/symbology/qgssymbollayerutils.h#L1103
QgsSymbolLayerUtils.resetSymbolLayerIds: src/core/symbology/qgssymbollayerutils.h#L1109
QgsSymbolLayerUtils.restrictedSizeSymbol: src/core/symbology/qgssymbollayerutils.h#L1068
QgsSymbolLayerUtils.rotationFromSldElement: src/core/symbology/qgssymbollayerutils.h#L613
QgsSymbolLayerUtils.saveColorRamp: src/core/symbology/qgssymbollayerutils.h#L739
QgsSymbolLayerUtils.saveColorsToGpl: src/core/symbology/qgssymbollayerutils.h#L812
QgsSymbolLayerUtils.saveProperties: src/core/symbology/qgssymbollayerutils.h#L699
QgsSymbolLayerUtils.pointInPolygon: src/core/symbology/qgssymbollayerutils.h#L936
QgsSymbolLayerUtils.pointOnLineWithDistance: src/core/symbology/qgssymbollayerutils.h#L889
QgsSymbolLayerUtils.polygonCentroid: src/core/symbology/qgssymbollayerutils.h#L930
QgsSymbolLayerUtils.polygonPointOnSurface: src/core/symbology/qgssymbollayerutils.h#L933
QgsSymbolLayerUtils.polylineLength: src/core/symbology/qgssymbollayerutils.h#L943
QgsSymbolLayerUtils.polylineSubstring: src/core/symbology/qgssymbollayerutils.h#L957
QgsSymbolLayerUtils.premultiplyColor: src/core/symbology/qgssymbollayerutils.h#L870
QgsSymbolLayerUtils.rendererFrameRate: src/core/symbology/qgssymbollayerutils.h#L1068
QgsSymbolLayerUtils.rescaleUom: src/core/symbology/qgssymbollayerutils.h#L1004
QgsSymbolLayerUtils.rescaleUom: src/core/symbology/qgssymbollayerutils.h#L1010
QgsSymbolLayerUtils.resetSymbolLayerIds: src/core/symbology/qgssymbollayerutils.h#L1119
QgsSymbolLayerUtils.resetSymbolLayerIds: src/core/symbology/qgssymbollayerutils.h#L1125
QgsSymbolLayerUtils.restrictedSizeSymbol: src/core/symbology/qgssymbollayerutils.h#L1084
QgsSymbolLayerUtils.rotationFromSldElement: src/core/symbology/qgssymbollayerutils.h#L629
QgsSymbolLayerUtils.saveColorRamp: src/core/symbology/qgssymbollayerutils.h#L755
QgsSymbolLayerUtils.saveColorsToGpl: src/core/symbology/qgssymbollayerutils.h#L828
QgsSymbolLayerUtils.saveProperties: src/core/symbology/qgssymbollayerutils.h#L715
QgsSymbolLayerUtils.saveSymbol: src/core/symbology/qgssymbollayerutils.h#L424
QgsSymbolLayerUtils.saveSymbols: src/core/symbology/qgssymbollayerutils.h#L704
QgsSymbolLayerUtils.saveSymbols: src/core/symbology/qgssymbollayerutils.h#L720
QgsSymbolLayerUtils.sizeInPixelsFromSldUom: src/core/symbology/qgssymbollayerutils.h#L280
QgsSymbolLayerUtils.sortVariantList: src/core/symbology/qgssymbollayerutils.h#L871
QgsSymbolLayerUtils.svgSymbolNameToPath: src/core/symbology/qgssymbollayerutils.h#L887
QgsSymbolLayerUtils.svgSymbolPathToName: src/core/symbology/qgssymbollayerutils.h#L893
QgsSymbolLayerUtils.sortVariantList: src/core/symbology/qgssymbollayerutils.h#L887
QgsSymbolLayerUtils.svgSymbolNameToPath: src/core/symbology/qgssymbollayerutils.h#L903
QgsSymbolLayerUtils.svgSymbolPathToName: src/core/symbology/qgssymbollayerutils.h#L909
QgsSymbolLayerUtils.symbolLayerPreviewIcon: src/core/symbology/qgssymbollayerutils.h#L350
QgsSymbolLayerUtils.symbolLayerPreviewPicture: src/core/symbology/qgssymbollayerutils.h#L336
QgsSymbolLayerUtils.symbolPreviewIcon: src/core/symbology/qgssymbollayerutils.h#L307
QgsSymbolLayerUtils.symbolPreviewPixmap: src/core/symbology/qgssymbollayerutils.h#L321
QgsSymbolLayerUtils.symbolProperties: src/core/symbology/qgssymbollayerutils.h#L430
QgsSymbolLayerUtils.symbolToMimeData: src/core/symbology/qgssymbollayerutils.h#L714
QgsSymbolLayerUtils.tileSize: src/core/symbology/qgssymbollayerutils.h#L1085
QgsSymbolLayerUtils.symbolToMimeData: src/core/symbology/qgssymbollayerutils.h#L730
QgsSymbolLayerUtils.tileSize: src/core/symbology/qgssymbollayerutils.h#L1101
QgsSymbolLayerUtils.toPoint: src/core/symbology/qgssymbollayerutils.h#L217
QgsSymbolLayerUtils.toSize: src/core/symbology/qgssymbollayerutils.h#L245
QgsSymbolLayerUtils.wellKnownMarkerFromSld: src/core/symbology/qgssymbollayerutils.h#L546
QgsSymbolLayerUtils.wellKnownMarkerToSld: src/core/symbology/qgssymbollayerutils.h#L530
QgsSymbolLayerUtils.wellKnownMarkerToSld: src/core/symbology/qgssymbollayerutils.h#L538
QgsSymbolLayerUtils.wellKnownMarkerFromSld: src/core/symbology/qgssymbollayerutils.h#L562
QgsSymbolLayerUtils.wellKnownMarkerToSld: src/core/symbology/qgssymbollayerutils.h#L546
QgsSymbolLayerUtils.wellKnownMarkerToSld: src/core/symbology/qgssymbollayerutils.h#L554
QgsSymbolLayerUtils: src/core/symbology/qgssymbollayerutils.h#L60
QgsSymbolLegendNode.__repr__: src/core/layertree/qgslayertreemodellegendnode.h#L553
QgsSymbolLegendNode.createSymbolScope: src/core/layertree/qgslayertreemodellegendnode.h#L550

View File

@ -1,6 +1,6 @@
# The following has been generated automatically from src/gui/editorwidgets/core/qgseditorwidgetfactory.h
try:
QgsEditorWidgetFactory.__virtual_methods__ = ['createSearchWidget', 'fieldScore']
QgsEditorWidgetFactory.__virtual_methods__ = ['createSearchWidget', 'isReadOnly', 'fieldScore']
QgsEditorWidgetFactory.__abstract_methods__ = ['create', 'configWidget']
QgsEditorWidgetFactory.__group__ = ['editorwidgets', 'core']
except (NameError, AttributeError):

View File

@ -1,6 +1,7 @@
# The following has been generated automatically from src/gui/maptools/qgsmaptoolcapturelayergeometry.h
try:
QgsMapToolCaptureLayerGeometry.__virtual_methods__ = ['layerGeometryCaptured', 'layerPointCaptured', 'layerLineCaptured', 'layerPolygonCaptured']
QgsMapToolCaptureLayerGeometry.__overridden_methods__ = ['geometryCaptured']
QgsMapToolCaptureLayerGeometry.__group__ = ['maptools']
except (NameError, AttributeError):
pass

View File

@ -1,7 +1,7 @@
# The following has been generated automatically from src/gui/maptools/qgsmaptooldigitizefeature.h
try:
QgsMapToolDigitizeFeature.__attribute_docs__ = {'digitizingCompleted': 'Emitted whenever the digitizing has been successfully completed\n\n:param feature: the new digitized feature\n', 'digitizingFinished': 'Emitted whenever the digitizing has been ended without digitizing any\nfeature\n', 'digitizingCanceled': 'Emitted when the digitizing process was interrupted by the user.\n\n.. versionadded:: 3.28\n'}
QgsMapToolDigitizeFeature.__virtual_methods__ = ['featureDigitized']
QgsMapToolDigitizeFeature.__virtual_methods__ = ['layerGeometryCaptured', 'featureDigitized']
QgsMapToolDigitizeFeature.__overridden_methods__ = ['capabilities', 'supportsTechnique', 'cadCanvasReleaseEvent', 'activate', 'deactivate', 'reactivate', 'keyPressEvent']
QgsMapToolDigitizeFeature.__signal_arguments__ = {'digitizingCompleted': ['feature: QgsFeature']}
QgsMapToolDigitizeFeature.__group__ = ['maptools']

View File

@ -59,6 +59,13 @@ calling this method directly.
Returns The human readable identifier name of this widget type
:return: a name
%End
virtual bool isReadOnly() const;
%Docstring
Returns true if this widget is a read-only widget.
.. versionadded:: 3.44
%End
virtual QgsEditorConfigWidget *configWidget( QgsVectorLayer *vl, int fieldIdx, QWidget *parent ) const = 0 /Factory/;

View File

@ -119,6 +119,15 @@ Gets the human readable name for a widget type
:param widgetId: The widget type to get the name for
:return: A human readable name
%End
bool isReadOnly( const QString &widgetId );
%Docstring
Gets the widget's read-only flag
:param widgetId: The widget type to get the read-only flag for
.. versionadded:: 3.44
%End
QMap<QString, QgsEditorWidgetFactory *> factories();

View File

@ -319,6 +319,48 @@ Set the points on which to work
void closePolygon();
%Docstring
Close an open polygon
%End
virtual void geometryCaptured( const QgsGeometry &geometry );
%Docstring
Called when the geometry is captured.
A more specific handler is also called afterwards
(:py:func:`~QgsMapToolCapture.pointCaptured`,
:py:func:`~QgsMapToolCapture.lineCaptured` or
:py:func:`~QgsMapToolCapture.polygonCaptured`).
.. versionadded:: 3.26
%End
virtual void pointCaptured( const QgsPoint &point );
%Docstring
Called when a point is captured.
The generic :py:func:`~QgsMapToolCapture.geometryCaptured` method will
be called immediately before this point-specific method.
.. versionadded:: 3.26
%End
virtual void lineCaptured( const QgsCurve *line );
%Docstring
Called when a line is captured
The generic :py:func:`~QgsMapToolCapture.geometryCaptured` method will
be called immediately before this line-specific method.
.. versionadded:: 3.26
%End
virtual void polygonCaptured( const QgsCurvePolygon *polygon );
%Docstring
Called when a polygon is captured.
The generic :py:func:`~QgsMapToolCapture.geometryCaptured` method will
be called immediately before this polygon-specific method.
.. versionadded:: 3.26
%End
protected slots:
@ -328,32 +370,6 @@ Close an open polygon
Stop capturing
%End
private:
virtual void geometryCaptured( const QgsGeometry &geometry );
%Docstring
Called when the geometry is captured A more specific handler is also
called afterwards (pointCaptured, lineCaptured or polygonCaptured)
.. versionadded:: 3.26
%End
virtual void pointCaptured( const QgsPoint &point );
%Docstring
Called when a point is captured geometryCaptured is called just before
.. versionadded:: 3.26
%End
virtual void lineCaptured( const QgsCurve *line );
%Docstring
Called when a line is captured geometryCaptured is called just before
.. versionadded:: 3.26
%End
virtual void polygonCaptured( const QgsCurvePolygon *polygon );
%Docstring
Called when a polygon is captured geometryCaptured is called just before
.. versionadded:: 3.26
%End
};
QFlags<QgsMapToolCapture::Capability> operator|(QgsMapToolCapture::Capability f1, QFlags<QgsMapToolCapture::Capability> f2);

View File

@ -30,31 +30,45 @@ the user.
Constructor
%End
private:
virtual void layerGeometryCaptured( const QgsGeometry &geometry );
%Docstring
Called when the geometry is captured A more specific handler is also
called afterwards (layerPointCaptured, layerLineCaptured or
layerPolygonCaptured)
Called when the geometry is captured.
A more specific handler is also called afterwards
(:py:func:`~QgsMapToolCaptureLayerGeometry.layerPointCaptured`,
:py:func:`~QgsMapToolCaptureLayerGeometry.layerLineCaptured` or
:py:func:`~QgsMapToolCaptureLayerGeometry.layerPolygonCaptured`).
%End
virtual void layerPointCaptured( const QgsPoint &point );
%Docstring
Called when a point is captured The generic
:py:func:`~QgsMapToolCaptureLayerGeometry.geometryCaptured` signal will
be emitted immediately before this point-specific signal.
Called when a point is captured.
The generic
:py:func:`~QgsMapToolCaptureLayerGeometry.layerGeometryCaptured` method
will be called immediately before this point-specific method.
%End
virtual void layerLineCaptured( const QgsCurve *line );
%Docstring
Called when a line is captured The generic
:py:func:`~QgsMapToolCaptureLayerGeometry.geometryCaptured` signal will
be emitted immediately before this line-specific signal.
Called when a line is captured.
The generic
:py:func:`~QgsMapToolCaptureLayerGeometry.layerGeometryCaptured` method
will be called immediately before this line-specific method.
%End
virtual void layerPolygonCaptured( const QgsCurvePolygon *polygon );
%Docstring
Called when a polygon is captured The generic
:py:func:`~QgsMapToolCaptureLayerGeometry.geometryCaptured` signal will
be emitted immediately before this polygon-specific signal.
Called when a polygon is captured.
The generic
:py:func:`~QgsMapToolCaptureLayerGeometry.layerGeometryCaptured` method
will be called immediately before this polygon-specific method.
%End
virtual void geometryCaptured( const QgsGeometry &geometry );
};
/************************************************************************

View File

@ -93,13 +93,21 @@ Check if CaptureMode matches layer type. Default is ``True``.
Check if CaptureMode matches layer type. Default is ``True``.
%End
private:
virtual void layerGeometryCaptured( const QgsGeometry &geometry ) ${SIP_FINAL};
%Docstring
Called when the feature has been digitized.
:param geometry: the digitized geometry
%End
virtual void featureDigitized( const QgsFeature &feature );
%Docstring
Called when the feature has been digitized
.. versionadded:: 3.26
%End
};
/************************************************************************

View File

@ -2214,22 +2214,24 @@ QgsEditorConfigWidget.updateDataDefinedButtons: src/gui/editorwidgets/core/qgsed
QgsEditorConfigWidget: src/gui/editorwidgets/core/qgseditorconfigwidget.h#L40
QgsEditorWidgetAutoConfPlugin.editorWidgetSetup: src/gui/editorwidgets/core/qgseditorwidgetautoconf.h#L49
QgsEditorWidgetAutoConfPlugin: src/gui/editorwidgets/core/qgseditorwidgetautoconf.h#L31
QgsEditorWidgetFactory.configWidget: src/gui/editorwidgets/core/qgseditorwidgetfactory.h#L87
QgsEditorWidgetFactory.configWidget: src/gui/editorwidgets/core/qgseditorwidgetfactory.h#L93
QgsEditorWidgetFactory.create: src/gui/editorwidgets/core/qgseditorwidgetfactory.h#L66
QgsEditorWidgetFactory.createSearchWidget: src/gui/editorwidgets/core/qgseditorwidgetfactory.h#L68
QgsEditorWidgetFactory.isReadOnly: src/gui/editorwidgets/core/qgseditorwidgetfactory.h#L81
QgsEditorWidgetFactory.name: src/gui/editorwidgets/core/qgseditorwidgetfactory.h#L75
QgsEditorWidgetFactory.supportsField: src/gui/editorwidgets/core/qgseditorwidgetfactory.h#L98
QgsEditorWidgetFactory.supportsField: src/gui/editorwidgets/core/qgseditorwidgetfactory.h#L104
QgsEditorWidgetFactory: src/gui/editorwidgets/core/qgseditorwidgetfactory.h#L42
QgsEditorWidgetRegistry.create: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L111
QgsEditorWidgetRegistry.create: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L97
QgsEditorWidgetRegistry.createConfigWidget: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L125
QgsEditorWidgetRegistry.createSearchWidget: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L113
QgsEditorWidgetRegistry.factory: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L148
QgsEditorWidgetRegistry.factory: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L157
QgsEditorWidgetRegistry.findBest: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L81
QgsEditorWidgetRegistry.initEditors: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L64
QgsEditorWidgetRegistry.isReadOnly: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L143
QgsEditorWidgetRegistry.name: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L134
QgsEditorWidgetRegistry.registerAutoConfPlugin: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L165
QgsEditorWidgetRegistry.registerWidget: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L158
QgsEditorWidgetRegistry.registerAutoConfPlugin: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L174
QgsEditorWidgetRegistry.registerWidget: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L167
QgsEditorWidgetRegistry: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L44
QgsEditorWidgetWrapper.QgsEditorWidgetWrapper: src/gui/editorwidgets/core/qgseditorwidgetwrapper.h#L74
QgsEditorWidgetWrapper.additionalFieldValues: src/gui/editorwidgets/core/qgseditorwidgetwrapper.h#L99
@ -4612,16 +4614,16 @@ QgsMapToolCapture.currentCaptureTechnique: src/gui/maptools/qgsmaptoolcapture.h#
QgsMapToolCapture.deactivate: src/gui/maptools/qgsmaptoolcapture.h#L110
QgsMapToolCapture.deleteTempRubberBand: src/gui/maptools/qgsmaptoolcapture.h#L153
QgsMapToolCapture.fetchLayerPoint: src/gui/maptools/qgsmaptoolcapture.h#L254
QgsMapToolCapture.geometryCaptured: src/gui/maptools/qgsmaptoolcapture.h#L346
QgsMapToolCapture.geometryCaptured: src/gui/maptools/qgsmaptoolcapture.h#L340
QgsMapToolCapture.isCapturing: src/gui/maptools/qgsmaptoolcapture.h#L287
QgsMapToolCapture.keyPressEvent: src/gui/maptools/qgsmaptoolcapture.h#L148
QgsMapToolCapture.lineCaptured: src/gui/maptools/qgsmaptoolcapture.h#L360
QgsMapToolCapture.lineCaptured: src/gui/maptools/qgsmaptoolcapture.h#L358
QgsMapToolCapture.mapPoint: src/gui/maptools/qgsmaptoolcapture.h#L178
QgsMapToolCapture.mapPoint: src/gui/maptools/qgsmaptoolcapture.h#L189
QgsMapToolCapture.mode: src/gui/maptools/qgsmaptoolcapture.h#L117
QgsMapToolCapture.nextPoint: src/gui/maptools/qgsmaptoolcapture.h#L226
QgsMapToolCapture.nextPoint: src/gui/maptools/qgsmaptoolcapture.h#L240
QgsMapToolCapture.pointCaptured: src/gui/maptools/qgsmaptoolcapture.h#L353
QgsMapToolCapture.pointCaptured: src/gui/maptools/qgsmaptoolcapture.h#L349
QgsMapToolCapture.pointsZM: src/gui/maptools/qgsmaptoolcapture.h#L310
QgsMapToolCapture.polygonCaptured: src/gui/maptools/qgsmaptoolcapture.h#L367
QgsMapToolCapture.setCircularDigitizingEnabled: src/gui/maptools/qgsmaptoolcapture.h#L199
@ -4631,15 +4633,16 @@ QgsMapToolCapture.setPoints: src/gui/maptools/qgsmaptoolcapture.h#L326
QgsMapToolCapture.setStreamDigitizingEnabled: src/gui/maptools/qgsmaptoolcapture.h#L206
QgsMapToolCapture.size: src/gui/maptools/qgsmaptoolcapture.h#L294
QgsMapToolCapture.startCapturing: src/gui/maptools/qgsmaptoolcapture.h#L280
QgsMapToolCapture.stopCapturing: src/gui/maptools/qgsmaptoolcapture.h#L338
QgsMapToolCapture.stopCapturing: src/gui/maptools/qgsmaptoolcapture.h#L374
QgsMapToolCapture.supportsTechnique: src/gui/maptools/qgsmaptoolcapture.h#L88
QgsMapToolCapture.takeRubberBand: src/gui/maptools/qgsmaptoolcapture.h#L166
QgsMapToolCapture.undo: src/gui/maptools/qgsmaptoolcapture.h#L275
QgsMapToolCapture: src/gui/maptools/qgsmaptoolcapture.h#L49
QgsMapToolCaptureLayerGeometry.layerGeometryCaptured: src/gui/maptools/qgsmaptoolcapturelayergeometry.h#L47
QgsMapToolCaptureLayerGeometry.geometryCaptured: src/gui/maptools/qgsmaptoolcapturelayergeometry.h#L68
QgsMapToolCaptureLayerGeometry.layerGeometryCaptured: src/gui/maptools/qgsmaptoolcapturelayergeometry.h#L45
QgsMapToolCaptureLayerGeometry.layerLineCaptured: src/gui/maptools/qgsmaptoolcapturelayergeometry.h#L59
QgsMapToolCaptureLayerGeometry.layerPointCaptured: src/gui/maptools/qgsmaptoolcapturelayergeometry.h#L53
QgsMapToolCaptureLayerGeometry.layerPolygonCaptured: src/gui/maptools/qgsmaptoolcapturelayergeometry.h#L65
QgsMapToolCaptureLayerGeometry.layerPointCaptured: src/gui/maptools/qgsmaptoolcapturelayergeometry.h#L52
QgsMapToolCaptureLayerGeometry.layerPolygonCaptured: src/gui/maptools/qgsmaptoolcapturelayergeometry.h#L66
QgsMapToolCaptureLayerGeometry: src/gui/maptools/qgsmaptoolcapturelayergeometry.h#L31
QgsMapToolDigitizeFeature.activate: src/gui/maptools/qgsmaptooldigitizefeature.h#L56
QgsMapToolDigitizeFeature.cadCanvasReleaseEvent: src/gui/maptools/qgsmaptooldigitizefeature.h#L48
@ -4649,8 +4652,9 @@ QgsMapToolDigitizeFeature.deactivate: src/gui/maptools/qgsmaptooldigitizefeature
QgsMapToolDigitizeFeature.digitizingCanceled: src/gui/maptools/qgsmaptooldigitizefeature.h#L81
QgsMapToolDigitizeFeature.digitizingCompleted: src/gui/maptools/qgsmaptooldigitizefeature.h#L69
QgsMapToolDigitizeFeature.digitizingFinished: src/gui/maptools/qgsmaptooldigitizefeature.h#L75
QgsMapToolDigitizeFeature.featureDigitized: src/gui/maptools/qgsmaptooldigitizefeature.h#L106
QgsMapToolDigitizeFeature.featureDigitized: src/gui/maptools/qgsmaptooldigitizefeature.h#L105
QgsMapToolDigitizeFeature.keyPressEvent: src/gui/maptools/qgsmaptooldigitizefeature.h#L61
QgsMapToolDigitizeFeature.layerGeometryCaptured: src/gui/maptools/qgsmaptooldigitizefeature.h#L99
QgsMapToolDigitizeFeature.reactivate: src/gui/maptools/qgsmaptooldigitizefeature.h#L58
QgsMapToolDigitizeFeature.setCheckGeometryType: src/gui/maptools/qgsmaptooldigitizefeature.h#L92
QgsMapToolDigitizeFeature.setLayer: src/gui/maptools/qgsmaptooldigitizefeature.h#L54

View File

@ -4799,6 +4799,21 @@ Qgis.CoordinateTransformationFlag.__doc__ = """Flags which adjust the coordinate
Qgis.CoordinateTransformationFlag.baseClass = Qgis
Qgis.CoordinateTransformationFlags.baseClass = Qgis
CoordinateTransformationFlags = Qgis # dirty hack since SIP seems to introduce the flags in module
# monkey patching scoped based enum
Qgis.RasterizedRenderingPolicy.Default.__doc__ = "Allow raster-based rendering in situations where it is required for correct rendering or where it will be faster than vector based rendering."
Qgis.RasterizedRenderingPolicy.PreferVector.__doc__ = "Prefer vector-based rendering, when the result will still be visually near-identical to a raster-based render. The render may be slower or result in larger output file sizes."
Qgis.RasterizedRenderingPolicy.ForceVector.__doc__ = "Always force vector-based rendering, even when the result will be visually different to a raster-based render. For example, this policy will ignore effects which require flattened rasters during renders such as layer-wide opacity or blend modes."
Qgis.RasterizedRenderingPolicy.__doc__ = """Policies controlling when rasterisation of content during renders is permitted.
.. versionadded:: 3.44
* ``Default``: Allow raster-based rendering in situations where it is required for correct rendering or where it will be faster than vector based rendering.
* ``PreferVector``: Prefer vector-based rendering, when the result will still be visually near-identical to a raster-based render. The render may be slower or result in larger output file sizes.
* ``ForceVector``: Always force vector-based rendering, even when the result will be visually different to a raster-based render. For example, this policy will ignore effects which require flattened rasters during renders such as layer-wide opacity or blend modes.
"""
# --
Qgis.RasterizedRenderingPolicy.baseClass = Qgis
QgsMapSettings.Flag = Qgis.MapSettingsFlag
# monkey patching scoped based enum
QgsMapSettings.Antialiasing = Qgis.MapSettingsFlag.Antialiasing
@ -4809,10 +4824,10 @@ QgsMapSettings.DrawEditingInfo.is_monkey_patched = True
QgsMapSettings.DrawEditingInfo.__doc__ = "Enable drawing of vertex markers for layers in editing mode"
QgsMapSettings.ForceVectorOutput = Qgis.MapSettingsFlag.ForceVectorOutput
QgsMapSettings.ForceVectorOutput.is_monkey_patched = True
QgsMapSettings.ForceVectorOutput.__doc__ = "Vector graphics should not be cached and drawn as raster images"
QgsMapSettings.ForceVectorOutput.__doc__ = "Vector graphics should not be cached and drawn as raster images. \n.. deprecated:: 3.44. Use Qgis.RasterizedRenderingPolicy instead."
QgsMapSettings.UseAdvancedEffects = Qgis.MapSettingsFlag.UseAdvancedEffects
QgsMapSettings.UseAdvancedEffects.is_monkey_patched = True
QgsMapSettings.UseAdvancedEffects.__doc__ = "Enable layer opacity and blending effects"
QgsMapSettings.UseAdvancedEffects.__doc__ = "Enable layer opacity and blending effects \n.. deprecated:: 3.44. Use Qgis.RasterizedRenderingPolicy instead."
QgsMapSettings.DrawLabeling = Qgis.MapSettingsFlag.DrawLabeling
QgsMapSettings.DrawLabeling.is_monkey_patched = True
QgsMapSettings.DrawLabeling.__doc__ = "Enable drawing of labels on top of the map"
@ -4864,8 +4879,14 @@ Qgis.MapSettingsFlag.__doc__ = """Flags which adjust the way maps are rendered.
* ``Antialiasing``: Enable anti-aliasing for map rendering
* ``DrawEditingInfo``: Enable drawing of vertex markers for layers in editing mode
* ``ForceVectorOutput``: Vector graphics should not be cached and drawn as raster images
* ``ForceVectorOutput``: Vector graphics should not be cached and drawn as raster images.
.. deprecated:: 3.44. Use Qgis.RasterizedRenderingPolicy instead.
* ``UseAdvancedEffects``: Enable layer opacity and blending effects
.. deprecated:: 3.44. Use Qgis.RasterizedRenderingPolicy instead.
* ``DrawLabeling``: Enable drawing of labels on top of the map
* ``UseRenderingOptimization``: Enable vector simplification and other rendering optimizations
* ``DrawSelection``: Whether vector selections should be shown in the rendered map
@ -4910,10 +4931,10 @@ QgsRenderContext.DrawEditingInfo.is_monkey_patched = True
QgsRenderContext.DrawEditingInfo.__doc__ = "Enable drawing of vertex markers for layers in editing mode"
QgsRenderContext.ForceVectorOutput = Qgis.RenderContextFlag.ForceVectorOutput
QgsRenderContext.ForceVectorOutput.is_monkey_patched = True
QgsRenderContext.ForceVectorOutput.__doc__ = "Vector graphics should not be cached and drawn as raster images"
QgsRenderContext.ForceVectorOutput.__doc__ = "Vector graphics should not be cached and drawn as raster images \n.. deprecated:: 3.44. Use Qgis.RasterizedRenderingPolicy instead."
QgsRenderContext.UseAdvancedEffects = Qgis.RenderContextFlag.UseAdvancedEffects
QgsRenderContext.UseAdvancedEffects.is_monkey_patched = True
QgsRenderContext.UseAdvancedEffects.__doc__ = "Enable layer opacity and blending effects"
QgsRenderContext.UseAdvancedEffects.__doc__ = "Enable layer opacity and blending effects \n.. deprecated:: 3.44. Use Qgis.RasterizedRenderingPolicy instead."
QgsRenderContext.UseRenderingOptimization = Qgis.RenderContextFlag.UseRenderingOptimization
QgsRenderContext.UseRenderingOptimization.is_monkey_patched = True
QgsRenderContext.UseRenderingOptimization.__doc__ = "Enable vector simplification and other rendering optimizations"
@ -4971,13 +4992,22 @@ QgsRenderContext.AlwaysUseGlobalMasks.__doc__ = "When applying clipping paths fo
QgsRenderContext.DisableSymbolClippingToExtent = Qgis.RenderContextFlag.DisableSymbolClippingToExtent
QgsRenderContext.DisableSymbolClippingToExtent.is_monkey_patched = True
QgsRenderContext.DisableSymbolClippingToExtent.__doc__ = "Force symbol clipping to map extent to be disabled in all situations. This will result in slower rendering, and should only be used in situations where the feature clipping is always undesirable. \n.. versionadded:: 3.40"
QgsRenderContext.RenderLayerTree = Qgis.RenderContextFlag.RenderLayerTree
QgsRenderContext.RenderLayerTree.is_monkey_patched = True
QgsRenderContext.RenderLayerTree.__doc__ = "The render is for a layer tree display where map based properties are not available and where avoidance of long rendering freeze is crucial \n.. versionadded:: 3.44"
Qgis.RenderContextFlag.__doc__ = """Flags which affect rendering operations.
.. versionadded:: 3.22
* ``DrawEditingInfo``: Enable drawing of vertex markers for layers in editing mode
* ``ForceVectorOutput``: Vector graphics should not be cached and drawn as raster images
.. deprecated:: 3.44. Use Qgis.RasterizedRenderingPolicy instead.
* ``UseAdvancedEffects``: Enable layer opacity and blending effects
.. deprecated:: 3.44. Use Qgis.RasterizedRenderingPolicy instead.
* ``UseRenderingOptimization``: Enable vector simplification and other rendering optimizations
* ``DrawSelection``: Whether vector selections should be shown in the rendered map
* ``DrawSymbolBounds``: Draw bounds of symbols (for debugging/testing)
@ -5015,6 +5045,10 @@ Qgis.RenderContextFlag.__doc__ = """Flags which affect rendering operations.
.. versionadded:: 3.40
* ``RenderLayerTree``: The render is for a layer tree display where map based properties are not available and where avoidance of long rendering freeze is crucial
.. versionadded:: 3.44
"""
# --
@ -9948,6 +9982,128 @@ Qgis.LayoutUnitType.__doc__ = """Types of layout units
"""
# --
Qgis.LayoutUnitType.baseClass = Qgis
QgsLayoutRenderContext.Flag = Qgis.LayoutRenderFlag
# monkey patching scoped based enum
QgsLayoutRenderContext.FlagDebug = Qgis.LayoutRenderFlag.Debug
QgsLayoutRenderContext.Flag.FlagDebug = Qgis.LayoutRenderFlag.Debug
QgsLayoutRenderContext.FlagDebug.is_monkey_patched = True
QgsLayoutRenderContext.FlagDebug.__doc__ = "Debug/testing mode, items are drawn as solid rectangles."
QgsLayoutRenderContext.FlagOutlineOnly = Qgis.LayoutRenderFlag.OutlineOnly
QgsLayoutRenderContext.Flag.FlagOutlineOnly = Qgis.LayoutRenderFlag.OutlineOnly
QgsLayoutRenderContext.FlagOutlineOnly.is_monkey_patched = True
QgsLayoutRenderContext.FlagOutlineOnly.__doc__ = "Render items as outlines only."
QgsLayoutRenderContext.FlagAntialiasing = Qgis.LayoutRenderFlag.Antialiasing
QgsLayoutRenderContext.Flag.FlagAntialiasing = Qgis.LayoutRenderFlag.Antialiasing
QgsLayoutRenderContext.FlagAntialiasing.is_monkey_patched = True
QgsLayoutRenderContext.FlagAntialiasing.__doc__ = "Use antialiasing when drawing items."
QgsLayoutRenderContext.FlagUseAdvancedEffects = Qgis.LayoutRenderFlag.UseAdvancedEffects
QgsLayoutRenderContext.Flag.FlagUseAdvancedEffects = Qgis.LayoutRenderFlag.UseAdvancedEffects
QgsLayoutRenderContext.FlagUseAdvancedEffects.is_monkey_patched = True
QgsLayoutRenderContext.FlagUseAdvancedEffects.__doc__ = "Enable advanced effects such as blend modes. \n.. deprecated:: 3.44. Use rasterizedRenderingPolicy() instead."
QgsLayoutRenderContext.FlagForceVectorOutput = Qgis.LayoutRenderFlag.ForceVectorOutput
QgsLayoutRenderContext.Flag.FlagForceVectorOutput = Qgis.LayoutRenderFlag.ForceVectorOutput
QgsLayoutRenderContext.FlagForceVectorOutput.is_monkey_patched = True
QgsLayoutRenderContext.FlagForceVectorOutput.__doc__ = "Force output in vector format where possible, even if items require rasterization to keep their correct appearance. \n.. deprecated:: 3.44. Use rasterizedRenderingPolicy() instead."
QgsLayoutRenderContext.FlagHideCoverageLayer = Qgis.LayoutRenderFlag.HideCoverageLayer
QgsLayoutRenderContext.Flag.FlagHideCoverageLayer = Qgis.LayoutRenderFlag.HideCoverageLayer
QgsLayoutRenderContext.FlagHideCoverageLayer.is_monkey_patched = True
QgsLayoutRenderContext.FlagHideCoverageLayer.__doc__ = "Hide coverage layer in outputs"
QgsLayoutRenderContext.FlagDrawSelection = Qgis.LayoutRenderFlag.DrawSelection
QgsLayoutRenderContext.Flag.FlagDrawSelection = Qgis.LayoutRenderFlag.DrawSelection
QgsLayoutRenderContext.FlagDrawSelection.is_monkey_patched = True
QgsLayoutRenderContext.FlagDrawSelection.__doc__ = "Draw selection"
QgsLayoutRenderContext.FlagDisableTiledRasterLayerRenders = Qgis.LayoutRenderFlag.DisableTiledRasterLayerRenders
QgsLayoutRenderContext.Flag.FlagDisableTiledRasterLayerRenders = Qgis.LayoutRenderFlag.DisableTiledRasterLayerRenders
QgsLayoutRenderContext.FlagDisableTiledRasterLayerRenders.is_monkey_patched = True
QgsLayoutRenderContext.FlagDisableTiledRasterLayerRenders.__doc__ = "If set, then raster layers will not be drawn as separate tiles. This may improve the appearance in exported files, at the cost of much higher memory usage during exports."
QgsLayoutRenderContext.FlagRenderLabelsByMapLayer = Qgis.LayoutRenderFlag.RenderLabelsByMapLayer
QgsLayoutRenderContext.Flag.FlagRenderLabelsByMapLayer = Qgis.LayoutRenderFlag.RenderLabelsByMapLayer
QgsLayoutRenderContext.FlagRenderLabelsByMapLayer.is_monkey_patched = True
QgsLayoutRenderContext.FlagRenderLabelsByMapLayer.__doc__ = "When rendering map items to multi-layered exports, render labels belonging to different layers into separate export layers"
QgsLayoutRenderContext.FlagLosslessImageRendering = Qgis.LayoutRenderFlag.LosslessImageRendering
QgsLayoutRenderContext.Flag.FlagLosslessImageRendering = Qgis.LayoutRenderFlag.LosslessImageRendering
QgsLayoutRenderContext.FlagLosslessImageRendering.is_monkey_patched = True
QgsLayoutRenderContext.FlagLosslessImageRendering.__doc__ = "Render images losslessly whenever possible, instead of the default lossy jpeg rendering used for some destination devices (e.g. PDF)."
QgsLayoutRenderContext.FlagSynchronousLegendGraphics = Qgis.LayoutRenderFlag.SynchronousLegendGraphics
QgsLayoutRenderContext.Flag.FlagSynchronousLegendGraphics = Qgis.LayoutRenderFlag.SynchronousLegendGraphics
QgsLayoutRenderContext.FlagSynchronousLegendGraphics.is_monkey_patched = True
QgsLayoutRenderContext.FlagSynchronousLegendGraphics.__doc__ = "Query legend graphics synchronously."
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUseGlobalMasks
QgsLayoutRenderContext.Flag.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUseGlobalMasks
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks.is_monkey_patched = True
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks.__doc__ = "When applying clipping paths for selective masking, always use global (\"entire map\") paths, instead of calculating local clipping paths per rendered feature. This results in considerably more complex layout exports in all current Qt versions. This flag only applies to vector layout exports. \n.. versionadded:: 3.38"
Qgis.LayoutRenderFlag.__doc__ = """Flags for controlling how a layout is rendered.
.. note::
Prior to QGIS 3.44 this was available as :py:class:`QgsLayoutRenderContext`.Flag
.. versionadded:: 3.44
* ``Debug``: Debug/testing mode, items are drawn as solid rectangles.
Available as ``QgsLayoutRenderContext.FlagDebug`` in older QGIS releases.
* ``OutlineOnly``: Render items as outlines only.
Available as ``QgsLayoutRenderContext.FlagOutlineOnly`` in older QGIS releases.
* ``Antialiasing``: Use antialiasing when drawing items.
Available as ``QgsLayoutRenderContext.FlagAntialiasing`` in older QGIS releases.
* ``UseAdvancedEffects``: Enable advanced effects such as blend modes.
.. deprecated:: 3.44. Use rasterizedRenderingPolicy() instead.
Available as ``QgsLayoutRenderContext.FlagUseAdvancedEffects`` in older QGIS releases.
* ``ForceVectorOutput``: Force output in vector format where possible, even if items require rasterization to keep their correct appearance.
.. deprecated:: 3.44. Use rasterizedRenderingPolicy() instead.
Available as ``QgsLayoutRenderContext.FlagForceVectorOutput`` in older QGIS releases.
* ``HideCoverageLayer``: Hide coverage layer in outputs
Available as ``QgsLayoutRenderContext.FlagHideCoverageLayer`` in older QGIS releases.
* ``DrawSelection``: Draw selection
Available as ``QgsLayoutRenderContext.FlagDrawSelection`` in older QGIS releases.
* ``DisableTiledRasterLayerRenders``: If set, then raster layers will not be drawn as separate tiles. This may improve the appearance in exported files, at the cost of much higher memory usage during exports.
Available as ``QgsLayoutRenderContext.FlagDisableTiledRasterLayerRenders`` in older QGIS releases.
* ``RenderLabelsByMapLayer``: When rendering map items to multi-layered exports, render labels belonging to different layers into separate export layers
Available as ``QgsLayoutRenderContext.FlagRenderLabelsByMapLayer`` in older QGIS releases.
* ``LosslessImageRendering``: Render images losslessly whenever possible, instead of the default lossy jpeg rendering used for some destination devices (e.g. PDF).
Available as ``QgsLayoutRenderContext.FlagLosslessImageRendering`` in older QGIS releases.
* ``SynchronousLegendGraphics``: Query legend graphics synchronously.
Available as ``QgsLayoutRenderContext.FlagSynchronousLegendGraphics`` in older QGIS releases.
* ``AlwaysUseGlobalMasks``: When applying clipping paths for selective masking, always use global (\"entire map\") paths, instead of calculating local clipping paths per rendered feature. This results in considerably more complex layout exports in all current Qt versions. This flag only applies to vector layout exports.
.. versionadded:: 3.38
Available as ``QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks`` in older QGIS releases.
"""
# --
Qgis.LayoutRenderFlag.baseClass = Qgis
QgsLayoutRenderContext.Flags = Qgis.LayoutRenderFlags
Qgis.LayoutRenderFlags.baseClass = Qgis
LayoutRenderFlags = Qgis # dirty hack since SIP seems to introduce the flags in module
QgsLayoutItemPicture.Format = Qgis.PictureFormat
# monkey patching scoped based enum
QgsLayoutItemPicture.FormatSVG = Qgis.PictureFormat.SVG
@ -11354,6 +11510,7 @@ Qgis.DataItemProviderCapability.__or__ = lambda flag1, flag2: Qgis.DataItemProvi
Qgis.VectorRenderingSimplificationFlag.__or__ = lambda flag1, flag2: Qgis.VectorRenderingSimplificationFlags(_force_int(flag1) | _force_int(flag2))
Qgis.DataProviderReadFlag.__or__ = lambda flag1, flag2: Qgis.DataProviderReadFlags(_force_int(flag1) | _force_int(flag2))
Qgis.VectorProviderCapability.__or__ = lambda flag1, flag2: Qgis.VectorProviderCapabilities(_force_int(flag1) | _force_int(flag2))
Qgis.LayoutRenderFlag.__or__ = lambda flag1, flag2: Qgis.LayoutRenderFlags(_force_int(flag1) | _force_int(flag2))
try:
Qgis.__attribute_docs__ = {'QGIS_DEV_VERSION': 'The development version', 'DEFAULT_SEARCH_RADIUS_MM': 'Identify search radius in mm', 'DEFAULT_MAPTOPIXEL_THRESHOLD': 'Default threshold between map coordinates and device coordinates for map2pixel simplification', 'DEFAULT_HIGHLIGHT_COLOR': 'Default highlight color. The transparency is expected to only be applied to polygon\nfill. Lines and outlines are rendered opaque.', 'DEFAULT_HIGHLIGHT_BUFFER_MM': 'Default highlight buffer in mm.', 'DEFAULT_HIGHLIGHT_MIN_WIDTH_MM': 'Default highlight line/stroke minimum width in mm.', 'SCALE_PRECISION': 'Fudge factor used to compare two scales. The code is often going from scale to scale\ndenominator. So it looses precision and, when a limit is inclusive, can lead to errors.\nTo avoid that, use this factor instead of using <= or >=.\n\n.. deprecated:: 3.40\n\n No longer used by QGIS and will be removed in QGIS 4.0.', 'DEFAULT_Z_COORDINATE': 'Default Z coordinate value.\nThis value have to be assigned to the Z coordinate for the vertex.', 'DEFAULT_M_COORDINATE': 'Default M coordinate value.\nThis value have to be assigned to the M coordinate for the vertex.\n\n.. versionadded:: 3.20', 'UI_SCALE_FACTOR': 'UI scaling factor. This should be applied to all widget sizes obtained from font metrics,\nto account for differences in the default font sizes across different platforms.', 'DEFAULT_SNAP_TOLERANCE': 'Default snapping distance tolerance.', 'DEFAULT_SNAP_UNITS': 'Default snapping distance units.', 'USER_CRS_START_ID': 'Minimum ID number for a user-defined projection.', 'DEFAULT_POINT_SIZE': 'The default size (in millimeters) for point marker symbols', 'DEFAULT_LINE_WIDTH': 'The default width (in millimeters) for line symbols', 'DEFAULT_SEGMENT_EPSILON': 'Default snapping tolerance for segments'}
Qgis.__annotations__ = {'QGIS_DEV_VERSION': str, 'DEFAULT_SEARCH_RADIUS_MM': float, 'DEFAULT_MAPTOPIXEL_THRESHOLD': float, 'DEFAULT_HIGHLIGHT_COLOR': 'QColor', 'DEFAULT_HIGHLIGHT_BUFFER_MM': float, 'DEFAULT_HIGHLIGHT_MIN_WIDTH_MM': float, 'SCALE_PRECISION': float, 'DEFAULT_Z_COORDINATE': float, 'DEFAULT_M_COORDINATE': float, 'UI_SCALE_FACTOR': float, 'DEFAULT_SNAP_TOLERANCE': float, 'DEFAULT_SNAP_UNITS': 'Qgis.MapToolUnit', 'USER_CRS_START_ID': int, 'DEFAULT_POINT_SIZE': float, 'DEFAULT_LINE_WIDTH': float, 'DEFAULT_SEGMENT_EPSILON': float}

View File

@ -80,7 +80,7 @@ try:
except (NameError, AttributeError):
pass
try:
QgsAbstractDatabaseProviderConnection.__virtual_methods__ = ['geometryColumnCapabilities', 'sqlLayerDefinitionCapabilities', 'tableUri', 'createVectorTable', 'createVectorLayerExporterDestinationUri', 'tableExists', 'dropVectorTable', 'dropRasterTable', 'renameVectorTable', 'renameRasterTable', 'createSchema', 'dropSchema', 'deleteField', 'addField', 'renameField', 'renameSchema', 'executeSql', 'createSqlVectorLayer', 'validateSqlVectorLayer', 'sqlOptions', 'execSql', 'vacuum', 'createSpatialIndex', 'spatialIndexExists', 'deleteSpatialIndex', 'table', 'SIP_THROW', 'fields', 'sqlDictionary', 'illegalFieldNames', 'defaultPrimaryKeyColumnName', 'defaultGeometryColumnName', 'supportedFieldDomainTypes', 'fieldDomain', 'setFieldDomainName', 'addFieldDomain', 'setFieldAlias', 'setTableComment', 'setFieldComment', 'supportedRelationshipCapabilities', 'relatedTableTypes', 'relationships', 'addRelationship', 'updateRelationship', 'deleteRelationship', 'queryBuilder', 'searchLayerMetadata']
QgsAbstractDatabaseProviderConnection.__virtual_methods__ = ['geometryColumnCapabilities', 'sqlLayerDefinitionCapabilities', 'tableUri', 'createVectorTable', 'createVectorLayerExporterDestinationUri', 'tableExists', 'dropVectorTable', 'dropRasterTable', 'renameVectorTable', 'renameRasterTable', 'createSchema', 'dropSchema', 'deleteField', 'addField', 'renameField', 'renameSchema', 'executeSql', 'createSqlVectorLayer', 'validateSqlVectorLayer', 'sqlOptions', 'execSql', 'vacuum', 'createSpatialIndex', 'spatialIndexExists', 'deleteSpatialIndex', 'table', 'SIP_THROW', 'fields', 'sqlDictionary', 'illegalFieldNames', 'defaultPrimaryKeyColumnName', 'defaultGeometryColumnName', 'supportedFieldDomainTypes', 'fieldDomain', 'setFieldDomainName', 'addFieldDomain', 'setFieldAlias', 'setTableComment', 'setFieldComment', 'moveTableToSchema', 'supportedRelationshipCapabilities', 'relatedTableTypes', 'relationships', 'addRelationship', 'updateRelationship', 'deleteRelationship', 'queryBuilder', 'searchLayerMetadata']
QgsAbstractDatabaseProviderConnection.__abstract_methods__ = ['tableImportCapabilities', 'nativeTypes']
QgsAbstractDatabaseProviderConnection.__group__ = ['providers']
except (NameError, AttributeError):

View File

@ -2,12 +2,17 @@
# monkey patching scoped based enum
QgsArcGisRestUtils.FeatureToJsonFlag.IncludeGeometry.__doc__ = "Whether to include the geometry definition"
QgsArcGisRestUtils.FeatureToJsonFlag.IncludeNonObjectIdAttributes.__doc__ = "Whether to include any non-objectId attributes"
QgsArcGisRestUtils.FeatureToJsonFlag.SkipUnsetAttributes.__doc__ = "Skip unset attributes. \n.. versionadded:: 3.44"
QgsArcGisRestUtils.FeatureToJsonFlag.__doc__ = """Flags which control the behavior of converting features to JSON.
.. versionadded:: 3.28
* ``IncludeGeometry``: Whether to include the geometry definition
* ``IncludeNonObjectIdAttributes``: Whether to include any non-objectId attributes
* ``SkipUnsetAttributes``: Skip unset attributes.
.. versionadded:: 3.44
"""
# --

View File

@ -8,28 +8,28 @@ except (NameError, AttributeError):
pass
try:
QgsLayoutExporter.ImageExportSettings.__attribute_docs__ = {'dpi': 'Resolution to export layout at. If dpi <= 0 the default layout dpi will be used.', 'imageSize': "Manual size in pixels for output image. If imageSize is not\nset then it will be automatically calculated based on the\noutput dpi and layout size.\n\nIf cropToContents is ``True`` then imageSize has no effect.\n\nBe careful when specifying manual sizes if pages in the layout\nhave differing sizes! It's likely not going to give a reasonable\noutput in this case, and the automatic dpi-based image size should be\nused instead.", 'cropToContents': 'Set to ``True`` if image should be cropped so only parts of the layout\ncontaining items are exported.', 'cropMargins': 'Crop to content margins, in pixels. These margins will be added\nto the bounds of the exported layout if cropToContents is ``True``.', 'pages': 'List of specific pages to export, or an empty list to\nexport all pages.\n\nPage numbers are 0 index based, so the first page in the\nlayout corresponds to page 0.', 'generateWorldFile': 'Set to ``True`` to generate an external world file alongside\nexported images.', 'exportMetadata': "Indicates whether image export should include metadata generated\nfrom the layout's project's metadata.\n\n.. versionadded:: 3.2", 'flags': 'Layout context flags, which control how the export will be created.', 'predefinedMapScales': 'A list of predefined scales to use with the layout. This is used\nfor maps which are set to the predefined atlas scaling mode.\n\n.. versionadded:: 3.10', 'quality': 'Image quality, typically used for JPEG compression (whose quality ranges from 1 to 100)\nif quality is set to -1, the default quality will be used.\n\n.. versionadded:: 3.42'}
QgsLayoutExporter.ImageExportSettings.__annotations__ = {'dpi': float, 'imageSize': 'QSize', 'cropToContents': bool, 'cropMargins': 'QgsMargins', 'pages': 'List[int]', 'generateWorldFile': bool, 'exportMetadata': bool, 'flags': 'QgsLayoutRenderContext.Flags', 'predefinedMapScales': 'List[float]', 'quality': int}
QgsLayoutExporter.ImageExportSettings.__annotations__ = {'dpi': float, 'imageSize': 'QSize', 'cropToContents': bool, 'cropMargins': 'QgsMargins', 'pages': 'List[int]', 'generateWorldFile': bool, 'exportMetadata': bool, 'flags': 'Qgis.LayoutRenderFlags', 'predefinedMapScales': 'List[float]', 'quality': int}
QgsLayoutExporter.ImageExportSettings.__doc__ = """Contains settings relating to exporting layouts to raster images"""
QgsLayoutExporter.ImageExportSettings.__group__ = ['layout']
except (NameError, AttributeError):
pass
try:
QgsLayoutExporter.PdfExportSettings.__attribute_docs__ = {'dpi': 'Resolution to export layout at. If dpi <= 0 the default layout dpi will be used.', 'rasterizeWholeImage': 'Set to ``True`` to force whole layout to be rasterized while exporting.\n\nThis option is mutually exclusive with forceVectorOutput.', 'forceVectorOutput': 'Set to ``True`` to force vector object exports, even when the resultant appearance will differ\nfrom the layout. If ``False``, some items may be rasterized in order to maintain their\ncorrect appearance in the output.\n\nThis option is mutually exclusive with rasterizeWholeImage.', 'appendGeoreference': 'Indicates whether PDF export should append georeference data\n\n.. versionadded:: 3.10', 'exportMetadata': "Indicates whether PDF export should include metadata generated\nfrom the layout's project's metadata.\n\n.. versionadded:: 3.2", 'flags': 'Layout context flags, which control how the export will be created.', 'textRenderFormat': 'Text rendering format, which controls how text should be rendered in the export (e.g.\nas paths or real text objects).\n\n.. versionadded:: 3.4.3', 'simplifyGeometries': 'Indicates whether vector geometries should be simplified to avoid redundant extraneous detail,\nsuch as vertices which are not visible at the specified dpi of the output.\n\n.. versionadded:: 3.10', 'writeGeoPdf': '``True`` if geospatial PDF files should be created, instead of normal PDF files.\n\nWhilst geospatial PDF files can include some desirable properties like the ability to interactively\nquery map features, they also can result in lower-quality output files, or forced rasterization\nof layers.\n\n.. note::\n\n Requires builds based on GDAL 3.0 or greater.\n\n.. versionadded:: 3.10', 'exportLayersAsSeperateFiles': '``True`` if individual layers from the layout should be rendered to separate PDF files.\n\nThis option allows for separation of logic layout layers to individual PDF files. For instance,\nif this option is ``True``, then a separate PDF file will be created per layer per map item in the\nlayout. Additionally, separate PDF files may be created for other complex layout items, resulting\nin a set of PDF files which contain logical atomic components of the layout.\n\nThis option is designed to allow the PDF files to be composited back together in an external\napplication (e.g. Adobe Illustrator) as a non-QGIS, post-production step.\n\n.. versionadded:: 3.14', 'useIso32000ExtensionFormatGeoreferencing': '``True`` if ISO3200 extension format georeferencing should be used.\n\nThis is a recommended setting which results in Geospatial PDF files compatible\nwith the built-in Acrobat geospatial tools.\n\nIf PdfExportSettings.writeGeoPdf is ``False`` than this option has no effect.', 'useOgcBestPracticeFormatGeoreferencing': '``True`` if OGC "best practice" format georeferencing should be used.\n\n.. warning::\n\n This results in geospatial PDF files compatible with a unnamed suite of tools starting with Terra and ending with Go, but\n can break compatibility with the built-in Acrobat geospatial tools (yes, Geospatial PDF\n format is a mess!).\n\nIf PdfExportSettings.writeGeoPdf is ``False`` than this option has no effect.\n\n.. deprecated:: 3.42\n\n This parameter has no longer any effect. Only ISO 32000 georeferencing is handled.', 'includeGeoPdfFeatures': '``True`` if feature vector information (such as attributes) should be exported during Geospatial PDF exports.\n\nIf PdfExportSettings.writeGeoPdf is ``False`` than this option has no effect.', 'exportThemes': "Optional list of map themes to export as Geospatial PDF layer groups.\n\nIf set, map item's which are not assigned a specific map theme will iterate through all listed\nthemes and a Geospatial PDF layer group will be created for each.\n\nIf PdfExportSettings.writeGeoPdf is ``False`` than this option has no effect.", 'predefinedMapScales': 'A list of predefined scales to use with the layout. This is used\nfor maps which are set to the predefined atlas scaling mode.\n\n.. versionadded:: 3.10'}
QgsLayoutExporter.PdfExportSettings.__annotations__ = {'dpi': float, 'rasterizeWholeImage': bool, 'forceVectorOutput': bool, 'appendGeoreference': bool, 'exportMetadata': bool, 'flags': 'QgsLayoutRenderContext.Flags', 'textRenderFormat': 'Qgis.TextRenderFormat', 'simplifyGeometries': bool, 'writeGeoPdf': bool, 'exportLayersAsSeperateFiles': bool, 'useIso32000ExtensionFormatGeoreferencing': bool, 'useOgcBestPracticeFormatGeoreferencing': bool, 'includeGeoPdfFeatures': bool, 'exportThemes': 'List[str]', 'predefinedMapScales': 'List[float]'}
QgsLayoutExporter.PdfExportSettings.__annotations__ = {'dpi': float, 'rasterizeWholeImage': bool, 'forceVectorOutput': bool, 'appendGeoreference': bool, 'exportMetadata': bool, 'flags': 'Qgis.LayoutRenderFlags', 'textRenderFormat': 'Qgis.TextRenderFormat', 'simplifyGeometries': bool, 'writeGeoPdf': bool, 'exportLayersAsSeperateFiles': bool, 'useIso32000ExtensionFormatGeoreferencing': bool, 'useOgcBestPracticeFormatGeoreferencing': bool, 'includeGeoPdfFeatures': bool, 'exportThemes': 'List[str]', 'predefinedMapScales': 'List[float]'}
QgsLayoutExporter.PdfExportSettings.__doc__ = """Contains settings relating to exporting layouts to PDF"""
QgsLayoutExporter.PdfExportSettings.__group__ = ['layout']
except (NameError, AttributeError):
pass
try:
QgsLayoutExporter.PrintExportSettings.__attribute_docs__ = {'dpi': 'Resolution to export layout at. If dpi <= 0 the default layout dpi will be used.', 'rasterizeWholeImage': 'Set to ``True`` to force whole layout to be rasterized while exporting.\n\nThis option is mutually exclusive with forceVectorOutput.', 'flags': 'Layout context flags, which control how the export will be created.', 'predefinedMapScales': 'A list of predefined scales to use with the layout. This is used\nfor maps which are set to the predefined atlas scaling mode.\n\n.. versionadded:: 3.10'}
QgsLayoutExporter.PrintExportSettings.__annotations__ = {'dpi': float, 'rasterizeWholeImage': bool, 'flags': 'QgsLayoutRenderContext.Flags', 'predefinedMapScales': 'List[float]'}
QgsLayoutExporter.PrintExportSettings.__annotations__ = {'dpi': float, 'rasterizeWholeImage': bool, 'flags': 'Qgis.LayoutRenderFlags', 'predefinedMapScales': 'List[float]'}
QgsLayoutExporter.PrintExportSettings.__doc__ = """Contains settings relating to printing layouts"""
QgsLayoutExporter.PrintExportSettings.__group__ = ['layout']
except (NameError, AttributeError):
pass
try:
QgsLayoutExporter.SvgExportSettings.__attribute_docs__ = {'dpi': 'Resolution to export layout at. If dpi <= 0 the default layout dpi will be used.', 'forceVectorOutput': 'Set to ``True`` to force vector object exports, even when the resultant appearance will differ\nfrom the layout. If ``False``, some items may be rasterized in order to maintain their\ncorrect appearance in the output.\n\nThis option is mutually exclusive with rasterizeWholeImage.', 'cropToContents': 'Set to ``True`` if image should be cropped so only parts of the layout\ncontaining items are exported.', 'cropMargins': 'Crop to content margins, in layout units. These margins will be added\nto the bounds of the exported layout if cropToContents is ``True``.', 'exportAsLayers': 'Set to ``True`` to export as a layered SVG file.\nNote that this option is considered experimental, and the generated\nSVG may differ from the expected appearance of the layout.', 'exportLabelsToSeparateLayers': 'Set to ``True`` to export labels to separate layers (grouped by map layer)\nin layered SVG exports.\n\nThis option is only used if exportAsLayers is ``True``.\n\n.. versionadded:: 3.10', 'exportMetadata': "Indicates whether SVG export should include RDF metadata generated\nfrom the layout's project's metadata.\n\n.. versionadded:: 3.2", 'flags': 'Layout context flags, which control how the export will be created.', 'textRenderFormat': 'Text rendering format, which controls how text should be rendered in the export (e.g.\nas paths or real text objects).\n\n.. versionadded:: 3.4.3', 'simplifyGeometries': 'Indicates whether vector geometries should be simplified to avoid redundant extraneous detail,\nsuch as vertices which are not visible at the specified dpi of the output.\n\n.. versionadded:: 3.10', 'predefinedMapScales': 'A list of predefined scales to use with the layout. This is used\nfor maps which are set to the predefined atlas scaling mode.\n\n.. versionadded:: 3.10'}
QgsLayoutExporter.SvgExportSettings.__annotations__ = {'dpi': float, 'forceVectorOutput': bool, 'cropToContents': bool, 'cropMargins': 'QgsMargins', 'exportAsLayers': bool, 'exportLabelsToSeparateLayers': bool, 'exportMetadata': bool, 'flags': 'QgsLayoutRenderContext.Flags', 'textRenderFormat': 'Qgis.TextRenderFormat', 'simplifyGeometries': bool, 'predefinedMapScales': 'List[float]'}
QgsLayoutExporter.SvgExportSettings.__annotations__ = {'dpi': float, 'forceVectorOutput': bool, 'cropToContents': bool, 'cropMargins': 'QgsMargins', 'exportAsLayers': bool, 'exportLabelsToSeparateLayers': bool, 'exportMetadata': bool, 'flags': 'Qgis.LayoutRenderFlags', 'textRenderFormat': 'Qgis.TextRenderFormat', 'simplifyGeometries': bool, 'predefinedMapScales': 'List[float]'}
QgsLayoutExporter.SvgExportSettings.__doc__ = """Contains settings relating to exporting layouts to SVG"""
QgsLayoutExporter.SvgExportSettings.__group__ = ['layout']
except (NameError, AttributeError):

View File

@ -1,7 +1,7 @@
# The following has been generated automatically from src/core/layout/qgslayoutrendercontext.h
try:
QgsLayoutRenderContext.__attribute_docs__ = {'flagsChanged': "Emitted whenever the context's ``flags`` change.\n\n.. seealso:: :py:func:`setFlags`\n", 'dpiChanged': "Emitted when the context's DPI is changed.\n", 'predefinedScalesChanged': 'Emitted when the list of predefined scales changes.\n\n.. seealso:: :py:func:`predefinedScales`\n\n.. versionadded:: 3.10\n'}
QgsLayoutRenderContext.__signal_arguments__ = {'flagsChanged': ['flags: QgsLayoutRenderContext.Flags']}
QgsLayoutRenderContext.__signal_arguments__ = {'flagsChanged': ['flags: Qgis.LayoutRenderFlags']}
QgsLayoutRenderContext.__group__ = ['layout']
except (NameError, AttributeError):
pass

View File

@ -32,8 +32,9 @@ except (NameError, AttributeError):
pass
try:
QgsRasterMarkerSymbolLayer.create = staticmethod(QgsRasterMarkerSymbolLayer.create)
QgsRasterMarkerSymbolLayer.createFromSld = staticmethod(QgsRasterMarkerSymbolLayer.createFromSld)
QgsRasterMarkerSymbolLayer.resolvePaths = staticmethod(QgsRasterMarkerSymbolLayer.resolvePaths)
QgsRasterMarkerSymbolLayer.__overridden_methods__ = ['layerType', 'flags', 'renderPoint', 'properties', 'clone', 'usesMapUnits', 'color', 'setMapUnitScale', 'mapUnitScale', 'bounds']
QgsRasterMarkerSymbolLayer.__overridden_methods__ = ['layerType', 'flags', 'renderPoint', 'properties', 'clone', 'usesMapUnits', 'color', 'writeSldMarker', 'setMapUnitScale', 'mapUnitScale', 'bounds']
QgsRasterMarkerSymbolLayer.__group__ = ['symbology']
except (NameError, AttributeError):
pass

View File

@ -74,6 +74,7 @@ try:
QgsSymbolLayerUtils.hasWellKnownMark = staticmethod(QgsSymbolLayerUtils.hasWellKnownMark)
QgsSymbolLayerUtils.needFontMarker = staticmethod(QgsSymbolLayerUtils.needFontMarker)
QgsSymbolLayerUtils.needSvgMarker = staticmethod(QgsSymbolLayerUtils.needSvgMarker)
QgsSymbolLayerUtils.needRasterMarker = staticmethod(QgsSymbolLayerUtils.needRasterMarker)
QgsSymbolLayerUtils.needEllipseMarker = staticmethod(QgsSymbolLayerUtils.needEllipseMarker)
QgsSymbolLayerUtils.needMarkerLine = staticmethod(QgsSymbolLayerUtils.needMarkerLine)
QgsSymbolLayerUtils.needLinePatternFill = staticmethod(QgsSymbolLayerUtils.needLinePatternFill)

View File

@ -144,12 +144,10 @@ into available memory.
bool exportMetadata;
QgsLayoutRenderContext::Flags flags;
Qgis::LayoutRenderFlags flags;
QVector<qreal> predefinedMapScales;
int quality;
};
@ -200,7 +198,7 @@ set to the error description.
bool exportMetadata;
QgsLayoutRenderContext::Flags flags;
Qgis::LayoutRenderFlags flags;
Qgis::TextRenderFormat textRenderFormat;
@ -273,7 +271,7 @@ set to the error description.
bool rasterizeWholeImage;
QgsLayoutRenderContext::Flags flags;
Qgis::LayoutRenderFlags flags;
QVector<qreal> predefinedMapScales;
@ -322,7 +320,7 @@ set to the error description.
bool exportMetadata;
QgsLayoutRenderContext::Flags flags;
Qgis::LayoutRenderFlags flags;
Qgis::TextRenderFormat textRenderFormat;

View File

@ -20,30 +20,12 @@ layout.
%End
public:
enum Flag
{
FlagDebug,
FlagOutlineOnly,
FlagAntialiasing,
FlagUseAdvancedEffects,
FlagForceVectorOutput,
FlagHideCoverageLayer,
FlagDrawSelection,
FlagDisableTiledRasterLayerRenders,
FlagRenderLabelsByMapLayer,
FlagLosslessImageRendering,
FlagSynchronousLegendGraphics,
FlagAlwaysUseGlobalMasks,
};
typedef QFlags<QgsLayoutRenderContext::Flag> Flags;
QgsLayoutRenderContext( QgsLayout *layout /TransferThis/ );
%Docstring
Constructor for QgsLayoutRenderContext.
%End
void setFlags( QgsLayoutRenderContext::Flags flags );
void setFlags( Qgis::LayoutRenderFlags flags );
%Docstring
Sets the combination of ``flags`` that will be used for rendering the
layout.
@ -55,7 +37,7 @@ layout.
.. seealso:: :py:func:`testFlag`
%End
void setFlag( QgsLayoutRenderContext::Flag flag, bool on = true );
void setFlag( Qgis::LayoutRenderFlag flag, bool on = true );
%Docstring
Enables or disables a particular rendering ``flag`` for the layout.
Other existing flags are not affected.
@ -67,7 +49,7 @@ Other existing flags are not affected.
.. seealso:: :py:func:`testFlag`
%End
QgsLayoutRenderContext::Flags flags() const;
Qgis::LayoutRenderFlags flags() const;
%Docstring
Returns the current combination of flags used for rendering the layout.
@ -78,7 +60,7 @@ Returns the current combination of flags used for rendering the layout.
.. seealso:: :py:func:`testFlag`
%End
bool testFlag( Flag flag ) const;
bool testFlag( Qgis::LayoutRenderFlag flag ) const;
%Docstring
Check whether a particular rendering ``flag`` is enabled for the layout.
@ -93,6 +75,26 @@ Check whether a particular rendering ``flag`` is enabled for the layout.
%Docstring
Returns the combination of render context flags matched to the layout
context's settings.
%End
Qgis::RasterizedRenderingPolicy rasterizedRenderingPolicy() const;
%Docstring
Returns the policy controlling when rasterization of content during
renders is permitted.
.. seealso:: :py:func:`setRasterizedRenderingPolicy`
.. versionadded:: 3.44
%End
void setRasterizedRenderingPolicy( Qgis::RasterizedRenderingPolicy policy );
%Docstring
Sets the ``policy`` controlling when rasterization of content during
renders is permitted.
.. seealso:: :py:func:`rasterizedRenderingPolicy`
.. versionadded:: 3.44
%End
void setDpi( double dpi );
@ -371,7 +373,7 @@ It is currently used by QGIS Server Access Control Plugins.
signals:
void flagsChanged( QgsLayoutRenderContext::Flags flags );
void flagsChanged( Qgis::LayoutRenderFlags flags );
%Docstring
Emitted whenever the context's ``flags`` change.

View File

@ -184,6 +184,7 @@ Returns a null rectangle if the value cannot be converted.
{
IncludeGeometry,
IncludeNonObjectIdAttributes,
SkipUnsetAttributes,
};
typedef QFlags<QgsArcGisRestUtils::FeatureToJsonFlag> FeatureToJsonFlags;

View File

@ -365,6 +365,7 @@ This information is calculated from the geometry columns types.
AddRelationship,
UpdateRelationship,
DeleteRelationship,
MoveTableToSchema,
};
typedef QFlags<QgsAbstractDatabaseProviderConnection::Capability> Capabilities;
@ -994,6 +995,20 @@ Sets the ``comment`` for the existing field with the specified name.
.. versionadded:: 3.32
%End
virtual void moveTableToSchema( const QString &sourceSchema, const QString &tableName, const QString &targetSchema ) const throw( QgsProviderConnectionException );
%Docstring
Move table to a different schema.
:param sourceSchema: name of the source schema.
:param tableName: name of the table.
:param targetSchema: name of the target schema to move table to.
:raises QgsProviderConnectionException: if any errors are encountered.
.. versionadded:: 3.44
%End
SIP_PYOBJECT supportedRelationshipCardinalities() const /TypeHint="List[Qgis.RelationshipCardinality]"/;
%Docstring
Returns a list of relationship cardinalities which are supported by the

View File

@ -1544,6 +1544,13 @@ The development version
typedef QFlags<Qgis::CoordinateTransformationFlag> CoordinateTransformationFlags;
enum class RasterizedRenderingPolicy
{
Default,
PreferVector,
ForceVector,
};
enum class MapSettingsFlag
{
Antialiasing,
@ -1593,6 +1600,7 @@ The development version
RecordProfile,
AlwaysUseGlobalMasks,
DisableSymbolClippingToExtent,
RenderLayerTree
};
typedef QFlags<Qgis::RenderContextFlag> RenderContextFlags;
@ -2880,6 +2888,25 @@ The development version
ScreenUnits
};
enum class LayoutRenderFlag
{
Debug,
OutlineOnly,
Antialiasing,
UseAdvancedEffects,
ForceVectorOutput,
HideCoverageLayer,
DrawSelection,
DisableTiledRasterLayerRenders,
RenderLabelsByMapLayer,
LosslessImageRendering,
SynchronousLegendGraphics,
AlwaysUseGlobalMasks,
};
typedef QFlags<Qgis::LayoutRenderFlag> LayoutRenderFlags;
enum class PictureFormat
{
SVG,
@ -3621,6 +3648,8 @@ QFlags<Qgis::VectorProviderCapability> operator|(Qgis::VectorProviderCapability
QFlags<Qgis::MapCanvasFlag> operator|(Qgis::MapCanvasFlag f1, QFlags<Qgis::MapCanvasFlag> f2);
QFlags<Qgis::LayoutRenderFlag> operator|(Qgis::LayoutRenderFlag f1, QFlags<Qgis::LayoutRenderFlag> f2);

View File

@ -1057,8 +1057,27 @@ Sets the shading ``renderer`` used to render shading on the entire map
.. versionadded:: 3.30
%End
protected:
Qgis::RasterizedRenderingPolicy rasterizedRenderingPolicy() const;
%Docstring
Returns the policy controlling when rasterisation of content during
renders is permitted.
.. seealso:: :py:func:`setRasterizedRenderingPolicy`
.. versionadded:: 3.44
%End
void setRasterizedRenderingPolicy( Qgis::RasterizedRenderingPolicy policy );
%Docstring
Sets the ``policy`` controlling when rasterisation of content during
renders is permitted.
.. seealso:: :py:func:`rasterizedRenderingPolicy`
.. versionadded:: 3.44
%End
protected:

View File

@ -348,26 +348,38 @@ rendering to check if rendering should be canceled, if set. Maybe be
.. versionadded:: 3.22
%End
bool forceVectorOutput() const;
bool forceVectorOutput() const /Deprecated="Since 3.44. Use rasterizedRenderingPolicy() instead."/;
%Docstring
Returns ``True`` if rendering operations should use vector operations
instead of any faster raster shortcuts.
.. seealso:: :py:func:`setForceVectorOutput`
.. deprecated:: 3.44
Use :py:func:`~QgsRenderContext.rasterizedRenderingPolicy` instead.
%End
bool useAdvancedEffects() const;
bool useAdvancedEffects() const /Deprecated="Since 3.44. Use rasterizedRenderingPolicy() instead."/;
%Docstring
Returns ``True`` if advanced effects such as blend modes such be used
.. seealso:: :py:func:`setUseAdvancedEffects`
.. deprecated:: 3.44
Use :py:func:`~QgsRenderContext.rasterizedRenderingPolicy` instead.
%End
void setUseAdvancedEffects( bool enabled );
void setUseAdvancedEffects( bool enabled ) /Deprecated="Since 3.44. Use setRasterizedRenderingPolicy() instead."/;
%Docstring
Used to enable or disable advanced effects such as blend modes
.. seealso:: :py:func:`useAdvancedEffects`
.. deprecated:: 3.44
Use :py:func:`~QgsRenderContext.setRasterizedRenderingPolicy` instead.
%End
bool drawEditingInformation() const;
@ -597,12 +609,16 @@ second parameter gives a unique identifier to each one.
.. seealso:: :py:func:`maskPainter`
%End
void setForceVectorOutput( bool force );
void setForceVectorOutput( bool force ) /Deprecated="Since 3.44. Use setRasterizedRenderingPolicy() instead."/;
%Docstring
Sets whether rendering operations should use vector operations instead
of any faster raster shortcuts.
.. seealso:: :py:func:`forceVectorOutput`
.. deprecated:: 3.44
Use :py:func:`~QgsRenderContext.setRasterizedRenderingPolicy` instead.
%End
@ -1226,6 +1242,26 @@ during rendering.
.. seealso:: :py:func:`setImageFormat`
.. versionadded:: 3.22
%End
Qgis::RasterizedRenderingPolicy rasterizedRenderingPolicy() const;
%Docstring
Returns the policy controlling when rasterisation of content during
renders is permitted.
.. seealso:: :py:func:`setRasterizedRenderingPolicy`
.. versionadded:: 3.44
%End
void setRasterizedRenderingPolicy( Qgis::RasterizedRenderingPolicy policy );
%Docstring
Sets the ``policy`` controlling when rasterisation of content during
renders is permitted.
.. seealso:: :py:func:`rasterizedRenderingPolicy`
.. versionadded:: 3.44
%End
Qgis::RendererUsage rendererUsage() const;

View File

@ -811,6 +811,17 @@ path to a raster image file
Creates a raster marker symbol layer from a string map of properties.
:param properties: QVariantMap properties object
%End
static QgsSymbolLayer *createFromSld( QDomElement &element ) /Factory/;
%Docstring
Creates a new QgsRasterMarkerSymbolLayer from an SLD XML element.
:param element: XML element containing SLD definition of symbol
:return: new QgsRasterMarkerSymbolLayer
.. versionadded:: 3.44
%End
static void resolvePaths( QVariantMap &properties, const QgsPathResolver &pathResolver, bool saving );
@ -834,6 +845,10 @@ versa when writing. Used internally when reading/writing symbols.
virtual QColor color() const;
virtual void writeSldMarker( QDomDocument &doc, QDomElement &element, const QVariantMap &props ) const /Deprecated/;
virtual bool writeSldMarker( QDomDocument &doc, QDomElement &element, QgsSldExportContext &context ) const;
double calculateAspectRatio( QgsSymbolRenderContext &context, double scaledSize, bool &hasDataDefinedAspectRatio ) const;
%Docstring

View File

@ -490,7 +490,7 @@ Checks if ``element`` contains an ExternalGraphic element with format
found .
%End
static bool hasExternalGraphicV2( QDomElement &element, const QString format = QString() );
static bool hasExternalGraphicV2( const QDomElement &element, const QString format = QString() );
%Docstring
Checks if ``element`` contains an ExternalGraphic element, if the
optional ``format`` is specified it will also be checked.
@ -504,7 +504,28 @@ optional ``format`` is specified it will also be checked.
static bool hasWellKnownMark( QDomElement &element );
static bool needFontMarker( QDomElement &element );
static bool needSvgMarker( QDomElement &element );
static bool needSvgMarker( const QDomElement &element );
%Docstring
Checks if ``element`` contains an ExternalGraphic element that should
translate to an SVG marker.
:return: ``True`` if the ExternalGraphic element is found and is of type
SVG.
%End
static bool needRasterMarker( const QDomElement &element );
%Docstring
Checks if ``element`` contains an ExternalGraphic element that should
translate to a raster marker.
This is the case for any type of ExternalGraphic that is not an SVG.
:return: ``True`` if the ExternalGraphic element is found and is not of
type SVG.
.. versionadded:: 3.44
%End
static bool needEllipseMarker( QDomElement &element );
static bool needMarkerLine( QDomElement &element );
static bool needLinePatternFill( QDomElement &element );

View File

@ -1,14 +1,14 @@
Qgis.defaultProjectScales: src/core/qgis.h#L5985
Qgis.defaultProjectScales: src/core/qgis.h#L6033
Qgis.devVersion: src/core/qgis.h#L89
Qgis.geoNone: src/core/qgis.h#L6030
Qgis.geoProj4: src/core/qgis.h#L6060
Qgis.geoWkt: src/core/qgis.h#L6051
Qgis.geographicCrsAuthId: src/core/qgis.h#L6040
Qgis.geosVersion: src/core/qgis.h#L6020
Qgis.geosVersionInt: src/core/qgis.h#L5992
Qgis.geosVersionMajor: src/core/qgis.h#L5999
Qgis.geosVersionMinor: src/core/qgis.h#L6006
Qgis.geosVersionPatch: src/core/qgis.h#L6013
Qgis.geoNone: src/core/qgis.h#L6078
Qgis.geoProj4: src/core/qgis.h#L6108
Qgis.geoWkt: src/core/qgis.h#L6099
Qgis.geographicCrsAuthId: src/core/qgis.h#L6088
Qgis.geosVersion: src/core/qgis.h#L6068
Qgis.geosVersionInt: src/core/qgis.h#L6040
Qgis.geosVersionMajor: src/core/qgis.h#L6047
Qgis.geosVersionMinor: src/core/qgis.h#L6054
Qgis.geosVersionPatch: src/core/qgis.h#L6061
Qgis.releaseName: src/core/qgis.h#L79
Qgis.version: src/core/qgis.h#L65
Qgis.versionInt: src/core/qgis.h#L72
@ -154,56 +154,57 @@ QgsAbstractDatabaseProviderConnection.QgsAbstractDatabaseProviderConnection.setQ
QgsAbstractDatabaseProviderConnection.QgsAbstractDatabaseProviderConnection.setSchema: src/core/providers/qgsabstractdatabaseproviderconnection.h#L358
QgsAbstractDatabaseProviderConnection.QgsAbstractDatabaseProviderConnection.setTableName: src/core/providers/qgsabstractdatabaseproviderconnection.h#L316
QgsAbstractDatabaseProviderConnection.QgsAbstractDatabaseProviderConnection.tableName: src/core/providers/qgsabstractdatabaseproviderconnection.h#L309
QgsAbstractDatabaseProviderConnection.addField: src/core/providers/qgsabstractdatabaseproviderconnection.h#L728
QgsAbstractDatabaseProviderConnection.addFieldDomain: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1010
QgsAbstractDatabaseProviderConnection.addRelationship: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1179
QgsAbstractDatabaseProviderConnection.capabilities2: src/core/providers/qgsabstractdatabaseproviderconnection.h#L574
QgsAbstractDatabaseProviderConnection.capabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L566
QgsAbstractDatabaseProviderConnection.checkCapability: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1237
QgsAbstractDatabaseProviderConnection.checkCapability: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1244
QgsAbstractDatabaseProviderConnection.createSchema: src/core/providers/qgsabstractdatabaseproviderconnection.h#L693
QgsAbstractDatabaseProviderConnection.createSpatialIndex: src/core/providers/qgsabstractdatabaseproviderconnection.h#L824
QgsAbstractDatabaseProviderConnection.createSqlVectorLayer: src/core/providers/qgsabstractdatabaseproviderconnection.h#L772
QgsAbstractDatabaseProviderConnection.createVectorLayerExporterDestinationUri: src/core/providers/qgsabstractdatabaseproviderconnection.h#L647
QgsAbstractDatabaseProviderConnection.createVectorTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L611
QgsAbstractDatabaseProviderConnection.defaultGeometryColumnName: src/core/providers/qgsabstractdatabaseproviderconnection.h#L953
QgsAbstractDatabaseProviderConnection.defaultPrimaryKeyColumnName: src/core/providers/qgsabstractdatabaseproviderconnection.h#L942
QgsAbstractDatabaseProviderConnection.deleteField: src/core/providers/qgsabstractdatabaseproviderconnection.h#L716
QgsAbstractDatabaseProviderConnection.deleteRelationship: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1195
QgsAbstractDatabaseProviderConnection.deleteSpatialIndex: src/core/providers/qgsabstractdatabaseproviderconnection.h#L842
QgsAbstractDatabaseProviderConnection.dropRasterTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L670
QgsAbstractDatabaseProviderConnection.dropSchema: src/core/providers/qgsabstractdatabaseproviderconnection.h#L703
QgsAbstractDatabaseProviderConnection.dropVectorTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L662
QgsAbstractDatabaseProviderConnection.execSql: src/core/providers/qgsabstractdatabaseproviderconnection.h#L807
QgsAbstractDatabaseProviderConnection.fieldDomain: src/core/providers/qgsabstractdatabaseproviderconnection.h#L986
QgsAbstractDatabaseProviderConnection.fieldDomainNames: src/core/providers/qgsabstractdatabaseproviderconnection.h#L965
QgsAbstractDatabaseProviderConnection.fields: src/core/providers/qgsabstractdatabaseproviderconnection.h#L897
QgsAbstractDatabaseProviderConnection.geometryColumnCapabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L581
QgsAbstractDatabaseProviderConnection.providerKey: src/core/providers/qgsabstractdatabaseproviderconnection.h#L912
QgsAbstractDatabaseProviderConnection.queryBuilder: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1204
QgsAbstractDatabaseProviderConnection.relatedTableTypes: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1157
QgsAbstractDatabaseProviderConnection.renameField: src/core/providers/qgsabstractdatabaseproviderconnection.h#L743
QgsAbstractDatabaseProviderConnection.renameRasterTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L686
QgsAbstractDatabaseProviderConnection.renameSchema: src/core/providers/qgsabstractdatabaseproviderconnection.h#L751
QgsAbstractDatabaseProviderConnection.renameVectorTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L678
QgsAbstractDatabaseProviderConnection.schemas: src/core/providers/qgsabstractdatabaseproviderconnection.h#L883
QgsAbstractDatabaseProviderConnection.setFieldAlias: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1023
QgsAbstractDatabaseProviderConnection.setFieldComment: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1048
QgsAbstractDatabaseProviderConnection.setFieldDomainName: src/core/providers/qgsabstractdatabaseproviderconnection.h#L999
QgsAbstractDatabaseProviderConnection.setTableComment: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1035
QgsAbstractDatabaseProviderConnection.spatialIndexExists: src/core/providers/qgsabstractdatabaseproviderconnection.h#L833
QgsAbstractDatabaseProviderConnection.sqlLayerDefinitionCapabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L594
QgsAbstractDatabaseProviderConnection.sqlOptions: src/core/providers/qgsabstractdatabaseproviderconnection.h#L798
QgsAbstractDatabaseProviderConnection.supportedRelationshipCapabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1145
QgsAbstractDatabaseProviderConnection.supportedRelationshipCardinalities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1058
QgsAbstractDatabaseProviderConnection.supportedRelationshipStrengths: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1103
QgsAbstractDatabaseProviderConnection.table: src/core/providers/qgsabstractdatabaseproviderconnection.h#L864
QgsAbstractDatabaseProviderConnection.tableExists: src/core/providers/qgsabstractdatabaseproviderconnection.h#L654
QgsAbstractDatabaseProviderConnection.tableImportCapabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L588
QgsAbstractDatabaseProviderConnection.tableUri: src/core/providers/qgsabstractdatabaseproviderconnection.h#L604
QgsAbstractDatabaseProviderConnection.updateRelationship: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1187
QgsAbstractDatabaseProviderConnection.vacuum: src/core/providers/qgsabstractdatabaseproviderconnection.h#L814
QgsAbstractDatabaseProviderConnection.validateSqlVectorLayer: src/core/providers/qgsabstractdatabaseproviderconnection.h#L789
QgsAbstractDatabaseProviderConnection.addField: src/core/providers/qgsabstractdatabaseproviderconnection.h#L729
QgsAbstractDatabaseProviderConnection.addFieldDomain: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1011
QgsAbstractDatabaseProviderConnection.addRelationship: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1193
QgsAbstractDatabaseProviderConnection.capabilities2: src/core/providers/qgsabstractdatabaseproviderconnection.h#L575
QgsAbstractDatabaseProviderConnection.capabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L567
QgsAbstractDatabaseProviderConnection.checkCapability: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1251
QgsAbstractDatabaseProviderConnection.checkCapability: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1258
QgsAbstractDatabaseProviderConnection.createSchema: src/core/providers/qgsabstractdatabaseproviderconnection.h#L694
QgsAbstractDatabaseProviderConnection.createSpatialIndex: src/core/providers/qgsabstractdatabaseproviderconnection.h#L825
QgsAbstractDatabaseProviderConnection.createSqlVectorLayer: src/core/providers/qgsabstractdatabaseproviderconnection.h#L773
QgsAbstractDatabaseProviderConnection.createVectorLayerExporterDestinationUri: src/core/providers/qgsabstractdatabaseproviderconnection.h#L648
QgsAbstractDatabaseProviderConnection.createVectorTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L612
QgsAbstractDatabaseProviderConnection.defaultGeometryColumnName: src/core/providers/qgsabstractdatabaseproviderconnection.h#L954
QgsAbstractDatabaseProviderConnection.defaultPrimaryKeyColumnName: src/core/providers/qgsabstractdatabaseproviderconnection.h#L943
QgsAbstractDatabaseProviderConnection.deleteField: src/core/providers/qgsabstractdatabaseproviderconnection.h#L717
QgsAbstractDatabaseProviderConnection.deleteRelationship: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1209
QgsAbstractDatabaseProviderConnection.deleteSpatialIndex: src/core/providers/qgsabstractdatabaseproviderconnection.h#L843
QgsAbstractDatabaseProviderConnection.dropRasterTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L671
QgsAbstractDatabaseProviderConnection.dropSchema: src/core/providers/qgsabstractdatabaseproviderconnection.h#L704
QgsAbstractDatabaseProviderConnection.dropVectorTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L663
QgsAbstractDatabaseProviderConnection.execSql: src/core/providers/qgsabstractdatabaseproviderconnection.h#L808
QgsAbstractDatabaseProviderConnection.fieldDomain: src/core/providers/qgsabstractdatabaseproviderconnection.h#L987
QgsAbstractDatabaseProviderConnection.fieldDomainNames: src/core/providers/qgsabstractdatabaseproviderconnection.h#L966
QgsAbstractDatabaseProviderConnection.fields: src/core/providers/qgsabstractdatabaseproviderconnection.h#L898
QgsAbstractDatabaseProviderConnection.geometryColumnCapabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L582
QgsAbstractDatabaseProviderConnection.moveTableToSchema: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1061
QgsAbstractDatabaseProviderConnection.providerKey: src/core/providers/qgsabstractdatabaseproviderconnection.h#L913
QgsAbstractDatabaseProviderConnection.queryBuilder: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1218
QgsAbstractDatabaseProviderConnection.relatedTableTypes: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1171
QgsAbstractDatabaseProviderConnection.renameField: src/core/providers/qgsabstractdatabaseproviderconnection.h#L744
QgsAbstractDatabaseProviderConnection.renameRasterTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L687
QgsAbstractDatabaseProviderConnection.renameSchema: src/core/providers/qgsabstractdatabaseproviderconnection.h#L752
QgsAbstractDatabaseProviderConnection.renameVectorTable: src/core/providers/qgsabstractdatabaseproviderconnection.h#L679
QgsAbstractDatabaseProviderConnection.schemas: src/core/providers/qgsabstractdatabaseproviderconnection.h#L884
QgsAbstractDatabaseProviderConnection.setFieldAlias: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1024
QgsAbstractDatabaseProviderConnection.setFieldComment: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1049
QgsAbstractDatabaseProviderConnection.setFieldDomainName: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1000
QgsAbstractDatabaseProviderConnection.setTableComment: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1036
QgsAbstractDatabaseProviderConnection.spatialIndexExists: src/core/providers/qgsabstractdatabaseproviderconnection.h#L834
QgsAbstractDatabaseProviderConnection.sqlLayerDefinitionCapabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L595
QgsAbstractDatabaseProviderConnection.sqlOptions: src/core/providers/qgsabstractdatabaseproviderconnection.h#L799
QgsAbstractDatabaseProviderConnection.supportedRelationshipCapabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1159
QgsAbstractDatabaseProviderConnection.supportedRelationshipCardinalities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1072
QgsAbstractDatabaseProviderConnection.supportedRelationshipStrengths: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1117
QgsAbstractDatabaseProviderConnection.table: src/core/providers/qgsabstractdatabaseproviderconnection.h#L865
QgsAbstractDatabaseProviderConnection.tableExists: src/core/providers/qgsabstractdatabaseproviderconnection.h#L655
QgsAbstractDatabaseProviderConnection.tableImportCapabilities: src/core/providers/qgsabstractdatabaseproviderconnection.h#L589
QgsAbstractDatabaseProviderConnection.tableUri: src/core/providers/qgsabstractdatabaseproviderconnection.h#L605
QgsAbstractDatabaseProviderConnection.updateRelationship: src/core/providers/qgsabstractdatabaseproviderconnection.h#L1201
QgsAbstractDatabaseProviderConnection.vacuum: src/core/providers/qgsabstractdatabaseproviderconnection.h#L815
QgsAbstractDatabaseProviderConnection.validateSqlVectorLayer: src/core/providers/qgsabstractdatabaseproviderconnection.h#L790
QgsAbstractDatabaseProviderConnection: src/core/providers/qgsabstractdatabaseproviderconnection.h#L46
QgsAbstractDbTableModel.QgsAbstractDbTableModel: src/core/providers/qgsabstractdbtablemodel.h#L35
QgsAbstractDbTableModel.columns: src/core/providers/qgsabstractdbtablemodel.h#L38
@ -679,14 +680,14 @@ QgsAnimatedIcon.iconPath: src/core/qgsanimatedicon.h#L43
QgsAnimatedIcon.setIconPath: src/core/qgsanimatedicon.h#L48
QgsAnimatedIcon.width: src/core/qgsanimatedicon.h#L116
QgsAnimatedIcon: src/core/qgsanimatedicon.h#L30
QgsAnimatedMarkerSymbolLayer.clone: src/core/symbology/qgsmarkersymbollayer.h#L1116
QgsAnimatedMarkerSymbolLayer.create: src/core/symbology/qgsmarkersymbollayer.h#L1110
QgsAnimatedMarkerSymbolLayer.frameRate: src/core/symbology/qgsmarkersymbollayer.h#L1130
QgsAnimatedMarkerSymbolLayer.layerType: src/core/symbology/qgsmarkersymbollayer.h#L1114
QgsAnimatedMarkerSymbolLayer.properties: src/core/symbology/qgsmarkersymbollayer.h#L1115
QgsAnimatedMarkerSymbolLayer.setFrameRate: src/core/symbology/qgsmarkersymbollayer.h#L1123
QgsAnimatedMarkerSymbolLayer.startRender: src/core/symbology/qgsmarkersymbollayer.h#L1132
QgsAnimatedMarkerSymbolLayer: src/core/symbology/qgsmarkersymbollayer.h#L1092
QgsAnimatedMarkerSymbolLayer.clone: src/core/symbology/qgsmarkersymbollayer.h#L1127
QgsAnimatedMarkerSymbolLayer.create: src/core/symbology/qgsmarkersymbollayer.h#L1121
QgsAnimatedMarkerSymbolLayer.frameRate: src/core/symbology/qgsmarkersymbollayer.h#L1141
QgsAnimatedMarkerSymbolLayer.layerType: src/core/symbology/qgsmarkersymbollayer.h#L1125
QgsAnimatedMarkerSymbolLayer.properties: src/core/symbology/qgsmarkersymbollayer.h#L1126
QgsAnimatedMarkerSymbolLayer.setFrameRate: src/core/symbology/qgsmarkersymbollayer.h#L1134
QgsAnimatedMarkerSymbolLayer.startRender: src/core/symbology/qgsmarkersymbollayer.h#L1143
QgsAnimatedMarkerSymbolLayer: src/core/symbology/qgsmarkersymbollayer.h#L1103
QgsAnnotation._readXml: src/core/annotations/qgsannotation.h#L369
QgsAnnotation._writeXml: src/core/annotations/qgsannotation.h#L361
QgsAnnotation.accept: src/core/annotations/qgsannotation.h#L323
@ -1177,11 +1178,11 @@ QgsArcGisRestUtils.convertRenderer: src/core/providers/arcgis/qgsarcgisrestutils
QgsArcGisRestUtils.convertSpatialReference: src/core/providers/arcgis/qgsarcgisrestutils.h#L148
QgsArcGisRestUtils.convertSymbol: src/core/providers/arcgis/qgsarcgisrestutils.h#L155
QgsArcGisRestUtils.crsToJson: src/core/providers/arcgis/qgsarcgisrestutils.h#L212
QgsArcGisRestUtils.featureToJson: src/core/providers/arcgis/qgsarcgisrestutils.h#L248
QgsArcGisRestUtils.fieldDefinitionToJson: src/core/providers/arcgis/qgsarcgisrestutils.h#L265
QgsArcGisRestUtils.featureToJson: src/core/providers/arcgis/qgsarcgisrestutils.h#L249
QgsArcGisRestUtils.fieldDefinitionToJson: src/core/providers/arcgis/qgsarcgisrestutils.h#L266
QgsArcGisRestUtils.geometryToJson: src/core/providers/arcgis/qgsarcgisrestutils.h#L203
QgsArcGisRestUtils.serviceTypeFromString: src/core/providers/arcgis/qgsarcgisrestutils.h#L272
QgsArcGisRestUtils.variantToAttributeValue: src/core/providers/arcgis/qgsarcgisrestutils.h#L258
QgsArcGisRestUtils.serviceTypeFromString: src/core/providers/arcgis/qgsarcgisrestutils.h#L273
QgsArcGisRestUtils.variantToAttributeValue: src/core/providers/arcgis/qgsarcgisrestutils.h#L259
QgsArcGisRestUtils: src/core/providers/arcgis/qgsarcgisrestutils.h#L114
QgsArchive.addFile: src/core/qgsarchive.h#L72
QgsArchive.clear: src/core/qgsarchive.h#L65
@ -4792,39 +4793,39 @@ QgsFontManager.setFontFamilyReplacements: src/core/textrenderer/qgsfontmanager.h
QgsFontManager.tryToDownloadFontFamily: src/core/textrenderer/qgsfontmanager.h#L248
QgsFontManager.urlForFontDownload: src/core/textrenderer/qgsfontmanager.h#L269
QgsFontManager: src/core/textrenderer/qgsfontmanager.h#L136
QgsFontMarkerSymbolLayer.bounds: src/core/symbology/qgsmarkersymbollayer.h#L1044
QgsFontMarkerSymbolLayer.character: src/core/symbology/qgsmarkersymbollayer.h#L957
QgsFontMarkerSymbolLayer.clone: src/core/symbology/qgsmarkersymbollayer.h#L912
QgsFontMarkerSymbolLayer.create: src/core/symbology/qgsmarkersymbollayer.h#L884
QgsFontMarkerSymbolLayer.createFromSld: src/core/symbology/qgsmarkersymbollayer.h#L889
QgsFontMarkerSymbolLayer.flags: src/core/symbology/qgsmarkersymbollayer.h#L902
QgsFontMarkerSymbolLayer.fontFamily: src/core/symbology/qgsmarkersymbollayer.h#L927
QgsFontMarkerSymbolLayer.fontStyle: src/core/symbology/qgsmarkersymbollayer.h#L942
QgsFontMarkerSymbolLayer.layerType: src/core/symbology/qgsmarkersymbollayer.h#L901
QgsFontMarkerSymbolLayer.penJoinStyle: src/core/symbology/qgsmarkersymbollayer.h#L1034
QgsFontMarkerSymbolLayer.properties: src/core/symbology/qgsmarkersymbollayer.h#L910
QgsFontMarkerSymbolLayer.renderPoint: src/core/symbology/qgsmarkersymbollayer.h#L908
QgsFontMarkerSymbolLayer.resolveFonts: src/core/symbology/qgsmarkersymbollayer.h#L897
QgsFontMarkerSymbolLayer.setCharacter: src/core/symbology/qgsmarkersymbollayer.h#L964
QgsFontMarkerSymbolLayer.setFontFamily: src/core/symbology/qgsmarkersymbollayer.h#L934
QgsFontMarkerSymbolLayer.setFontStyle: src/core/symbology/qgsmarkersymbollayer.h#L950
QgsFontMarkerSymbolLayer.setOutputUnit: src/core/symbology/qgsmarkersymbollayer.h#L918
QgsFontMarkerSymbolLayer.setPenJoinStyle: src/core/symbology/qgsmarkersymbollayer.h#L1042
QgsFontMarkerSymbolLayer.setStrokeColor: src/core/symbology/qgsmarkersymbollayer.h#L967
QgsFontMarkerSymbolLayer.setStrokeWidth: src/core/symbology/qgsmarkersymbollayer.h#L987
QgsFontMarkerSymbolLayer.setStrokeWidthMapUnitScale: src/core/symbology/qgsmarkersymbollayer.h#L1026
QgsFontMarkerSymbolLayer.setStrokeWidthUnit: src/core/symbology/qgsmarkersymbollayer.h#L1006
QgsFontMarkerSymbolLayer.startRender: src/core/symbology/qgsmarkersymbollayer.h#L904
QgsFontMarkerSymbolLayer.stopRender: src/core/symbology/qgsmarkersymbollayer.h#L906
QgsFontMarkerSymbolLayer.strokeColor: src/core/symbology/qgsmarkersymbollayer.h#L966
QgsFontMarkerSymbolLayer.strokeWidth: src/core/symbology/qgsmarkersymbollayer.h#L977
QgsFontMarkerSymbolLayer.strokeWidthUnit: src/core/symbology/qgsmarkersymbollayer.h#L997
QgsFontMarkerSymbolLayer.toSld: src/core/symbology/qgsmarkersymbollayer.h#L913
QgsFontMarkerSymbolLayer.toSld: src/core/symbology/qgsmarkersymbollayer.h#L914
QgsFontMarkerSymbolLayer.usesMapUnits: src/core/symbology/qgsmarkersymbollayer.h#L917
QgsFontMarkerSymbolLayer.writeSldMarker: src/core/symbology/qgsmarkersymbollayer.h#L915
QgsFontMarkerSymbolLayer.writeSldMarker: src/core/symbology/qgsmarkersymbollayer.h#L916
QgsFontMarkerSymbolLayer: src/core/symbology/qgsmarkersymbollayer.h#L866
QgsFontMarkerSymbolLayer.bounds: src/core/symbology/qgsmarkersymbollayer.h#L1055
QgsFontMarkerSymbolLayer.character: src/core/symbology/qgsmarkersymbollayer.h#L968
QgsFontMarkerSymbolLayer.clone: src/core/symbology/qgsmarkersymbollayer.h#L923
QgsFontMarkerSymbolLayer.create: src/core/symbology/qgsmarkersymbollayer.h#L895
QgsFontMarkerSymbolLayer.createFromSld: src/core/symbology/qgsmarkersymbollayer.h#L900
QgsFontMarkerSymbolLayer.flags: src/core/symbology/qgsmarkersymbollayer.h#L913
QgsFontMarkerSymbolLayer.fontFamily: src/core/symbology/qgsmarkersymbollayer.h#L938
QgsFontMarkerSymbolLayer.fontStyle: src/core/symbology/qgsmarkersymbollayer.h#L953
QgsFontMarkerSymbolLayer.layerType: src/core/symbology/qgsmarkersymbollayer.h#L912
QgsFontMarkerSymbolLayer.penJoinStyle: src/core/symbology/qgsmarkersymbollayer.h#L1045
QgsFontMarkerSymbolLayer.properties: src/core/symbology/qgsmarkersymbollayer.h#L921
QgsFontMarkerSymbolLayer.renderPoint: src/core/symbology/qgsmarkersymbollayer.h#L919
QgsFontMarkerSymbolLayer.resolveFonts: src/core/symbology/qgsmarkersymbollayer.h#L908
QgsFontMarkerSymbolLayer.setCharacter: src/core/symbology/qgsmarkersymbollayer.h#L975
QgsFontMarkerSymbolLayer.setFontFamily: src/core/symbology/qgsmarkersymbollayer.h#L945
QgsFontMarkerSymbolLayer.setFontStyle: src/core/symbology/qgsmarkersymbollayer.h#L961
QgsFontMarkerSymbolLayer.setOutputUnit: src/core/symbology/qgsmarkersymbollayer.h#L929
QgsFontMarkerSymbolLayer.setPenJoinStyle: src/core/symbology/qgsmarkersymbollayer.h#L1053
QgsFontMarkerSymbolLayer.setStrokeColor: src/core/symbology/qgsmarkersymbollayer.h#L978
QgsFontMarkerSymbolLayer.setStrokeWidth: src/core/symbology/qgsmarkersymbollayer.h#L998
QgsFontMarkerSymbolLayer.setStrokeWidthMapUnitScale: src/core/symbology/qgsmarkersymbollayer.h#L1037
QgsFontMarkerSymbolLayer.setStrokeWidthUnit: src/core/symbology/qgsmarkersymbollayer.h#L1017
QgsFontMarkerSymbolLayer.startRender: src/core/symbology/qgsmarkersymbollayer.h#L915
QgsFontMarkerSymbolLayer.stopRender: src/core/symbology/qgsmarkersymbollayer.h#L917
QgsFontMarkerSymbolLayer.strokeColor: src/core/symbology/qgsmarkersymbollayer.h#L977
QgsFontMarkerSymbolLayer.strokeWidth: src/core/symbology/qgsmarkersymbollayer.h#L988
QgsFontMarkerSymbolLayer.strokeWidthUnit: src/core/symbology/qgsmarkersymbollayer.h#L1008
QgsFontMarkerSymbolLayer.toSld: src/core/symbology/qgsmarkersymbollayer.h#L924
QgsFontMarkerSymbolLayer.toSld: src/core/symbology/qgsmarkersymbollayer.h#L925
QgsFontMarkerSymbolLayer.usesMapUnits: src/core/symbology/qgsmarkersymbollayer.h#L928
QgsFontMarkerSymbolLayer.writeSldMarker: src/core/symbology/qgsmarkersymbollayer.h#L926
QgsFontMarkerSymbolLayer.writeSldMarker: src/core/symbology/qgsmarkersymbollayer.h#L927
QgsFontMarkerSymbolLayer: src/core/symbology/qgsmarkersymbollayer.h#L877
QgsFontUtils.addRecentFontFamily: src/core/qgsfontutils.h#L190
QgsFontUtils.asCSS: src/core/qgsfontutils.h#L184
QgsFontUtils.createFont: src/core/qgsfontutils.h#L214
@ -6831,28 +6832,28 @@ QgsLayoutEffect.compositionMode: src/core/layout/qgslayouteffect.h#L60
QgsLayoutEffect.draw: src/core/layout/qgslayouteffect.h#L64
QgsLayoutEffect.setCompositionMode: src/core/layout/qgslayouteffect.h#L51
QgsLayoutEffect: src/core/layout/qgslayouteffect.h#L36
QgsLayoutExporter.computeWorldFileParameters: src/core/layout/qgslayoutexporter.h#L678
QgsLayoutExporter.computeWorldFileParameters: src/core/layout/qgslayoutexporter.h#L685
QgsLayoutExporter.containsAdvancedEffects: src/core/layout/qgslayoutexporter.h#L704
QgsLayoutExporter.errorFile: src/core/layout/qgslayoutexporter.h#L622
QgsLayoutExporter.errorMessage: src/core/layout/qgslayoutexporter.h#L629
QgsLayoutExporter.exportToImage: src/core/layout/qgslayoutexporter.h#L258
QgsLayoutExporter.exportToImage: src/core/layout/qgslayoutexporter.h#L271
QgsLayoutExporter.exportToPdf: src/core/layout/qgslayoutexporter.h#L420
QgsLayoutExporter.exportToPdf: src/core/layout/qgslayoutexporter.h#L433
QgsLayoutExporter.exportToPdfs: src/core/layout/qgslayoutexporter.h#L449
QgsLayoutExporter.exportToSvg: src/core/layout/qgslayoutexporter.h#L601
QgsLayoutExporter.exportToSvg: src/core/layout/qgslayoutexporter.h#L613
QgsLayoutExporter.generateFileName: src/core/layout/qgslayoutexporter.h#L713
QgsLayoutExporter.georeferenceOutput: src/core/layout/qgslayoutexporter.h#L669
QgsLayoutExporter.computeWorldFileParameters: src/core/layout/qgslayoutexporter.h#L676
QgsLayoutExporter.computeWorldFileParameters: src/core/layout/qgslayoutexporter.h#L683
QgsLayoutExporter.containsAdvancedEffects: src/core/layout/qgslayoutexporter.h#L702
QgsLayoutExporter.errorFile: src/core/layout/qgslayoutexporter.h#L620
QgsLayoutExporter.errorMessage: src/core/layout/qgslayoutexporter.h#L627
QgsLayoutExporter.exportToImage: src/core/layout/qgslayoutexporter.h#L256
QgsLayoutExporter.exportToImage: src/core/layout/qgslayoutexporter.h#L269
QgsLayoutExporter.exportToPdf: src/core/layout/qgslayoutexporter.h#L418
QgsLayoutExporter.exportToPdf: src/core/layout/qgslayoutexporter.h#L431
QgsLayoutExporter.exportToPdfs: src/core/layout/qgslayoutexporter.h#L447
QgsLayoutExporter.exportToSvg: src/core/layout/qgslayoutexporter.h#L599
QgsLayoutExporter.exportToSvg: src/core/layout/qgslayoutexporter.h#L611
QgsLayoutExporter.generateFileName: src/core/layout/qgslayoutexporter.h#L711
QgsLayoutExporter.georeferenceOutput: src/core/layout/qgslayoutexporter.h#L667
QgsLayoutExporter.layout: src/core/layout/qgslayoutexporter.h#L94
QgsLayoutExporter.print: src/core/layout/qgslayoutexporter.h#L494
QgsLayoutExporter.print: src/core/layout/qgslayoutexporter.h#L503
QgsLayoutExporter.print: src/core/layout/qgslayoutexporter.h#L492
QgsLayoutExporter.print: src/core/layout/qgslayoutexporter.h#L501
QgsLayoutExporter.renderPage: src/core/layout/qgslayoutexporter.h#L104
QgsLayoutExporter.renderPageToImage: src/core/layout/qgslayoutexporter.h#L124
QgsLayoutExporter.renderRegion: src/core/layout/qgslayoutexporter.h#L133
QgsLayoutExporter.renderRegionToImage: src/core/layout/qgslayoutexporter.h#L151
QgsLayoutExporter.requiresRasterization: src/core/layout/qgslayoutexporter.h#L695
QgsLayoutExporter.requiresRasterization: src/core/layout/qgslayoutexporter.h#L693
QgsLayoutExporter: src/core/layout/qgslayoutexporter.h#L51
QgsLayoutFrame.cleanup: src/core/layout/qgslayoutframe.h#L54
QgsLayoutFrame.create: src/core/layout/qgslayoutframe.h#L46
@ -8100,36 +8101,38 @@ QgsLayoutProxyModel.setFilterType: src/core/layout/qgslayoutmodel.h#L328
QgsLayoutProxyModel.setItemFlags: src/core/layout/qgslayoutmodel.h#L381
QgsLayoutProxyModel.sourceLayerModel: src/core/layout/qgslayoutmodel.h#L345
QgsLayoutProxyModel: src/core/layout/qgslayoutmodel.h#L304
QgsLayoutRenderContext.boundingBoxesVisible: src/core/layout/qgslayoutrendercontext.h#L166
QgsLayoutRenderContext.currentExportLayer: src/core/layout/qgslayoutrendercontext.h#L212
QgsLayoutRenderContext.dpi: src/core/layout/qgslayoutrendercontext.h#L115
QgsLayoutRenderContext.dpiChanged: src/core/layout/qgslayoutrendercontext.h#L364
QgsLayoutRenderContext.exportThemes: src/core/layout/qgslayoutrendercontext.h#L305
QgsLayoutRenderContext.featureFilterProvider: src/core/layout/qgslayoutrendercontext.h#L341
QgsLayoutRenderContext.flags: src/core/layout/qgslayoutrendercontext.h#L89
QgsLayoutRenderContext.flagsChanged: src/core/layout/qgslayoutrendercontext.h#L359
QgsLayoutRenderContext.gridVisible: src/core/layout/qgslayoutrendercontext.h#L154
QgsLayoutRenderContext.isPreviewRender: src/core/layout/qgslayoutrendercontext.h#L148
QgsLayoutRenderContext.pagesVisible: src/core/layout/qgslayoutrendercontext.h#L188
QgsLayoutRenderContext.predefinedScalesChanged: src/core/layout/qgslayoutrendercontext.h#L371
QgsLayoutRenderContext.renderContextFlags: src/core/layout/qgslayoutrendercontext.h#L102
QgsLayoutRenderContext.selectionColor: src/core/layout/qgslayoutrendercontext.h#L129
QgsLayoutRenderContext.setBoundingBoxesVisible: src/core/layout/qgslayoutrendercontext.h#L172
QgsLayoutRenderContext.setCurrentExportLayer: src/core/layout/qgslayoutrendercontext.h#L200
QgsLayoutRenderContext.setDpi: src/core/layout/qgslayoutrendercontext.h#L109
QgsLayoutRenderContext.setExportThemes: src/core/layout/qgslayoutrendercontext.h#L316
QgsLayoutRenderContext.setFeatureFilterProvider: src/core/layout/qgslayoutrendercontext.h#L351
QgsLayoutRenderContext.setFlag: src/core/layout/qgslayoutrendercontext.h#L81
QgsLayoutRenderContext.setFlags: src/core/layout/qgslayoutrendercontext.h#L72
QgsLayoutRenderContext.setGridVisible: src/core/layout/qgslayoutrendercontext.h#L160
QgsLayoutRenderContext.setMaskSettings: src/core/layout/qgslayoutrendercontext.h#L294
QgsLayoutRenderContext.setPagesVisible: src/core/layout/qgslayoutrendercontext.h#L180
QgsLayoutRenderContext.setPredefinedScales: src/core/layout/qgslayoutrendercontext.h#L324
QgsLayoutRenderContext.setSelectionColor: src/core/layout/qgslayoutrendercontext.h#L122
QgsLayoutRenderContext.setSimplifyMethod: src/core/layout/qgslayoutrendercontext.h#L253
QgsLayoutRenderContext.setTextRenderFormat: src/core/layout/qgslayoutrendercontext.h#L234
QgsLayoutRenderContext.testFlag: src/core/layout/qgslayoutrendercontext.h#L97
QgsLayoutRenderContext.textRenderFormat: src/core/layout/qgslayoutrendercontext.h#L223
QgsLayoutRenderContext.boundingBoxesVisible: src/core/layout/qgslayoutrendercontext.h#L164
QgsLayoutRenderContext.currentExportLayer: src/core/layout/qgslayoutrendercontext.h#L210
QgsLayoutRenderContext.dpi: src/core/layout/qgslayoutrendercontext.h#L113
QgsLayoutRenderContext.dpiChanged: src/core/layout/qgslayoutrendercontext.h#L362
QgsLayoutRenderContext.exportThemes: src/core/layout/qgslayoutrendercontext.h#L303
QgsLayoutRenderContext.featureFilterProvider: src/core/layout/qgslayoutrendercontext.h#L339
QgsLayoutRenderContext.flags: src/core/layout/qgslayoutrendercontext.h#L71
QgsLayoutRenderContext.flagsChanged: src/core/layout/qgslayoutrendercontext.h#L357
QgsLayoutRenderContext.gridVisible: src/core/layout/qgslayoutrendercontext.h#L152
QgsLayoutRenderContext.isPreviewRender: src/core/layout/qgslayoutrendercontext.h#L146
QgsLayoutRenderContext.pagesVisible: src/core/layout/qgslayoutrendercontext.h#L186
QgsLayoutRenderContext.predefinedScalesChanged: src/core/layout/qgslayoutrendercontext.h#L369
QgsLayoutRenderContext.rasterizedRenderingPolicy: src/core/layout/qgslayoutrendercontext.h#L92
QgsLayoutRenderContext.renderContextFlags: src/core/layout/qgslayoutrendercontext.h#L84
QgsLayoutRenderContext.selectionColor: src/core/layout/qgslayoutrendercontext.h#L127
QgsLayoutRenderContext.setBoundingBoxesVisible: src/core/layout/qgslayoutrendercontext.h#L170
QgsLayoutRenderContext.setCurrentExportLayer: src/core/layout/qgslayoutrendercontext.h#L198
QgsLayoutRenderContext.setDpi: src/core/layout/qgslayoutrendercontext.h#L107
QgsLayoutRenderContext.setExportThemes: src/core/layout/qgslayoutrendercontext.h#L314
QgsLayoutRenderContext.setFeatureFilterProvider: src/core/layout/qgslayoutrendercontext.h#L349
QgsLayoutRenderContext.setFlag: src/core/layout/qgslayoutrendercontext.h#L63
QgsLayoutRenderContext.setFlags: src/core/layout/qgslayoutrendercontext.h#L54
QgsLayoutRenderContext.setGridVisible: src/core/layout/qgslayoutrendercontext.h#L158
QgsLayoutRenderContext.setMaskSettings: src/core/layout/qgslayoutrendercontext.h#L292
QgsLayoutRenderContext.setPagesVisible: src/core/layout/qgslayoutrendercontext.h#L178
QgsLayoutRenderContext.setPredefinedScales: src/core/layout/qgslayoutrendercontext.h#L322
QgsLayoutRenderContext.setRasterizedRenderingPolicy: src/core/layout/qgslayoutrendercontext.h#L100
QgsLayoutRenderContext.setSelectionColor: src/core/layout/qgslayoutrendercontext.h#L120
QgsLayoutRenderContext.setSimplifyMethod: src/core/layout/qgslayoutrendercontext.h#L251
QgsLayoutRenderContext.setTextRenderFormat: src/core/layout/qgslayoutrendercontext.h#L232
QgsLayoutRenderContext.testFlag: src/core/layout/qgslayoutrendercontext.h#L79
QgsLayoutRenderContext.textRenderFormat: src/core/layout/qgslayoutrendercontext.h#L221
QgsLayoutRenderContext: src/core/layout/qgslayoutrendercontext.h#L36
QgsLayoutReportContext.changed: src/core/layout/qgslayoutreportcontext.h#L115
QgsLayoutReportContext.currentGeometry: src/core/layout/qgslayoutreportcontext.h#L72
@ -9495,6 +9498,7 @@ QgsMapSettings.outputDpi: src/core/qgsmapsettings.h#L199
QgsMapSettings.outputExtentToLayerExtent: src/core/qgsmapsettings.h#L561
QgsMapSettings.outputImageFormat: src/core/qgsmapsettings.h#L464
QgsMapSettings.outputSize: src/core/qgsmapsettings.h#L141
QgsMapSettings.rasterizedRenderingPolicy: src/core/qgsmapsettings.h#L934
QgsMapSettings.readXml: src/core/qgsmapsettings.h#L639
QgsMapSettings.rendererUsage: src/core/qgsmapsettings.h#L859
QgsMapSettings.rotation: src/core/qgsmapsettings.h#L184
@ -9530,6 +9534,7 @@ QgsMapSettings.setOutputDpi: src/core/qgsmapsettings.h#L206
QgsMapSettings.setOutputImageFormat: src/core/qgsmapsettings.h#L462
QgsMapSettings.setOutputSize: src/core/qgsmapsettings.h#L148
QgsMapSettings.setPathResolver: src/core/qgsmapsettings.h#L538
QgsMapSettings.setRasterizedRenderingPolicy: src/core/qgsmapsettings.h#L942
QgsMapSettings.setRendererUsage: src/core/qgsmapsettings.h#L870
QgsMapSettings.setRotation: src/core/qgsmapsettings.h#L190
QgsMapSettings.setScaleMethod: src/core/qgsmapsettings.h#L378
@ -9543,7 +9548,7 @@ QgsMapSettings.setZRange: src/core/qgsmapsettings.h#L851
QgsMapSettings.testFlag: src/core/qgsmapsettings.h#L431
QgsMapSettings.textRenderFormat: src/core/qgsmapsettings.h#L442
QgsMapSettings.transformContext: src/core/qgsmapsettings.h#L513
QgsMapSettings.updateDerived: src/core/qgsmapsettings.h#L1000
QgsMapSettings.updateDerived: src/core/qgsmapsettings.h#L1016
QgsMapSettings.visibleExtent: src/core/qgsmapsettings.h#L469
QgsMapSettings.visiblePolygon: src/core/qgsmapsettings.h#L474
QgsMapSettings.visiblePolygonWithBuffer: src/core/qgsmapsettings.h#L481
@ -14730,31 +14735,34 @@ QgsRasterLineSymbolLayer.startRender: src/core/symbology/qgslinesymbollayer.h#L1
QgsRasterLineSymbolLayer.stopRender: src/core/symbology/qgslinesymbollayer.h#L1257
QgsRasterLineSymbolLayer.usesMapUnits: src/core/symbology/qgslinesymbollayer.h#L1263
QgsRasterLineSymbolLayer: src/core/symbology/qgslinesymbollayer.h#L1205
QgsRasterMarkerSymbolLayer.bounds: src/core/symbology/qgsmarkersymbollayer.h#L808
QgsRasterMarkerSymbolLayer.calculateAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L732
QgsRasterMarkerSymbolLayer.clone: src/core/symbology/qgsmarkersymbollayer.h#L722
QgsRasterMarkerSymbolLayer.color: src/core/symbology/qgsmarkersymbollayer.h#L724
QgsRasterMarkerSymbolLayer.copyCommonProperties: src/core/symbology/qgsmarkersymbollayer.h#L824
QgsRasterMarkerSymbolLayer.bounds: src/core/symbology/qgsmarkersymbollayer.h#L819
QgsRasterMarkerSymbolLayer.calculateAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L743
QgsRasterMarkerSymbolLayer.clone: src/core/symbology/qgsmarkersymbollayer.h#L731
QgsRasterMarkerSymbolLayer.color: src/core/symbology/qgsmarkersymbollayer.h#L733
QgsRasterMarkerSymbolLayer.copyCommonProperties: src/core/symbology/qgsmarkersymbollayer.h#L835
QgsRasterMarkerSymbolLayer.create: src/core/symbology/qgsmarkersymbollayer.h#L708
QgsRasterMarkerSymbolLayer.defaultAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L765
QgsRasterMarkerSymbolLayer.fixedAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L794
QgsRasterMarkerSymbolLayer.flags: src/core/symbology/qgsmarkersymbollayer.h#L719
QgsRasterMarkerSymbolLayer.layerType: src/core/symbology/qgsmarkersymbollayer.h#L718
QgsRasterMarkerSymbolLayer.mapUnitScale: src/core/symbology/qgsmarkersymbollayer.h#L806
QgsRasterMarkerSymbolLayer.opacity: src/core/symbology/qgsmarkersymbollayer.h#L752
QgsRasterMarkerSymbolLayer.path: src/core/symbology/qgsmarkersymbollayer.h#L738
QgsRasterMarkerSymbolLayer.preservedAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L778
QgsRasterMarkerSymbolLayer.properties: src/core/symbology/qgsmarkersymbollayer.h#L721
QgsRasterMarkerSymbolLayer.renderPoint: src/core/symbology/qgsmarkersymbollayer.h#L720
QgsRasterMarkerSymbolLayer.resolvePaths: src/core/symbology/qgsmarkersymbollayer.h#L714
QgsRasterMarkerSymbolLayer.setCommonProperties: src/core/symbology/qgsmarkersymbollayer.h#L817
QgsRasterMarkerSymbolLayer.setFixedAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L803
QgsRasterMarkerSymbolLayer.setMapUnitScale: src/core/symbology/qgsmarkersymbollayer.h#L805
QgsRasterMarkerSymbolLayer.setOpacity: src/core/symbology/qgsmarkersymbollayer.h#L759
QgsRasterMarkerSymbolLayer.setPath: src/core/symbology/qgsmarkersymbollayer.h#L745
QgsRasterMarkerSymbolLayer.setPreservedAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L786
QgsRasterMarkerSymbolLayer.updateDefaultAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L772
QgsRasterMarkerSymbolLayer.usesMapUnits: src/core/symbology/qgsmarkersymbollayer.h#L723
QgsRasterMarkerSymbolLayer.createFromSld: src/core/symbology/qgsmarkersymbollayer.h#L717
QgsRasterMarkerSymbolLayer.defaultAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L776
QgsRasterMarkerSymbolLayer.fixedAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L805
QgsRasterMarkerSymbolLayer.flags: src/core/symbology/qgsmarkersymbollayer.h#L728
QgsRasterMarkerSymbolLayer.layerType: src/core/symbology/qgsmarkersymbollayer.h#L727
QgsRasterMarkerSymbolLayer.mapUnitScale: src/core/symbology/qgsmarkersymbollayer.h#L817
QgsRasterMarkerSymbolLayer.opacity: src/core/symbology/qgsmarkersymbollayer.h#L763
QgsRasterMarkerSymbolLayer.path: src/core/symbology/qgsmarkersymbollayer.h#L749
QgsRasterMarkerSymbolLayer.preservedAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L789
QgsRasterMarkerSymbolLayer.properties: src/core/symbology/qgsmarkersymbollayer.h#L730
QgsRasterMarkerSymbolLayer.renderPoint: src/core/symbology/qgsmarkersymbollayer.h#L729
QgsRasterMarkerSymbolLayer.resolvePaths: src/core/symbology/qgsmarkersymbollayer.h#L723
QgsRasterMarkerSymbolLayer.setCommonProperties: src/core/symbology/qgsmarkersymbollayer.h#L828
QgsRasterMarkerSymbolLayer.setFixedAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L814
QgsRasterMarkerSymbolLayer.setMapUnitScale: src/core/symbology/qgsmarkersymbollayer.h#L816
QgsRasterMarkerSymbolLayer.setOpacity: src/core/symbology/qgsmarkersymbollayer.h#L770
QgsRasterMarkerSymbolLayer.setPath: src/core/symbology/qgsmarkersymbollayer.h#L756
QgsRasterMarkerSymbolLayer.setPreservedAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L797
QgsRasterMarkerSymbolLayer.updateDefaultAspectRatio: src/core/symbology/qgsmarkersymbollayer.h#L783
QgsRasterMarkerSymbolLayer.usesMapUnits: src/core/symbology/qgsmarkersymbollayer.h#L732
QgsRasterMarkerSymbolLayer.writeSldMarker: src/core/symbology/qgsmarkersymbollayer.h#L734
QgsRasterMarkerSymbolLayer.writeSldMarker: src/core/symbology/qgsmarkersymbollayer.h#L735
QgsRasterMarkerSymbolLayer: src/core/symbology/qgsmarkersymbollayer.h#L691
QgsRasterMinMaxOrigin.cumulativeCutLower: src/core/raster/qgsrasterminmaxorigin.h#L64
QgsRasterMinMaxOrigin.cumulativeCutUpper: src/core/raster/qgsrasterminmaxorigin.h#L67
@ -15199,110 +15207,112 @@ QgsRenderChecker.shouldGenerateReport: src/core/qgsrenderchecker.h#L65
QgsRenderChecker.sourcePath: src/core/qgsrenderchecker.h#L297
QgsRenderChecker.testReportDir: src/core/qgsrenderchecker.h#L57
QgsRenderChecker: src/core/qgsrenderchecker.h#L41
QgsRenderContext.addSymbolLayerClipGeometry: src/core/qgsrendercontext.h#L1028
QgsRenderContext.addSymbolLayerClipPath: src/core/qgsrendercontext.h#L1012
QgsRenderContext.clearCustomProperty: src/core/qgsrendercontext.h#L923
QgsRenderContext.clearCustomRenderingFlag: src/core/qgsrendercontext.h#L915
QgsRenderContext.convertFromMapUnits: src/core/qgsrendercontext.h#L773
QgsRenderContext.convertFromPainterUnits: src/core/qgsrendercontext.h#L760
QgsRenderContext.convertMetersToMapUnits: src/core/qgsrendercontext.h#L779
QgsRenderContext.convertToMapUnits: src/core/qgsrendercontext.h#L767
QgsRenderContext.convertToPainterUnits: src/core/qgsrendercontext.h#L751
QgsRenderContext.addSymbolLayerClipGeometry: src/core/qgsrendercontext.h#L1032
QgsRenderContext.addSymbolLayerClipPath: src/core/qgsrendercontext.h#L1016
QgsRenderContext.clearCustomProperty: src/core/qgsrendercontext.h#L927
QgsRenderContext.clearCustomRenderingFlag: src/core/qgsrendercontext.h#L919
QgsRenderContext.convertFromMapUnits: src/core/qgsrendercontext.h#L777
QgsRenderContext.convertFromPainterUnits: src/core/qgsrendercontext.h#L764
QgsRenderContext.convertMetersToMapUnits: src/core/qgsrendercontext.h#L783
QgsRenderContext.convertToMapUnits: src/core/qgsrendercontext.h#L771
QgsRenderContext.convertToPainterUnits: src/core/qgsrendercontext.h#L755
QgsRenderContext.coordinateTransform: src/core/qgsrendercontext.h#L234
QgsRenderContext.currentMaskId: src/core/qgsrendercontext.h#L847
QgsRenderContext.customProperties: src/core/qgsrendercontext.h#L888
QgsRenderContext.customRenderingFlags: src/core/qgsrendercontext.h#L878
QgsRenderContext.deviceOutputSize: src/core/qgsrendercontext.h#L1112
QgsRenderContext.devicePixelRatio: src/core/qgsrendercontext.h#L1089
QgsRenderContext.currentMaskId: src/core/qgsrendercontext.h#L851
QgsRenderContext.customProperties: src/core/qgsrendercontext.h#L892
QgsRenderContext.customRenderingFlags: src/core/qgsrendercontext.h#L882
QgsRenderContext.deviceOutputSize: src/core/qgsrendercontext.h#L1116
QgsRenderContext.devicePixelRatio: src/core/qgsrendercontext.h#L1093
QgsRenderContext.dpiTarget: src/core/qgsrendercontext.h#L325
QgsRenderContext.drawEditingInformation: src/core/qgsrendercontext.h#L388
QgsRenderContext.elevationMap: src/core/qgsrendercontext.h#L1198
QgsRenderContext.featureClipGeometry: src/core/qgsrendercontext.h#L948
QgsRenderContext.featureFilterProvider: src/core/qgsrendercontext.h#L708
QgsRenderContext.drawEditingInformation: src/core/qgsrendercontext.h#L391
QgsRenderContext.elevationMap: src/core/qgsrendercontext.h#L1218
QgsRenderContext.featureClipGeometry: src/core/qgsrendercontext.h#L952
QgsRenderContext.featureFilterProvider: src/core/qgsrendercontext.h#L712
QgsRenderContext.feedback: src/core/qgsrendercontext.h#L359
QgsRenderContext.flags: src/core/qgsrendercontext.h#L83
QgsRenderContext.forceVectorOutput: src/core/qgsrendercontext.h#L367
QgsRenderContext.frameRate: src/core/qgsrendercontext.h#L1159
QgsRenderContext.forceVectorOutput: src/core/qgsrendercontext.h#L368
QgsRenderContext.frameRate: src/core/qgsrendercontext.h#L1179
QgsRenderContext.fromMapSettings: src/core/qgsrendercontext.h#L93
QgsRenderContext.fromQPainter: src/core/qgsrendercontext.h#L100
QgsRenderContext.geometry: src/core/qgsrendercontext.h#L692
QgsRenderContext.hasRenderedFeatureHandlers: src/core/qgsrendercontext.h#L815
QgsRenderContext.imageFormat: src/core/qgsrendercontext.h#L1130
QgsRenderContext.isGuiPreview: src/core/qgsrendercontext.h#L870
QgsRenderContext.geometry: src/core/qgsrendercontext.h#L696
QgsRenderContext.hasRenderedFeatureHandlers: src/core/qgsrendercontext.h#L819
QgsRenderContext.imageFormat: src/core/qgsrendercontext.h#L1134
QgsRenderContext.isGuiPreview: src/core/qgsrendercontext.h#L874
QgsRenderContext.isSymbolLayerEnabled: src/core/qgsrendercontext.h#L222
QgsRenderContext.mapExtent: src/core/qgsrendercontext.h#L302
QgsRenderContext.maskIdProvider: src/core/qgsrendercontext.h#L832
QgsRenderContext.maskIdProvider: src/core/qgsrendercontext.h#L836
QgsRenderContext.maskPainter: src/core/qgsrendercontext.h#L163
QgsRenderContext.outputSize: src/core/qgsrendercontext.h#L1071
QgsRenderContext.outputSize: src/core/qgsrendercontext.h#L1075
QgsRenderContext.painter: src/core/qgsrendercontext.h#L108
QgsRenderContext.previewRenderPainter: src/core/qgsrendercontext.h#L128
QgsRenderContext.rendererScale: src/core/qgsrendercontext.h#L395
QgsRenderContext.rendererUsage: src/core/qgsrendercontext.h#L1138
QgsRenderContext.rasterizedRenderingPolicy: src/core/qgsrendercontext.h#L1142
QgsRenderContext.rendererScale: src/core/qgsrendercontext.h#L398
QgsRenderContext.rendererUsage: src/core/qgsrendercontext.h#L1158
QgsRenderContext.renderingStopped: src/core/qgsrendercontext.h#L336
QgsRenderContext.scaleFactor: src/core/qgsrendercontext.h#L317
QgsRenderContext.segmentationTolerance: src/core/qgsrendercontext.h#L722
QgsRenderContext.segmentationToleranceType: src/core/qgsrendercontext.h#L736
QgsRenderContext.selectionColor: src/core/qgsrendercontext.h#L433
QgsRenderContext.setCoordinateTransform: src/core/qgsrendercontext.h#L456
QgsRenderContext.setCurrentFrame: src/core/qgsrendercontext.h#L1189
QgsRenderContext.setCurrentMaskId: src/core/qgsrendercontext.h#L839
QgsRenderContext.setCustomProperty: src/core/qgsrendercontext.h#L907
QgsRenderContext.setCustomRenderingFlag: src/core/qgsrendercontext.h#L897
QgsRenderContext.setDevicePixelRatio: src/core/qgsrendercontext.h#L1099
QgsRenderContext.segmentationTolerance: src/core/qgsrendercontext.h#L726
QgsRenderContext.segmentationToleranceType: src/core/qgsrendercontext.h#L740
QgsRenderContext.selectionColor: src/core/qgsrendercontext.h#L436
QgsRenderContext.setCoordinateTransform: src/core/qgsrendercontext.h#L459
QgsRenderContext.setCurrentFrame: src/core/qgsrendercontext.h#L1209
QgsRenderContext.setCurrentMaskId: src/core/qgsrendercontext.h#L843
QgsRenderContext.setCustomProperty: src/core/qgsrendercontext.h#L911
QgsRenderContext.setCustomRenderingFlag: src/core/qgsrendercontext.h#L901
QgsRenderContext.setDevicePixelRatio: src/core/qgsrendercontext.h#L1103
QgsRenderContext.setDisabledSymbolLayers: src/core/qgsrendercontext.h#L177
QgsRenderContext.setDisabledSymbolLayersV2: src/core/qgsrendercontext.h#L188
QgsRenderContext.setDistanceArea: src/core/qgsrendercontext.h#L514
QgsRenderContext.setDpiTarget: src/core/qgsrendercontext.h#L530
QgsRenderContext.setDrawEditingInformation: src/core/qgsrendercontext.h#L496
QgsRenderContext.setElevationMap: src/core/qgsrendercontext.h#L1208
QgsRenderContext.setExpressionContext: src/core/qgsrendercontext.h#L674
QgsRenderContext.setExtent: src/core/qgsrendercontext.h#L477
QgsRenderContext.setFeatureClipGeometry: src/core/qgsrendercontext.h#L959
QgsRenderContext.setFeatureFilterProvider: src/core/qgsrendercontext.h#L701
QgsRenderContext.setDistanceArea: src/core/qgsrendercontext.h#L517
QgsRenderContext.setDpiTarget: src/core/qgsrendercontext.h#L533
QgsRenderContext.setDrawEditingInformation: src/core/qgsrendercontext.h#L499
QgsRenderContext.setElevationMap: src/core/qgsrendercontext.h#L1228
QgsRenderContext.setExpressionContext: src/core/qgsrendercontext.h#L678
QgsRenderContext.setExtent: src/core/qgsrendercontext.h#L480
QgsRenderContext.setFeatureClipGeometry: src/core/qgsrendercontext.h#L963
QgsRenderContext.setFeatureFilterProvider: src/core/qgsrendercontext.h#L705
QgsRenderContext.setFeedback: src/core/qgsrendercontext.h#L349
QgsRenderContext.setFlag: src/core/qgsrendercontext.h#L78
QgsRenderContext.setFlags: src/core/qgsrendercontext.h#L73
QgsRenderContext.setForceVectorOutput: src/core/qgsrendercontext.h#L591
QgsRenderContext.setFrameRate: src/core/qgsrendercontext.h#L1169
QgsRenderContext.setGeometry: src/core/qgsrendercontext.h#L694
QgsRenderContext.setImageFormat: src/core/qgsrendercontext.h#L1121
QgsRenderContext.setIsGuiPreview: src/core/qgsrendercontext.h#L858
QgsRenderContext.setMapExtent: src/core/qgsrendercontext.h#L489
QgsRenderContext.setMapToPixel: src/core/qgsrendercontext.h#L463
QgsRenderContext.setMaskIdProvider: src/core/qgsrendercontext.h#L825
QgsRenderContext.setMaskPainter: src/core/qgsrendercontext.h#L583
QgsRenderContext.setMaskSettings: src/core/qgsrendercontext.h#L1004
QgsRenderContext.setOutputSize: src/core/qgsrendercontext.h#L1079
QgsRenderContext.setPainter: src/core/qgsrendercontext.h#L562
QgsRenderContext.setForceVectorOutput: src/core/qgsrendercontext.h#L595
QgsRenderContext.setFrameRate: src/core/qgsrendercontext.h#L1189
QgsRenderContext.setGeometry: src/core/qgsrendercontext.h#L698
QgsRenderContext.setImageFormat: src/core/qgsrendercontext.h#L1125
QgsRenderContext.setIsGuiPreview: src/core/qgsrendercontext.h#L862
QgsRenderContext.setMapExtent: src/core/qgsrendercontext.h#L492
QgsRenderContext.setMapToPixel: src/core/qgsrendercontext.h#L466
QgsRenderContext.setMaskIdProvider: src/core/qgsrendercontext.h#L829
QgsRenderContext.setMaskPainter: src/core/qgsrendercontext.h#L586
QgsRenderContext.setMaskSettings: src/core/qgsrendercontext.h#L1008
QgsRenderContext.setOutputSize: src/core/qgsrendercontext.h#L1083
QgsRenderContext.setPainter: src/core/qgsrendercontext.h#L565
QgsRenderContext.setPainterFlagsUsingContext: src/core/qgsrendercontext.h#L152
QgsRenderContext.setPathResolver: src/core/qgsrendercontext.h#L273
QgsRenderContext.setPreviewRenderPainter: src/core/qgsrendercontext.h#L574
QgsRenderContext.setRendererScale: src/core/qgsrendercontext.h#L537
QgsRenderContext.setRendererUsage: src/core/qgsrendercontext.h#L1149
QgsRenderContext.setRenderingStopped: src/core/qgsrendercontext.h#L508
QgsRenderContext.setScaleFactor: src/core/qgsrendercontext.h#L522
QgsRenderContext.setSegmentationTolerance: src/core/qgsrendercontext.h#L716
QgsRenderContext.setSegmentationToleranceType: src/core/qgsrendercontext.h#L730
QgsRenderContext.setSelectionColor: src/core/qgsrendercontext.h#L612
QgsRenderContext.setShowSelection: src/core/qgsrendercontext.h#L621
QgsRenderContext.setSymbologyReferenceScale: src/core/qgsrendercontext.h#L554
QgsRenderContext.setTextRenderFormat: src/core/qgsrendercontext.h#L801
QgsRenderContext.setTextureOrigin: src/core/qgsrendercontext.h#L977
QgsRenderContext.setPreviewRenderPainter: src/core/qgsrendercontext.h#L577
QgsRenderContext.setRasterizedRenderingPolicy: src/core/qgsrendercontext.h#L1150
QgsRenderContext.setRendererScale: src/core/qgsrendercontext.h#L540
QgsRenderContext.setRendererUsage: src/core/qgsrendercontext.h#L1169
QgsRenderContext.setRenderingStopped: src/core/qgsrendercontext.h#L511
QgsRenderContext.setScaleFactor: src/core/qgsrendercontext.h#L525
QgsRenderContext.setSegmentationTolerance: src/core/qgsrendercontext.h#L720
QgsRenderContext.setSegmentationToleranceType: src/core/qgsrendercontext.h#L734
QgsRenderContext.setSelectionColor: src/core/qgsrendercontext.h#L616
QgsRenderContext.setShowSelection: src/core/qgsrendercontext.h#L625
QgsRenderContext.setSymbologyReferenceScale: src/core/qgsrendercontext.h#L557
QgsRenderContext.setTextRenderFormat: src/core/qgsrendercontext.h#L805
QgsRenderContext.setTextureOrigin: src/core/qgsrendercontext.h#L981
QgsRenderContext.setTransformContext: src/core/qgsrendercontext.h#L257
QgsRenderContext.setUseAdvancedEffects: src/core/qgsrendercontext.h#L381
QgsRenderContext.setUseRenderingOptimization: src/core/qgsrendercontext.h#L635
QgsRenderContext.setVectorSimplifyMethod: src/core/qgsrendercontext.h#L667
QgsRenderContext.setZRange: src/core/qgsrendercontext.h#L1061
QgsRenderContext.showSelection: src/core/qgsrendercontext.h#L442
QgsRenderContext.symbolLayerHasClipGeometries: src/core/qgsrendercontext.h#L1036
QgsRenderContext.symbologyReferenceScale: src/core/qgsrendercontext.h#L413
QgsRenderContext.setUseAdvancedEffects: src/core/qgsrendercontext.h#L384
QgsRenderContext.setUseRenderingOptimization: src/core/qgsrendercontext.h#L639
QgsRenderContext.setVectorSimplifyMethod: src/core/qgsrendercontext.h#L671
QgsRenderContext.setZRange: src/core/qgsrendercontext.h#L1065
QgsRenderContext.showSelection: src/core/qgsrendercontext.h#L445
QgsRenderContext.symbolLayerHasClipGeometries: src/core/qgsrendercontext.h#L1040
QgsRenderContext.symbologyReferenceScale: src/core/qgsrendercontext.h#L416
QgsRenderContext.testFlag: src/core/qgsrendercontext.h#L88
QgsRenderContext.textRenderFormat: src/core/qgsrendercontext.h#L790
QgsRenderContext.textureOrigin: src/core/qgsrendercontext.h#L968
QgsRenderContext.textRenderFormat: src/core/qgsrendercontext.h#L794
QgsRenderContext.textureOrigin: src/core/qgsrendercontext.h#L972
QgsRenderContext.transformContext: src/core/qgsrendercontext.h#L248
QgsRenderContext.useAdvancedEffects: src/core/qgsrendercontext.h#L374
QgsRenderContext.useRenderingOptimization: src/core/qgsrendercontext.h#L628
QgsRenderContext.zRange: src/core/qgsrendercontext.h#L1053
QgsRenderContext.useAdvancedEffects: src/core/qgsrendercontext.h#L376
QgsRenderContext.useRenderingOptimization: src/core/qgsrendercontext.h#L632
QgsRenderContext.zRange: src/core/qgsrendercontext.h#L1057
QgsRenderContext: src/core/qgsrendercontext.h#L61
QgsRenderedAnnotationItemDetails.__repr__: src/core/annotations/qgsrenderedannotationitemdetails.h#L39
QgsRenderedAnnotationItemDetails.itemId: src/core/annotations/qgsrenderedannotationitemdetails.h#L49
@ -17287,39 +17297,39 @@ QgsSymbolLayerRegistry.resolvePaths: src/core/symbology/qgssymbollayerregistry.h
QgsSymbolLayerRegistry.symbolLayerMetadata: src/core/symbology/qgssymbollayerregistry.h#L193
QgsSymbolLayerRegistry.symbolLayersForType: src/core/symbology/qgssymbollayerregistry.h#L228
QgsSymbolLayerRegistry: src/core/symbology/qgssymbollayerregistry.h#L182
QgsSymbolLayerUtils.appendPolyline: src/core/symbology/qgssymbollayerutils.h#L959
QgsSymbolLayerUtils.applyScaleDependency: src/core/symbology/qgssymbollayerutils.h#L1005
QgsSymbolLayerUtils.blurImageInPlace: src/core/symbology/qgssymbollayerutils.h#L849
QgsSymbolLayerUtils.clearSymbolLayerIds: src/core/symbology/qgssymbollayerutils.h#L1091
QgsSymbolLayerUtils.clearSymbolLayerIds: src/core/symbology/qgssymbollayerutils.h#L1097
QgsSymbolLayerUtils.clearSymbolLayerMasks: src/core/symbology/qgssymbollayerutils.h#L1115
QgsSymbolLayerUtils.clearSymbolMap: src/core/symbology/qgssymbollayerutils.h#L706
QgsSymbolLayerUtils.colorFromMimeData: src/core/symbology/qgssymbollayerutils.h#L787
QgsSymbolLayerUtils.colorListFromMimeData: src/core/symbology/qgssymbollayerutils.h#L794
QgsSymbolLayerUtils.colorListToMimeData: src/core/symbology/qgssymbollayerutils.h#L802
QgsSymbolLayerUtils.appendPolyline: src/core/symbology/qgssymbollayerutils.h#L975
QgsSymbolLayerUtils.applyScaleDependency: src/core/symbology/qgssymbollayerutils.h#L1021
QgsSymbolLayerUtils.blurImageInPlace: src/core/symbology/qgssymbollayerutils.h#L865
QgsSymbolLayerUtils.clearSymbolLayerIds: src/core/symbology/qgssymbollayerutils.h#L1107
QgsSymbolLayerUtils.clearSymbolLayerIds: src/core/symbology/qgssymbollayerutils.h#L1113
QgsSymbolLayerUtils.clearSymbolLayerMasks: src/core/symbology/qgssymbollayerutils.h#L1131
QgsSymbolLayerUtils.clearSymbolMap: src/core/symbology/qgssymbollayerutils.h#L722
QgsSymbolLayerUtils.colorFromMimeData: src/core/symbology/qgssymbollayerutils.h#L803
QgsSymbolLayerUtils.colorListFromMimeData: src/core/symbology/qgssymbollayerutils.h#L810
QgsSymbolLayerUtils.colorListToMimeData: src/core/symbology/qgssymbollayerutils.h#L818
QgsSymbolLayerUtils.colorRampPreviewIcon: src/core/symbology/qgssymbollayerutils.h#L359
QgsSymbolLayerUtils.colorRampPreviewPixmap: src/core/symbology/qgssymbollayerutils.h#L373
QgsSymbolLayerUtils.colorRampToVariant: src/core/symbology/qgssymbollayerutils.h#L747
QgsSymbolLayerUtils.colorToMimeData: src/core/symbology/qgssymbollayerutils.h#L778
QgsSymbolLayerUtils.colorToName: src/core/symbology/qgssymbollayerutils.h#L762
QgsSymbolLayerUtils.condenseFillAndOutline: src/core/symbology/qgssymbollayerutils.h#L868
QgsSymbolLayerUtils.colorRampToVariant: src/core/symbology/qgssymbollayerutils.h#L763
QgsSymbolLayerUtils.colorToMimeData: src/core/symbology/qgssymbollayerutils.h#L794
QgsSymbolLayerUtils.colorToName: src/core/symbology/qgssymbollayerutils.h#L778
QgsSymbolLayerUtils.condenseFillAndOutline: src/core/symbology/qgssymbollayerutils.h#L884
QgsSymbolLayerUtils.convertPolygonSymbolizerToPointMarker: src/core/symbology/qgssymbollayerutils.h#L455
QgsSymbolLayerUtils.createAnchorPointElement: src/core/symbology/qgssymbollayerutils.h#L638
QgsSymbolLayerUtils.createDisplacementElement: src/core/symbology/qgssymbollayerutils.h#L629
QgsSymbolLayerUtils.createExpressionElement: src/core/symbology/qgssymbollayerutils.h#L664
QgsSymbolLayerUtils.createExpressionElement: src/core/symbology/qgssymbollayerutils.h#L674
QgsSymbolLayerUtils.createFunctionElement: src/core/symbology/qgssymbollayerutils.h#L680
QgsSymbolLayerUtils.createFunctionElement: src/core/symbology/qgssymbollayerutils.h#L686
QgsSymbolLayerUtils.createGeometryElement: src/core/symbology/qgssymbollayerutils.h#L647
QgsSymbolLayerUtils.createGeometryElement: src/core/symbology/qgssymbollayerutils.h#L653
QgsSymbolLayerUtils.createOnlineResourceElement: src/core/symbology/qgssymbollayerutils.h#L640
QgsSymbolLayerUtils.createOpacityElement: src/core/symbology/qgssymbollayerutils.h#L619
QgsSymbolLayerUtils.createOpacityElement: src/core/symbology/qgssymbollayerutils.h#L625
QgsSymbolLayerUtils.createRotationElement: src/core/symbology/qgssymbollayerutils.h#L605
QgsSymbolLayerUtils.createRotationElement: src/core/symbology/qgssymbollayerutils.h#L611
QgsSymbolLayerUtils.createSvgParameterElement: src/core/symbology/qgssymbollayerutils.h#L690
QgsSymbolLayerUtils.createAnchorPointElement: src/core/symbology/qgssymbollayerutils.h#L654
QgsSymbolLayerUtils.createDisplacementElement: src/core/symbology/qgssymbollayerutils.h#L645
QgsSymbolLayerUtils.createExpressionElement: src/core/symbology/qgssymbollayerutils.h#L680
QgsSymbolLayerUtils.createExpressionElement: src/core/symbology/qgssymbollayerutils.h#L690
QgsSymbolLayerUtils.createFunctionElement: src/core/symbology/qgssymbollayerutils.h#L696
QgsSymbolLayerUtils.createFunctionElement: src/core/symbology/qgssymbollayerutils.h#L702
QgsSymbolLayerUtils.createGeometryElement: src/core/symbology/qgssymbollayerutils.h#L663
QgsSymbolLayerUtils.createGeometryElement: src/core/symbology/qgssymbollayerutils.h#L669
QgsSymbolLayerUtils.createOnlineResourceElement: src/core/symbology/qgssymbollayerutils.h#L656
QgsSymbolLayerUtils.createOpacityElement: src/core/symbology/qgssymbollayerutils.h#L635
QgsSymbolLayerUtils.createOpacityElement: src/core/symbology/qgssymbollayerutils.h#L641
QgsSymbolLayerUtils.createRotationElement: src/core/symbology/qgssymbollayerutils.h#L621
QgsSymbolLayerUtils.createRotationElement: src/core/symbology/qgssymbollayerutils.h#L627
QgsSymbolLayerUtils.createSvgParameterElement: src/core/symbology/qgssymbollayerutils.h#L706
QgsSymbolLayerUtils.createSymbolLayerListFromSld: src/core/symbology/qgssymbollayerutils.h#L435
QgsSymbolLayerUtils.createVendorOptionElement: src/core/symbology/qgssymbollayerutils.h#L693
QgsSymbolLayerUtils.createVendorOptionElement: src/core/symbology/qgssymbollayerutils.h#L709
QgsSymbolLayerUtils.decodeArrowHeadType: src/core/symbology/qgssymbollayerutils.h#L143
QgsSymbolLayerUtils.decodeArrowType: src/core/symbology/qgssymbollayerutils.h#L149
QgsSymbolLayerUtils.decodeBlendMode: src/core/symbology/qgssymbollayerutils.h#L296
@ -17342,7 +17352,7 @@ QgsSymbolLayerUtils.decodeSldFontWeight: src/core/symbology/qgssymbollayerutils.
QgsSymbolLayerUtils.decodeSldLineCapStyle: src/core/symbology/qgssymbollayerutils.h#L89
QgsSymbolLayerUtils.decodeSldLineJoinStyle: src/core/symbology/qgssymbollayerutils.h#L86
QgsSymbolLayerUtils.decodeSldUom: src/core/symbology/qgssymbollayerutils.h#L272
QgsSymbolLayerUtils.displacementFromSldElement: src/core/symbology/qgssymbollayerutils.h#L630
QgsSymbolLayerUtils.displacementFromSldElement: src/core/symbology/qgssymbollayerutils.h#L646
QgsSymbolLayerUtils.drawStippledBackground: src/core/symbology/qgssymbollayerutils.h#L376
QgsSymbolLayerUtils.drawVertexMarker: src/core/symbology/qgssymbollayerutils.h#L382
QgsSymbolLayerUtils.encodeBrushStyle: src/core/symbology/qgssymbollayerutils.h#L91
@ -17367,90 +17377,91 @@ QgsSymbolLayerUtils.encodeSldLineJoinStyle: src/core/symbology/qgssymbollayeruti
QgsSymbolLayerUtils.encodeSldRealVector: src/core/symbology/qgssymbollayerutils.h#L253
QgsSymbolLayerUtils.encodeSldUom: src/core/symbology/qgssymbollayerutils.h#L263
QgsSymbolLayerUtils.estimateMaxSymbolBleed: src/core/symbology/qgssymbollayerutils.h#L385
QgsSymbolLayerUtils.evaluatePropertiesMap: src/core/symbology/qgssymbollayerutils.h#L1074
QgsSymbolLayerUtils.externalGraphicFromSld: src/core/symbology/qgssymbollayerutils.h#L522
QgsSymbolLayerUtils.externalGraphicToSld: src/core/symbology/qgssymbollayerutils.h#L519
QgsSymbolLayerUtils.externalMarkerFromSld: src/core/symbology/qgssymbollayerutils.h#L568
QgsSymbolLayerUtils.externalMarkerToSld: src/core/symbology/qgssymbollayerutils.h#L555
QgsSymbolLayerUtils.externalMarkerToSld: src/core/symbology/qgssymbollayerutils.h#L564
QgsSymbolLayerUtils.fieldOrExpressionFromExpression: src/core/symbology/qgssymbollayerutils.h#L975
QgsSymbolLayerUtils.fillFromSld: src/core/symbology/qgssymbollayerutils.h#L506
QgsSymbolLayerUtils.fillToSld: src/core/symbology/qgssymbollayerutils.h#L495
QgsSymbolLayerUtils.fillToSld: src/core/symbology/qgssymbollayerutils.h#L503
QgsSymbolLayerUtils.functionFromSldElement: src/core/symbology/qgssymbollayerutils.h#L688
QgsSymbolLayerUtils.geometryFromSldElement: src/core/symbology/qgssymbollayerutils.h#L655
QgsSymbolLayerUtils.getSvgParameterList: src/core/symbology/qgssymbollayerutils.h#L691
QgsSymbolLayerUtils.getSvgParametricPath: src/core/symbology/qgssymbollayerutils.h#L1036
QgsSymbolLayerUtils.getVendorOptionList: src/core/symbology/qgssymbollayerutils.h#L694
QgsSymbolLayerUtils.evaluatePropertiesMap: src/core/symbology/qgssymbollayerutils.h#L1090
QgsSymbolLayerUtils.externalGraphicFromSld: src/core/symbology/qgssymbollayerutils.h#L538
QgsSymbolLayerUtils.externalGraphicToSld: src/core/symbology/qgssymbollayerutils.h#L535
QgsSymbolLayerUtils.externalMarkerFromSld: src/core/symbology/qgssymbollayerutils.h#L584
QgsSymbolLayerUtils.externalMarkerToSld: src/core/symbology/qgssymbollayerutils.h#L571
QgsSymbolLayerUtils.externalMarkerToSld: src/core/symbology/qgssymbollayerutils.h#L580
QgsSymbolLayerUtils.fieldOrExpressionFromExpression: src/core/symbology/qgssymbollayerutils.h#L991
QgsSymbolLayerUtils.fillFromSld: src/core/symbology/qgssymbollayerutils.h#L522
QgsSymbolLayerUtils.fillToSld: src/core/symbology/qgssymbollayerutils.h#L511
QgsSymbolLayerUtils.fillToSld: src/core/symbology/qgssymbollayerutils.h#L519
QgsSymbolLayerUtils.functionFromSldElement: src/core/symbology/qgssymbollayerutils.h#L704
QgsSymbolLayerUtils.geometryFromSldElement: src/core/symbology/qgssymbollayerutils.h#L671
QgsSymbolLayerUtils.getSvgParameterList: src/core/symbology/qgssymbollayerutils.h#L707
QgsSymbolLayerUtils.getSvgParametricPath: src/core/symbology/qgssymbollayerutils.h#L1052
QgsSymbolLayerUtils.getVendorOptionList: src/core/symbology/qgssymbollayerutils.h#L710
QgsSymbolLayerUtils.hasExternalGraphic: src/core/symbology/qgssymbollayerutils.h#L462
QgsSymbolLayerUtils.hasExternalGraphicV2: src/core/symbology/qgssymbollayerutils.h#L470
QgsSymbolLayerUtils.hasSldSymbolizer: src/core/symbology/qgssymbollayerutils.h#L116
QgsSymbolLayerUtils.hasWellKnownMark: src/core/symbology/qgssymbollayerutils.h#L472
QgsSymbolLayerUtils.importColorsFromGpl: src/core/symbology/qgssymbollayerutils.h#L822
QgsSymbolLayerUtils.isSharpCorner: src/core/symbology/qgssymbollayerutils.h#L950
QgsSymbolLayerUtils.labelTextToSld: src/core/symbology/qgssymbollayerutils.h#L577
QgsSymbolLayerUtils.labelTextToSld: src/core/symbology/qgssymbollayerutils.h#L585
QgsSymbolLayerUtils.lineFromSld: src/core/symbology/qgssymbollayerutils.h#L514
QgsSymbolLayerUtils.lineToSld: src/core/symbology/qgssymbollayerutils.h#L510
QgsSymbolLayerUtils.listSvgFiles: src/core/symbology/qgssymbollayerutils.h#L876
QgsSymbolLayerUtils.listSvgFilesAt: src/core/symbology/qgssymbollayerutils.h#L879
QgsSymbolLayerUtils.loadSymbols: src/core/symbology/qgssymbollayerutils.h#L702
QgsSymbolLayerUtils.mergeScaleDependencies: src/core/symbology/qgssymbollayerutils.h#L1010
QgsSymbolLayerUtils.multiplyImageOpacity: src/core/symbology/qgssymbollayerutils.h#L846
QgsSymbolLayerUtils.needEllipseMarker: src/core/symbology/qgssymbollayerutils.h#L476
QgsSymbolLayerUtils.importColorsFromGpl: src/core/symbology/qgssymbollayerutils.h#L838
QgsSymbolLayerUtils.isSharpCorner: src/core/symbology/qgssymbollayerutils.h#L966
QgsSymbolLayerUtils.labelTextToSld: src/core/symbology/qgssymbollayerutils.h#L593
QgsSymbolLayerUtils.labelTextToSld: src/core/symbology/qgssymbollayerutils.h#L601
QgsSymbolLayerUtils.lineFromSld: src/core/symbology/qgssymbollayerutils.h#L530
QgsSymbolLayerUtils.lineToSld: src/core/symbology/qgssymbollayerutils.h#L526
QgsSymbolLayerUtils.listSvgFiles: src/core/symbology/qgssymbollayerutils.h#L892
QgsSymbolLayerUtils.listSvgFilesAt: src/core/symbology/qgssymbollayerutils.h#L895
QgsSymbolLayerUtils.loadSymbols: src/core/symbology/qgssymbollayerutils.h#L718
QgsSymbolLayerUtils.mergeScaleDependencies: src/core/symbology/qgssymbollayerutils.h#L1026
QgsSymbolLayerUtils.multiplyImageOpacity: src/core/symbology/qgssymbollayerutils.h#L862
QgsSymbolLayerUtils.needEllipseMarker: src/core/symbology/qgssymbollayerutils.h#L492
QgsSymbolLayerUtils.needFontMarker: src/core/symbology/qgssymbollayerutils.h#L474
QgsSymbolLayerUtils.needLinePatternFill: src/core/symbology/qgssymbollayerutils.h#L478
QgsSymbolLayerUtils.needMarkerLine: src/core/symbology/qgssymbollayerutils.h#L477
QgsSymbolLayerUtils.needPointPatternFill: src/core/symbology/qgssymbollayerutils.h#L479
QgsSymbolLayerUtils.needRasterImageFill: src/core/symbology/qgssymbollayerutils.h#L488
QgsSymbolLayerUtils.needSvgFill: src/core/symbology/qgssymbollayerutils.h#L480
QgsSymbolLayerUtils.needSvgMarker: src/core/symbology/qgssymbollayerutils.h#L475
QgsSymbolLayerUtils.ogrFeatureStyleBrush: src/core/symbology/qgssymbollayerutils.h#L599
QgsSymbolLayerUtils.ogrFeatureStylePen: src/core/symbology/qgssymbollayerutils.h#L589
QgsSymbolLayerUtils.onlineResourceFromSldElement: src/core/symbology/qgssymbollayerutils.h#L641
QgsSymbolLayerUtils.opacityFromSldElement: src/core/symbology/qgssymbollayerutils.h#L627
QgsSymbolLayerUtils.parametricSvgToSld: src/core/symbology/qgssymbollayerutils.h#L1018
QgsSymbolLayerUtils.parametricSvgToSld: src/core/symbology/qgssymbollayerutils.h#L1028
QgsSymbolLayerUtils.parseColor: src/core/symbology/qgssymbollayerutils.h#L831
QgsSymbolLayerUtils.parseColorWithAlpha: src/core/symbology/qgssymbollayerutils.h#L841
QgsSymbolLayerUtils.parseProperties: src/core/symbology/qgssymbollayerutils.h#L697
QgsSymbolLayerUtils.needLinePatternFill: src/core/symbology/qgssymbollayerutils.h#L494
QgsSymbolLayerUtils.needMarkerLine: src/core/symbology/qgssymbollayerutils.h#L493
QgsSymbolLayerUtils.needPointPatternFill: src/core/symbology/qgssymbollayerutils.h#L495
QgsSymbolLayerUtils.needRasterImageFill: src/core/symbology/qgssymbollayerutils.h#L504
QgsSymbolLayerUtils.needRasterMarker: src/core/symbology/qgssymbollayerutils.h#L491
QgsSymbolLayerUtils.needSvgFill: src/core/symbology/qgssymbollayerutils.h#L496
QgsSymbolLayerUtils.needSvgMarker: src/core/symbology/qgssymbollayerutils.h#L481
QgsSymbolLayerUtils.ogrFeatureStyleBrush: src/core/symbology/qgssymbollayerutils.h#L615
QgsSymbolLayerUtils.ogrFeatureStylePen: src/core/symbology/qgssymbollayerutils.h#L605
QgsSymbolLayerUtils.onlineResourceFromSldElement: src/core/symbology/qgssymbollayerutils.h#L657
QgsSymbolLayerUtils.opacityFromSldElement: src/core/symbology/qgssymbollayerutils.h#L643
QgsSymbolLayerUtils.parametricSvgToSld: src/core/symbology/qgssymbollayerutils.h#L1034
QgsSymbolLayerUtils.parametricSvgToSld: src/core/symbology/qgssymbollayerutils.h#L1044
QgsSymbolLayerUtils.parseColor: src/core/symbology/qgssymbollayerutils.h#L847
QgsSymbolLayerUtils.parseColorWithAlpha: src/core/symbology/qgssymbollayerutils.h#L857
QgsSymbolLayerUtils.parseProperties: src/core/symbology/qgssymbollayerutils.h#L713
QgsSymbolLayerUtils.penCapStyleToEndCapStyle: src/core/symbology/qgssymbollayerutils.h#L102
QgsSymbolLayerUtils.penJoinStyleToJoinStyle: src/core/symbology/qgssymbollayerutils.h#L109
QgsSymbolLayerUtils.pointInPolygon: src/core/symbology/qgssymbollayerutils.h#L920
QgsSymbolLayerUtils.pointOnLineWithDistance: src/core/symbology/qgssymbollayerutils.h#L873
QgsSymbolLayerUtils.polygonCentroid: src/core/symbology/qgssymbollayerutils.h#L914
QgsSymbolLayerUtils.polygonPointOnSurface: src/core/symbology/qgssymbollayerutils.h#L917
QgsSymbolLayerUtils.polylineLength: src/core/symbology/qgssymbollayerutils.h#L927
QgsSymbolLayerUtils.polylineSubstring: src/core/symbology/qgssymbollayerutils.h#L941
QgsSymbolLayerUtils.premultiplyColor: src/core/symbology/qgssymbollayerutils.h#L854
QgsSymbolLayerUtils.rendererFrameRate: src/core/symbology/qgssymbollayerutils.h#L1052
QgsSymbolLayerUtils.rescaleUom: src/core/symbology/qgssymbollayerutils.h#L988
QgsSymbolLayerUtils.rescaleUom: src/core/symbology/qgssymbollayerutils.h#L994
QgsSymbolLayerUtils.resetSymbolLayerIds: src/core/symbology/qgssymbollayerutils.h#L1103
QgsSymbolLayerUtils.resetSymbolLayerIds: src/core/symbology/qgssymbollayerutils.h#L1109
QgsSymbolLayerUtils.restrictedSizeSymbol: src/core/symbology/qgssymbollayerutils.h#L1068
QgsSymbolLayerUtils.rotationFromSldElement: src/core/symbology/qgssymbollayerutils.h#L613
QgsSymbolLayerUtils.saveColorRamp: src/core/symbology/qgssymbollayerutils.h#L739
QgsSymbolLayerUtils.saveColorsToGpl: src/core/symbology/qgssymbollayerutils.h#L812
QgsSymbolLayerUtils.saveProperties: src/core/symbology/qgssymbollayerutils.h#L699
QgsSymbolLayerUtils.pointInPolygon: src/core/symbology/qgssymbollayerutils.h#L936
QgsSymbolLayerUtils.pointOnLineWithDistance: src/core/symbology/qgssymbollayerutils.h#L889
QgsSymbolLayerUtils.polygonCentroid: src/core/symbology/qgssymbollayerutils.h#L930
QgsSymbolLayerUtils.polygonPointOnSurface: src/core/symbology/qgssymbollayerutils.h#L933
QgsSymbolLayerUtils.polylineLength: src/core/symbology/qgssymbollayerutils.h#L943
QgsSymbolLayerUtils.polylineSubstring: src/core/symbology/qgssymbollayerutils.h#L957
QgsSymbolLayerUtils.premultiplyColor: src/core/symbology/qgssymbollayerutils.h#L870
QgsSymbolLayerUtils.rendererFrameRate: src/core/symbology/qgssymbollayerutils.h#L1068
QgsSymbolLayerUtils.rescaleUom: src/core/symbology/qgssymbollayerutils.h#L1004
QgsSymbolLayerUtils.rescaleUom: src/core/symbology/qgssymbollayerutils.h#L1010
QgsSymbolLayerUtils.resetSymbolLayerIds: src/core/symbology/qgssymbollayerutils.h#L1119
QgsSymbolLayerUtils.resetSymbolLayerIds: src/core/symbology/qgssymbollayerutils.h#L1125
QgsSymbolLayerUtils.restrictedSizeSymbol: src/core/symbology/qgssymbollayerutils.h#L1084
QgsSymbolLayerUtils.rotationFromSldElement: src/core/symbology/qgssymbollayerutils.h#L629
QgsSymbolLayerUtils.saveColorRamp: src/core/symbology/qgssymbollayerutils.h#L755
QgsSymbolLayerUtils.saveColorsToGpl: src/core/symbology/qgssymbollayerutils.h#L828
QgsSymbolLayerUtils.saveProperties: src/core/symbology/qgssymbollayerutils.h#L715
QgsSymbolLayerUtils.saveSymbol: src/core/symbology/qgssymbollayerutils.h#L424
QgsSymbolLayerUtils.saveSymbols: src/core/symbology/qgssymbollayerutils.h#L704
QgsSymbolLayerUtils.saveSymbols: src/core/symbology/qgssymbollayerutils.h#L720
QgsSymbolLayerUtils.sizeInPixelsFromSldUom: src/core/symbology/qgssymbollayerutils.h#L280
QgsSymbolLayerUtils.sortVariantList: src/core/symbology/qgssymbollayerutils.h#L871
QgsSymbolLayerUtils.svgSymbolNameToPath: src/core/symbology/qgssymbollayerutils.h#L887
QgsSymbolLayerUtils.svgSymbolPathToName: src/core/symbology/qgssymbollayerutils.h#L893
QgsSymbolLayerUtils.sortVariantList: src/core/symbology/qgssymbollayerutils.h#L887
QgsSymbolLayerUtils.svgSymbolNameToPath: src/core/symbology/qgssymbollayerutils.h#L903
QgsSymbolLayerUtils.svgSymbolPathToName: src/core/symbology/qgssymbollayerutils.h#L909
QgsSymbolLayerUtils.symbolLayerPreviewIcon: src/core/symbology/qgssymbollayerutils.h#L350
QgsSymbolLayerUtils.symbolLayerPreviewPicture: src/core/symbology/qgssymbollayerutils.h#L336
QgsSymbolLayerUtils.symbolPreviewIcon: src/core/symbology/qgssymbollayerutils.h#L307
QgsSymbolLayerUtils.symbolPreviewPixmap: src/core/symbology/qgssymbollayerutils.h#L321
QgsSymbolLayerUtils.symbolProperties: src/core/symbology/qgssymbollayerutils.h#L430
QgsSymbolLayerUtils.symbolToMimeData: src/core/symbology/qgssymbollayerutils.h#L714
QgsSymbolLayerUtils.tileSize: src/core/symbology/qgssymbollayerutils.h#L1085
QgsSymbolLayerUtils.symbolToMimeData: src/core/symbology/qgssymbollayerutils.h#L730
QgsSymbolLayerUtils.tileSize: src/core/symbology/qgssymbollayerutils.h#L1101
QgsSymbolLayerUtils.toPoint: src/core/symbology/qgssymbollayerutils.h#L217
QgsSymbolLayerUtils.toSize: src/core/symbology/qgssymbollayerutils.h#L245
QgsSymbolLayerUtils.wellKnownMarkerFromSld: src/core/symbology/qgssymbollayerutils.h#L546
QgsSymbolLayerUtils.wellKnownMarkerToSld: src/core/symbology/qgssymbollayerutils.h#L530
QgsSymbolLayerUtils.wellKnownMarkerToSld: src/core/symbology/qgssymbollayerutils.h#L538
QgsSymbolLayerUtils.wellKnownMarkerFromSld: src/core/symbology/qgssymbollayerutils.h#L562
QgsSymbolLayerUtils.wellKnownMarkerToSld: src/core/symbology/qgssymbollayerutils.h#L546
QgsSymbolLayerUtils.wellKnownMarkerToSld: src/core/symbology/qgssymbollayerutils.h#L554
QgsSymbolLayerUtils: src/core/symbology/qgssymbollayerutils.h#L60
QgsSymbolLegendNode.__repr__: src/core/layertree/qgslayertreemodellegendnode.h#L553
QgsSymbolLegendNode.createSymbolScope: src/core/layertree/qgslayertreemodellegendnode.h#L550

View File

@ -1,6 +1,6 @@
# The following has been generated automatically from src/gui/editorwidgets/core/qgseditorwidgetfactory.h
try:
QgsEditorWidgetFactory.__virtual_methods__ = ['createSearchWidget', 'fieldScore']
QgsEditorWidgetFactory.__virtual_methods__ = ['createSearchWidget', 'isReadOnly', 'fieldScore']
QgsEditorWidgetFactory.__abstract_methods__ = ['create', 'configWidget']
QgsEditorWidgetFactory.__group__ = ['editorwidgets', 'core']
except (NameError, AttributeError):

View File

@ -1,6 +1,7 @@
# The following has been generated automatically from src/gui/maptools/qgsmaptoolcapturelayergeometry.h
try:
QgsMapToolCaptureLayerGeometry.__virtual_methods__ = ['layerGeometryCaptured', 'layerPointCaptured', 'layerLineCaptured', 'layerPolygonCaptured']
QgsMapToolCaptureLayerGeometry.__overridden_methods__ = ['geometryCaptured']
QgsMapToolCaptureLayerGeometry.__group__ = ['maptools']
except (NameError, AttributeError):
pass

View File

@ -1,7 +1,7 @@
# The following has been generated automatically from src/gui/maptools/qgsmaptooldigitizefeature.h
try:
QgsMapToolDigitizeFeature.__attribute_docs__ = {'digitizingCompleted': 'Emitted whenever the digitizing has been successfully completed\n\n:param feature: the new digitized feature\n', 'digitizingFinished': 'Emitted whenever the digitizing has been ended without digitizing any\nfeature\n', 'digitizingCanceled': 'Emitted when the digitizing process was interrupted by the user.\n\n.. versionadded:: 3.28\n'}
QgsMapToolDigitizeFeature.__virtual_methods__ = ['featureDigitized']
QgsMapToolDigitizeFeature.__virtual_methods__ = ['layerGeometryCaptured', 'featureDigitized']
QgsMapToolDigitizeFeature.__overridden_methods__ = ['capabilities', 'supportsTechnique', 'cadCanvasReleaseEvent', 'activate', 'deactivate', 'reactivate', 'keyPressEvent']
QgsMapToolDigitizeFeature.__signal_arguments__ = {'digitizingCompleted': ['feature: QgsFeature']}
QgsMapToolDigitizeFeature.__group__ = ['maptools']

View File

@ -59,6 +59,13 @@ calling this method directly.
Returns The human readable identifier name of this widget type
:return: a name
%End
virtual bool isReadOnly() const;
%Docstring
Returns true if this widget is a read-only widget.
.. versionadded:: 3.44
%End
virtual QgsEditorConfigWidget *configWidget( QgsVectorLayer *vl, int fieldIdx, QWidget *parent ) const = 0 /Factory/;

View File

@ -119,6 +119,15 @@ Gets the human readable name for a widget type
:param widgetId: The widget type to get the name for
:return: A human readable name
%End
bool isReadOnly( const QString &widgetId );
%Docstring
Gets the widget's read-only flag
:param widgetId: The widget type to get the read-only flag for
.. versionadded:: 3.44
%End
QMap<QString, QgsEditorWidgetFactory *> factories();

View File

@ -319,6 +319,48 @@ Set the points on which to work
void closePolygon();
%Docstring
Close an open polygon
%End
virtual void geometryCaptured( const QgsGeometry &geometry );
%Docstring
Called when the geometry is captured.
A more specific handler is also called afterwards
(:py:func:`~QgsMapToolCapture.pointCaptured`,
:py:func:`~QgsMapToolCapture.lineCaptured` or
:py:func:`~QgsMapToolCapture.polygonCaptured`).
.. versionadded:: 3.26
%End
virtual void pointCaptured( const QgsPoint &point );
%Docstring
Called when a point is captured.
The generic :py:func:`~QgsMapToolCapture.geometryCaptured` method will
be called immediately before this point-specific method.
.. versionadded:: 3.26
%End
virtual void lineCaptured( const QgsCurve *line );
%Docstring
Called when a line is captured
The generic :py:func:`~QgsMapToolCapture.geometryCaptured` method will
be called immediately before this line-specific method.
.. versionadded:: 3.26
%End
virtual void polygonCaptured( const QgsCurvePolygon *polygon );
%Docstring
Called when a polygon is captured.
The generic :py:func:`~QgsMapToolCapture.geometryCaptured` method will
be called immediately before this polygon-specific method.
.. versionadded:: 3.26
%End
protected slots:
@ -328,32 +370,6 @@ Close an open polygon
Stop capturing
%End
private:
virtual void geometryCaptured( const QgsGeometry &geometry );
%Docstring
Called when the geometry is captured A more specific handler is also
called afterwards (pointCaptured, lineCaptured or polygonCaptured)
.. versionadded:: 3.26
%End
virtual void pointCaptured( const QgsPoint &point );
%Docstring
Called when a point is captured geometryCaptured is called just before
.. versionadded:: 3.26
%End
virtual void lineCaptured( const QgsCurve *line );
%Docstring
Called when a line is captured geometryCaptured is called just before
.. versionadded:: 3.26
%End
virtual void polygonCaptured( const QgsCurvePolygon *polygon );
%Docstring
Called when a polygon is captured geometryCaptured is called just before
.. versionadded:: 3.26
%End
};
QFlags<QgsMapToolCapture::Capability> operator|(QgsMapToolCapture::Capability f1, QFlags<QgsMapToolCapture::Capability> f2);

View File

@ -30,31 +30,45 @@ the user.
Constructor
%End
private:
virtual void layerGeometryCaptured( const QgsGeometry &geometry );
%Docstring
Called when the geometry is captured A more specific handler is also
called afterwards (layerPointCaptured, layerLineCaptured or
layerPolygonCaptured)
Called when the geometry is captured.
A more specific handler is also called afterwards
(:py:func:`~QgsMapToolCaptureLayerGeometry.layerPointCaptured`,
:py:func:`~QgsMapToolCaptureLayerGeometry.layerLineCaptured` or
:py:func:`~QgsMapToolCaptureLayerGeometry.layerPolygonCaptured`).
%End
virtual void layerPointCaptured( const QgsPoint &point );
%Docstring
Called when a point is captured The generic
:py:func:`~QgsMapToolCaptureLayerGeometry.geometryCaptured` signal will
be emitted immediately before this point-specific signal.
Called when a point is captured.
The generic
:py:func:`~QgsMapToolCaptureLayerGeometry.layerGeometryCaptured` method
will be called immediately before this point-specific method.
%End
virtual void layerLineCaptured( const QgsCurve *line );
%Docstring
Called when a line is captured The generic
:py:func:`~QgsMapToolCaptureLayerGeometry.geometryCaptured` signal will
be emitted immediately before this line-specific signal.
Called when a line is captured.
The generic
:py:func:`~QgsMapToolCaptureLayerGeometry.layerGeometryCaptured` method
will be called immediately before this line-specific method.
%End
virtual void layerPolygonCaptured( const QgsCurvePolygon *polygon );
%Docstring
Called when a polygon is captured The generic
:py:func:`~QgsMapToolCaptureLayerGeometry.geometryCaptured` signal will
be emitted immediately before this polygon-specific signal.
Called when a polygon is captured.
The generic
:py:func:`~QgsMapToolCaptureLayerGeometry.layerGeometryCaptured` method
will be called immediately before this polygon-specific method.
%End
virtual void geometryCaptured( const QgsGeometry &geometry );
};
/************************************************************************

View File

@ -93,13 +93,21 @@ Check if CaptureMode matches layer type. Default is ``True``.
Check if CaptureMode matches layer type. Default is ``True``.
%End
private:
virtual void layerGeometryCaptured( const QgsGeometry &geometry ) ${SIP_FINAL};
%Docstring
Called when the feature has been digitized.
:param geometry: the digitized geometry
%End
virtual void featureDigitized( const QgsFeature &feature );
%Docstring
Called when the feature has been digitized
.. versionadded:: 3.26
%End
};
/************************************************************************

View File

@ -2214,22 +2214,24 @@ QgsEditorConfigWidget.updateDataDefinedButtons: src/gui/editorwidgets/core/qgsed
QgsEditorConfigWidget: src/gui/editorwidgets/core/qgseditorconfigwidget.h#L40
QgsEditorWidgetAutoConfPlugin.editorWidgetSetup: src/gui/editorwidgets/core/qgseditorwidgetautoconf.h#L49
QgsEditorWidgetAutoConfPlugin: src/gui/editorwidgets/core/qgseditorwidgetautoconf.h#L31
QgsEditorWidgetFactory.configWidget: src/gui/editorwidgets/core/qgseditorwidgetfactory.h#L87
QgsEditorWidgetFactory.configWidget: src/gui/editorwidgets/core/qgseditorwidgetfactory.h#L93
QgsEditorWidgetFactory.create: src/gui/editorwidgets/core/qgseditorwidgetfactory.h#L66
QgsEditorWidgetFactory.createSearchWidget: src/gui/editorwidgets/core/qgseditorwidgetfactory.h#L68
QgsEditorWidgetFactory.isReadOnly: src/gui/editorwidgets/core/qgseditorwidgetfactory.h#L81
QgsEditorWidgetFactory.name: src/gui/editorwidgets/core/qgseditorwidgetfactory.h#L75
QgsEditorWidgetFactory.supportsField: src/gui/editorwidgets/core/qgseditorwidgetfactory.h#L98
QgsEditorWidgetFactory.supportsField: src/gui/editorwidgets/core/qgseditorwidgetfactory.h#L104
QgsEditorWidgetFactory: src/gui/editorwidgets/core/qgseditorwidgetfactory.h#L42
QgsEditorWidgetRegistry.create: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L111
QgsEditorWidgetRegistry.create: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L97
QgsEditorWidgetRegistry.createConfigWidget: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L125
QgsEditorWidgetRegistry.createSearchWidget: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L113
QgsEditorWidgetRegistry.factory: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L148
QgsEditorWidgetRegistry.factory: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L157
QgsEditorWidgetRegistry.findBest: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L81
QgsEditorWidgetRegistry.initEditors: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L64
QgsEditorWidgetRegistry.isReadOnly: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L143
QgsEditorWidgetRegistry.name: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L134
QgsEditorWidgetRegistry.registerAutoConfPlugin: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L165
QgsEditorWidgetRegistry.registerWidget: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L158
QgsEditorWidgetRegistry.registerAutoConfPlugin: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L174
QgsEditorWidgetRegistry.registerWidget: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L167
QgsEditorWidgetRegistry: src/gui/editorwidgets/core/qgseditorwidgetregistry.h#L44
QgsEditorWidgetWrapper.QgsEditorWidgetWrapper: src/gui/editorwidgets/core/qgseditorwidgetwrapper.h#L74
QgsEditorWidgetWrapper.additionalFieldValues: src/gui/editorwidgets/core/qgseditorwidgetwrapper.h#L99
@ -4612,16 +4614,16 @@ QgsMapToolCapture.currentCaptureTechnique: src/gui/maptools/qgsmaptoolcapture.h#
QgsMapToolCapture.deactivate: src/gui/maptools/qgsmaptoolcapture.h#L110
QgsMapToolCapture.deleteTempRubberBand: src/gui/maptools/qgsmaptoolcapture.h#L153
QgsMapToolCapture.fetchLayerPoint: src/gui/maptools/qgsmaptoolcapture.h#L254
QgsMapToolCapture.geometryCaptured: src/gui/maptools/qgsmaptoolcapture.h#L346
QgsMapToolCapture.geometryCaptured: src/gui/maptools/qgsmaptoolcapture.h#L340
QgsMapToolCapture.isCapturing: src/gui/maptools/qgsmaptoolcapture.h#L287
QgsMapToolCapture.keyPressEvent: src/gui/maptools/qgsmaptoolcapture.h#L148
QgsMapToolCapture.lineCaptured: src/gui/maptools/qgsmaptoolcapture.h#L360
QgsMapToolCapture.lineCaptured: src/gui/maptools/qgsmaptoolcapture.h#L358
QgsMapToolCapture.mapPoint: src/gui/maptools/qgsmaptoolcapture.h#L178
QgsMapToolCapture.mapPoint: src/gui/maptools/qgsmaptoolcapture.h#L189
QgsMapToolCapture.mode: src/gui/maptools/qgsmaptoolcapture.h#L117
QgsMapToolCapture.nextPoint: src/gui/maptools/qgsmaptoolcapture.h#L226
QgsMapToolCapture.nextPoint: src/gui/maptools/qgsmaptoolcapture.h#L240
QgsMapToolCapture.pointCaptured: src/gui/maptools/qgsmaptoolcapture.h#L353
QgsMapToolCapture.pointCaptured: src/gui/maptools/qgsmaptoolcapture.h#L349
QgsMapToolCapture.pointsZM: src/gui/maptools/qgsmaptoolcapture.h#L310
QgsMapToolCapture.polygonCaptured: src/gui/maptools/qgsmaptoolcapture.h#L367
QgsMapToolCapture.setCircularDigitizingEnabled: src/gui/maptools/qgsmaptoolcapture.h#L199
@ -4631,15 +4633,16 @@ QgsMapToolCapture.setPoints: src/gui/maptools/qgsmaptoolcapture.h#L326
QgsMapToolCapture.setStreamDigitizingEnabled: src/gui/maptools/qgsmaptoolcapture.h#L206
QgsMapToolCapture.size: src/gui/maptools/qgsmaptoolcapture.h#L294
QgsMapToolCapture.startCapturing: src/gui/maptools/qgsmaptoolcapture.h#L280
QgsMapToolCapture.stopCapturing: src/gui/maptools/qgsmaptoolcapture.h#L338
QgsMapToolCapture.stopCapturing: src/gui/maptools/qgsmaptoolcapture.h#L374
QgsMapToolCapture.supportsTechnique: src/gui/maptools/qgsmaptoolcapture.h#L88
QgsMapToolCapture.takeRubberBand: src/gui/maptools/qgsmaptoolcapture.h#L166
QgsMapToolCapture.undo: src/gui/maptools/qgsmaptoolcapture.h#L275
QgsMapToolCapture: src/gui/maptools/qgsmaptoolcapture.h#L49
QgsMapToolCaptureLayerGeometry.layerGeometryCaptured: src/gui/maptools/qgsmaptoolcapturelayergeometry.h#L47
QgsMapToolCaptureLayerGeometry.geometryCaptured: src/gui/maptools/qgsmaptoolcapturelayergeometry.h#L68
QgsMapToolCaptureLayerGeometry.layerGeometryCaptured: src/gui/maptools/qgsmaptoolcapturelayergeometry.h#L45
QgsMapToolCaptureLayerGeometry.layerLineCaptured: src/gui/maptools/qgsmaptoolcapturelayergeometry.h#L59
QgsMapToolCaptureLayerGeometry.layerPointCaptured: src/gui/maptools/qgsmaptoolcapturelayergeometry.h#L53
QgsMapToolCaptureLayerGeometry.layerPolygonCaptured: src/gui/maptools/qgsmaptoolcapturelayergeometry.h#L65
QgsMapToolCaptureLayerGeometry.layerPointCaptured: src/gui/maptools/qgsmaptoolcapturelayergeometry.h#L52
QgsMapToolCaptureLayerGeometry.layerPolygonCaptured: src/gui/maptools/qgsmaptoolcapturelayergeometry.h#L66
QgsMapToolCaptureLayerGeometry: src/gui/maptools/qgsmaptoolcapturelayergeometry.h#L31
QgsMapToolDigitizeFeature.activate: src/gui/maptools/qgsmaptooldigitizefeature.h#L56
QgsMapToolDigitizeFeature.cadCanvasReleaseEvent: src/gui/maptools/qgsmaptooldigitizefeature.h#L48
@ -4649,8 +4652,9 @@ QgsMapToolDigitizeFeature.deactivate: src/gui/maptools/qgsmaptooldigitizefeature
QgsMapToolDigitizeFeature.digitizingCanceled: src/gui/maptools/qgsmaptooldigitizefeature.h#L81
QgsMapToolDigitizeFeature.digitizingCompleted: src/gui/maptools/qgsmaptooldigitizefeature.h#L69
QgsMapToolDigitizeFeature.digitizingFinished: src/gui/maptools/qgsmaptooldigitizefeature.h#L75
QgsMapToolDigitizeFeature.featureDigitized: src/gui/maptools/qgsmaptooldigitizefeature.h#L106
QgsMapToolDigitizeFeature.featureDigitized: src/gui/maptools/qgsmaptooldigitizefeature.h#L105
QgsMapToolDigitizeFeature.keyPressEvent: src/gui/maptools/qgsmaptooldigitizefeature.h#L61
QgsMapToolDigitizeFeature.layerGeometryCaptured: src/gui/maptools/qgsmaptooldigitizefeature.h#L99
QgsMapToolDigitizeFeature.reactivate: src/gui/maptools/qgsmaptooldigitizefeature.h#L58
QgsMapToolDigitizeFeature.setCheckGeometryType: src/gui/maptools/qgsmaptooldigitizefeature.h#L92
QgsMapToolDigitizeFeature.setLayer: src/gui/maptools/qgsmaptooldigitizefeature.h#L54

View File

@ -517,14 +517,10 @@ class GdalUtils:
format = QgsVectorFileWriter.driverForExtension(ext)
return GdalConnectionDetails(connection_string=ogrstr, format=f'"{format}"')
@staticmethod
def ogrOutputLayerName(uri):
uri = uri.strip('"')
return os.path.basename(os.path.splitext(uri)[0])
@staticmethod
def ogrLayerName(uri):
uri = uri.strip('"')
if uri.startswith('"') and uri.endswith('"'):
uri = uri.strip('"')
if " table=" in uri:
# table="schema"."table"
re_table_schema = re.compile(' table="([^"]*)"\\."([^"]*)"')

View File

@ -144,9 +144,11 @@ class polygonize(GdalAlgorithm):
arguments.append(output_details.connection_string)
layerName = GdalUtils.ogrOutputLayerName(output_details.connection_string)
if layerName:
arguments.append(layerName)
# Output layer name
arguments.append(
os.path.basename(os.path.splitext(output_details.connection_string)[0])
)
arguments.append(self.parameterAsString(parameters, self.FIELD, context))
if input_details.credential_options:

View File

@ -75,7 +75,7 @@ class BatchOutputSelectionPanel(QWidget):
self.pushButton.setText("")
self.actionTemporaryOutput = QAction(
"Create Temporary Layer",
self.tr("Create Temporary Layer"),
self,
)
self.actionTemporaryOutput.setCheckable(True)
@ -85,7 +85,9 @@ class BatchOutputSelectionPanel(QWidget):
self.pushButton.clicked.connect(self.showSelectionDialog)
else:
self.menu = QMenu(self.pushButton)
self.menu.addAction("Select File/Folder…", self.showSelectionDialog)
self.menu.addAction(
self.tr("Select File/Folder…"), self.showSelectionDialog
)
self.menu.addAction(self.actionTemporaryOutput)
self.pushButton.setMenu(self.menu)

View File

@ -15,9 +15,7 @@
***************************************************************************
"""
__author__ = "Victor Olaya"
__date__ = "February 2013"
__copyright__ = "(C) 2013, Victor Olaya"
from typing import Tuple
import os
import posixpath
@ -51,6 +49,7 @@ from qgis.core import (
QgsProcessingParameterVectorDestination,
QgsProcessingParameterFileDestination,
QgsProcessingParameterEnum,
QgsProperty,
)
from qgis.PyQt.QtCore import QCoreApplication, QMetaObject
from qgis.PyQt.QtWidgets import QDialog, QVBoxLayout, QTextEdit, QMessageBox
@ -128,20 +127,22 @@ def parseParameters(command):
pos = m.end(0)
def splitAlgIdAndParameters(command):
def splitAlgIdAndParameters(command: str) -> tuple[str, dict]:
"""
Extracts the algorithm ID and input parameter list from a processing runalg command
"""
exp = re.compile(r"""['"](.*?)['"]\s*,\s*(.*)""")
m = exp.search(command[len("processing.run(") : -1])
alg_id = m.group(1)
params = m.group(2)
param_string = m.group(2)
# replace QgsCoordinateReferenceSystem('EPSG:4325') with just string value
exp = re.compile(r"""QgsCoordinateReferenceSystem\((['"].*?['"])\)""")
params = exp.sub("\\1", params)
param_string = exp.sub("\\1", param_string)
exp = re.compile(r"""(QgsProperty.from[a-zA-Z]+\(.*?\))([,}])""")
param_string = exp.sub("'''\\1'''\\2", param_string)
return alg_id, ast.literal_eval(params)
return alg_id, ast.literal_eval(param_string)
def createTest(text):
@ -177,7 +178,17 @@ def createTest(text):
):
continue
if isinstance(
if isinstance(token, str) and token.startswith("QgsProperty"):
# dynamic property
match = re.match(
r"""QgsProperty.fromExpression\(\s*['"](.*)['"]\s*\)""", token
)
if match:
p = {"type": "property", "expression": match.group(1)}
params[param.name()] = p
else:
assert False, "Only expression based properties currently handled"
elif isinstance(
param,
(QgsProcessingParameterVectorLayer, QgsProcessingParameterFeatureSource),
):

View File

@ -48,6 +48,7 @@ from qgis.core import (
QgsProcessingContext,
QgsProcessingUtils,
QgsProcessingFeedback,
QgsProperty,
)
from qgis.analysis import QgsNativeAlgorithms
from qgis.testing import _UnexpectedSuccess, QgisTestCase, start_app
@ -292,6 +293,9 @@ class AlgorithmsTest:
)
# trim final separator ::|::
return tmp[:-5]
elif param["type"] == "property":
if param.get("expression"):
return QgsProperty.fromExpression(param["expression"])
except TypeError:
# No type specified, use whatever is there
return param

View File

@ -257,18 +257,6 @@ class TestGdalAlgorithms(QgisTestCase):
QgsProject.instance().removeMapLayer(layer)
def testOgrOutputLayerName(self):
self.assertEqual(GdalUtils.ogrOutputLayerName("/home/me/out.shp"), "out")
self.assertEqual(
GdalUtils.ogrOutputLayerName("d:/test/test_out.shp"), "test_out"
)
self.assertEqual(
GdalUtils.ogrOutputLayerName("d:/test/TEST_OUT.shp"), "TEST_OUT"
)
self.assertEqual(
GdalUtils.ogrOutputLayerName("d:/test/test_out.gpkg"), "test_out"
)
def testOgrLayerNameExtraction(self):
with tempfile.TemporaryDirectory() as outdir:

View File

@ -1,9 +1,16 @@
Algorithm tests
===============
To test algorithms you can add entries into `testdata/qgis_algorithm_tests.yaml` or `testdata/gdal_algorithm_tests.yaml` as appropriate.
To test QGIS Processing algorithms, YAML-based test cases are defined in the following files:
This file is structured with [yaml syntax](http://www.yaml.org/start.html).
- `qgis_algorithm_tests1.yaml` through `qgis_algorithm_tests5.yaml` QGIS core algorithm tests
- `gdal_algorithm_vector_tests.yaml` GDAL vector-related tests
- `gdal_algorithm_raster_tests.yaml` GDAL raster-related tests
- `script_algorithm_tests.yaml` Custom script-based tests
All of these files are located in: `python/plugins/processing/tests/testdata/`
This file is structured with [yaml syntax](https://yaml.org/).
A basic test appears under the toplevel key `tests` and looks like this:
@ -21,25 +28,34 @@ A basic test appears under the toplevel key `tests` and looks like this:
How To
------
To add a new test for a QGIS Processing algorithm, follow these steps:
To add a new test please follow these steps:
### 1. Run the Algorithm in QGIS
1. **Run the algorithm** you want to test in QGIS from the processing toolbox. If the
result is a vector layer prefer GML, with its XSD, as output for its support of mixed
geometry types and good readability. Redirect output to
`python/plugins/processing/tests/testdata/expected`. For input layers prefer to use what's already there in the folder `testdata`. If you need extra data, put it into `testdata/custom`.
- Use the **Processing Toolbox** to run the algorithm you want to test.
- For **vector outputs**, prefer using **GML format with XSD** — this format supports mixed geometry types and offers good readability.
- Save the output to: `python/plugins/processing/tests/testdata/expected/`
- For input layers, reuse data already present in: `python/plugins/processing/tests/testdata/`
2. When you have run the algorithm, go to *Processing* > *History* and find the
algorithm which you have just run. **Right click the algorithm and click "Create Test"**.
A new window will open with a text definition.
If additional data is required, place it under: `python/plugins/processing/tests/testdata/custom/`
3. Open the file `python/plugins/processing/tests/testdata/algorithm_tests.yaml`,
**copy the text definition** there.
### 2. Generate the Test Definition
The first string from the command goes to the key `algorithm`, the subsequent
ones to `params` and the last one(s) to `results`.
- Open **Processing ► History** after running the algorithm.
- Locate your algorithm run, right-click it, and select **Create Test**.
- A new window will appear with the YAML test definition.
The above translates to
### 3. Add the Test to the Appropriate File
Paste the test definition into the correct YAML file inside: `python/plugins/processing/tests/testdata/`
Use the following guidelines:
- `qgis_algorithm_tests1.yaml` to `qgis_algorithm_tests5.yaml`: QGIS core algorithms
- `gdal_algorithm_vector_tests.yaml`: GDAL vector-related algorithms
- `gdal_algorithm_raster_tests.yaml`: GDAL raster-related algorithms
- `script_algorithm_tests.yaml`: Custom script-based tests
### 4. Example YAML Test Entry
```yaml
- name: densify
@ -53,11 +69,12 @@ The above translates to
type: vector
name: expected/polys_densify.gml
```
### 5. Adding Script-Based Tests
To create tests for custom Processing scripts:
- Place the script file in the following directory: `python/plugins/processing/tests/testdata/scripts/`
- The script file name must exactly match the script algorithm name used in your test definition.
It is also possible to create tests for Processing scripts. Scripts
should be placed in the `scripts` subdirectory in the test data directory
`python/plugins/processing/tests/testdata/`. Script file name
should match script algorithm name.
For example, if your test refers to an algorithm named my_custom_buffer, your script should be saved as: `python/plugins/processing/tests/testdata/scripts/my_custom_buffer.py`
Params and results
------------------
@ -135,18 +152,20 @@ Add the expected GML and XSD in the folder.
#### Vector with tolerance
Sometimes different platforms create slightly different results which are
still acceptable. In this case (but only then) you may also use additional
properties to define how exactly a layer is compared.
Sometimes, different platforms create slightly different results that are still acceptable.
In such cases — and only in such cases — you can use additional properties to define how a
layer is compared.
To deal with a certain tolerance for output values you can specify a
`compare` property for an output. The compare property can contain sub-properties
for `fields`. This contains information about how precisely a certain field is
compared (`precision`) or a field can even entirely be `skip`ed. There is a special
field name `__all__` which will apply a certain tolerance to all fields.
There is another property `geometry` which also accepts a `precision` which is
applied to each vertex.
To handle a certain tolerance for output values, you can specify a `compare` property for an output. The `compare` property can include sub-properties for `fields` and `geometry`.
The `fields` section lets you control how precisely specific fields are compared. You can:
- Use `precision` to set a numerical tolerance.
- Use `skip` to ignore a field entirely.
- Use `__all__` to apply the same tolerance to all fields.
The `geometry` section also accepts a `precision` value, which applies to each vertex coordinate.
Example configuration:
```yaml
OUTPUT:
type: vector
@ -204,7 +223,8 @@ OUTPUT_DIR:
type: directory
```
### Algorithm Context
Algorithm Context
------------------
There are few more definitions that can modify context of the algorithm - these can be specified at top level of test:

View File

@ -0,0 +1,173 @@
<!DOCTYPE model>
<Option type="Map">
<Option type="Map" name="children">
<Option type="Map" name="native:buffer_1">
<Option value="true" type="bool" name="active"/>
<Option name="alg_config"/>
<Option value="native:buffer" type="QString" name="alg_id"/>
<Option value="" type="QString" name="color"/>
<Option type="Map" name="comment">
<Option value="" type="QString" name="color"/>
<Option value="" type="QString" name="component_description"/>
<Option value="60" type="double" name="component_height"/>
<Option value="576" type="double" name="component_pos_x"/>
<Option value="142" type="double" name="component_pos_y"/>
<Option value="100" type="double" name="component_width"/>
<Option value="true" type="bool" name="outputs_collapsed"/>
<Option value="true" type="bool" name="parameters_collapsed"/>
</Option>
<Option value="Buffer" type="QString" name="component_description"/>
<Option value="30" type="double" name="component_height"/>
<Option value="376" type="double" name="component_pos_x"/>
<Option value="187" type="double" name="component_pos_y"/>
<Option value="200" type="double" name="component_width"/>
<Option name="dependencies"/>
<Option value="native:buffer_1" type="QString" name="id"/>
<Option type="Map" name="outputs">
<Option type="Map" name="OUTPUT">
<Option value="native:buffer_1" type="QString" name="child_id"/>
<Option value="" type="QString" name="color"/>
<Option type="Map" name="comment">
<Option value="" type="QString" name="color"/>
<Option value="" type="QString" name="component_description"/>
<Option value="60" type="double" name="component_height"/>
<Option value="0" type="double" name="component_pos_x"/>
<Option value="0" type="double" name="component_pos_y"/>
<Option value="100" type="double" name="component_width"/>
<Option value="true" type="bool" name="outputs_collapsed"/>
<Option value="true" type="bool" name="parameters_collapsed"/>
</Option>
<Option value="OUTPUT" type="QString" name="component_description"/>
<Option value="30" type="double" name="component_height"/>
<Option value="590" type="double" name="component_pos_x"/>
<Option value="266" type="double" name="component_pos_y"/>
<Option value="200" type="double" name="component_width"/>
<Option type="invalid" name="default_value"/>
<Option value="false" type="bool" name="mandatory"/>
<Option value="OUTPUT" type="QString" name="name"/>
<Option value="OUTPUT" type="QString" name="output_name"/>
<Option value="true" type="bool" name="outputs_collapsed"/>
<Option value="true" type="bool" name="parameters_collapsed"/>
</Option>
</Option>
<Option value="true" type="bool" name="outputs_collapsed"/>
<Option value="true" type="bool" name="parameters_collapsed"/>
<Option type="Map" name="params">
<Option type="List" name="DISSOLVE">
<Option type="Map">
<Option value="2" type="int" name="source"/>
<Option value="false" type="bool" name="static_value"/>
</Option>
</Option>
<Option type="List" name="DISTANCE">
<Option type="Map">
<Option value="2" type="int" name="source"/>
<Option value="10" type="double" name="static_value"/>
</Option>
</Option>
<Option type="List" name="END_CAP_STYLE">
<Option type="Map">
<Option value="2" type="int" name="source"/>
<Option value="0" type="int" name="static_value"/>
</Option>
</Option>
<Option type="List" name="INPUT">
<Option type="Map">
<Option value="input" type="QString" name="parameter_name"/>
<Option value="0" type="int" name="source"/>
</Option>
</Option>
<Option type="List" name="JOIN_STYLE">
<Option type="Map">
<Option value="2" type="int" name="source"/>
<Option value="0" type="int" name="static_value"/>
</Option>
</Option>
<Option type="List" name="MITER_LIMIT">
<Option type="Map">
<Option value="2" type="int" name="source"/>
<Option value="2" type="double" name="static_value"/>
</Option>
</Option>
<Option type="List" name="SEGMENTS">
<Option type="Map">
<Option value="2" type="int" name="source"/>
<Option value="5" type="int" name="static_value"/>
</Option>
</Option>
<Option type="List" name="SEPARATE_DISJOINT">
<Option type="Map">
<Option value="2" type="int" name="source"/>
<Option value="false" type="bool" name="static_value"/>
</Option>
</Option>
</Option>
</Option>
</Option>
<Option name="designerParameterValues"/>
<Option name="groupBoxes"/>
<Option name="help"/>
<Option value="Version2" type="QString" name="internal_version"/>
<Option name="modelVariables"/>
<Option value="" type="QString" name="model_group"/>
<Option value="Inner model" type="QString" name="model_name"/>
<Option value="" type="QString" name="outputGroup"/>
<Option name="outputOrder"/>
<Option type="Map" name="parameterDefinitions">
<Option type="Map" name="input">
<Option type="List" name="data_types">
<Option value="-1" type="int"/>
</Option>
<Option type="invalid" name="default"/>
<Option type="invalid" name="defaultGui"/>
<Option value="INPUT" type="QString" name="description"/>
<Option value="0" type="int" name="flags"/>
<Option value="" type="QString" name="help"/>
<Option name="metadata"/>
<Option value="input" type="QString" name="name"/>
<Option value="source" type="QString" name="parameter_type"/>
</Option>
<Option type="Map" name="output">
<Option value="true" type="bool" name="create_by_default"/>
<Option value="2" type="int" name="data_type"/>
<Option type="invalid" name="default"/>
<Option type="invalid" name="defaultGui"/>
<Option value="OUTPUT" type="QString" name="description"/>
<Option value="0" type="int" name="flags"/>
<Option value="" type="QString" name="help"/>
<Option type="Map" name="metadata">
<Option value="native:buffer_1" type="QString" name="_modelChildId"/>
<Option value="OUTPUT" type="QString" name="_modelChildOutputName"/>
<Option value="native" type="QString" name="_modelChildProvider"/>
</Option>
<Option value="output" type="QString" name="name"/>
<Option value="sink" type="QString" name="parameter_type"/>
<Option value="true" type="bool" name="supports_append"/>
<Option value="true" type="bool" name="supports_non_file_outputs"/>
</Option>
</Option>
<Option name="parameterOrder"/>
<Option type="Map" name="parameters">
<Option type="Map" name="input">
<Option value="" type="QString" name="color"/>
<Option type="Map" name="comment">
<Option value="" type="QString" name="color"/>
<Option value="" type="QString" name="component_description"/>
<Option value="60" type="double" name="component_height"/>
<Option value="548" type="double" name="component_pos_x"/>
<Option value="146" type="double" name="component_pos_y"/>
<Option value="100" type="double" name="component_width"/>
<Option value="true" type="bool" name="outputs_collapsed"/>
<Option value="true" type="bool" name="parameters_collapsed"/>
</Option>
<Option value="input" type="QString" name="component_description"/>
<Option value="30" type="double" name="component_height"/>
<Option value="183" type="double" name="component_pos_x"/>
<Option value="116" type="double" name="component_pos_y"/>
<Option value="200" type="double" name="component_width"/>
<Option value="input" type="QString" name="name"/>
<Option value="true" type="bool" name="outputs_collapsed"/>
<Option value="true" type="bool" name="parameters_collapsed"/>
</Option>
</Option>
</Option>

View File

@ -0,0 +1,208 @@
<!DOCTYPE model>
<Option type="Map">
<Option type="Map" name="children">
<Option type="Map" name="model:Inner model_1">
<Option value="true" type="bool" name="active"/>
<Option name="alg_config"/>
<Option value="model:Inner model" type="QString" name="alg_id"/>
<Option value="" type="QString" name="color"/>
<Option type="Map" name="comment">
<Option value="" type="QString" name="color"/>
<Option value="" type="QString" name="component_description"/>
<Option value="60" type="double" name="component_height"/>
<Option value="718" type="double" name="component_pos_x"/>
<Option value="427" type="double" name="component_pos_y"/>
<Option value="100" type="double" name="component_width"/>
<Option value="true" type="bool" name="outputs_collapsed"/>
<Option value="true" type="bool" name="parameters_collapsed"/>
</Option>
<Option value="Inner model" type="QString" name="component_description"/>
<Option value="30" type="double" name="component_height"/>
<Option value="579" type="double" name="component_pos_x"/>
<Option value="550" type="double" name="component_pos_y"/>
<Option value="200" type="double" name="component_width"/>
<Option name="dependencies"/>
<Option value="model:Inner model_1" type="QString" name="id"/>
<Option type="Map" name="outputs">
<Option type="Map" name="OUTPUT">
<Option value="model:Inner model_1" type="QString" name="child_id"/>
<Option value="" type="QString" name="color"/>
<Option type="Map" name="comment">
<Option value="" type="QString" name="color"/>
<Option value="" type="QString" name="component_description"/>
<Option value="60" type="double" name="component_height"/>
<Option value="0" type="double" name="component_pos_x"/>
<Option value="0" type="double" name="component_pos_y"/>
<Option value="100" type="double" name="component_width"/>
<Option value="true" type="bool" name="outputs_collapsed"/>
<Option value="true" type="bool" name="parameters_collapsed"/>
</Option>
<Option value="OUTPUT" type="QString" name="component_description"/>
<Option value="30" type="double" name="component_height"/>
<Option value="0" type="double" name="component_pos_x"/>
<Option value="0" type="double" name="component_pos_y"/>
<Option value="200" type="double" name="component_width"/>
<Option type="invalid" name="default_value"/>
<Option value="false" type="bool" name="mandatory"/>
<Option value="OUTPUT" type="QString" name="name"/>
<Option value="output" type="QString" name="output_name"/>
<Option value="true" type="bool" name="outputs_collapsed"/>
<Option value="true" type="bool" name="parameters_collapsed"/>
</Option>
</Option>
<Option value="true" type="bool" name="outputs_collapsed"/>
<Option value="false" type="bool" name="parameters_collapsed"/>
<Option type="Map" name="params">
<Option type="List" name="input">
<Option type="Map">
<Option value="native:buffer_1" type="QString" name="child_id"/>
<Option value="OUTPUT" type="QString" name="output_name"/>
<Option value="1" type="int" name="source"/>
</Option>
</Option>
</Option>
</Option>
<Option type="Map" name="native:buffer_1">
<Option value="true" type="bool" name="active"/>
<Option name="alg_config"/>
<Option value="native:buffer" type="QString" name="alg_id"/>
<Option value="" type="QString" name="color"/>
<Option type="Map" name="comment">
<Option value="" type="QString" name="color"/>
<Option value="" type="QString" name="component_description"/>
<Option value="60" type="double" name="component_height"/>
<Option value="549" type="double" name="component_pos_x"/>
<Option value="303" type="double" name="component_pos_y"/>
<Option value="100" type="double" name="component_width"/>
<Option value="true" type="bool" name="outputs_collapsed"/>
<Option value="true" type="bool" name="parameters_collapsed"/>
</Option>
<Option value="Buffer" type="QString" name="component_description"/>
<Option value="30" type="double" name="component_height"/>
<Option value="424" type="double" name="component_pos_x"/>
<Option value="374" type="double" name="component_pos_y"/>
<Option value="200" type="double" name="component_width"/>
<Option name="dependencies"/>
<Option value="native:buffer_1" type="QString" name="id"/>
<Option name="outputs"/>
<Option value="false" type="bool" name="outputs_collapsed"/>
<Option value="true" type="bool" name="parameters_collapsed"/>
<Option type="Map" name="params">
<Option type="List" name="DISSOLVE">
<Option type="Map">
<Option value="2" type="int" name="source"/>
<Option value="false" type="bool" name="static_value"/>
</Option>
</Option>
<Option type="List" name="DISTANCE">
<Option type="Map">
<Option value="2" type="int" name="source"/>
<Option value="10" type="double" name="static_value"/>
</Option>
</Option>
<Option type="List" name="END_CAP_STYLE">
<Option type="Map">
<Option value="2" type="int" name="source"/>
<Option value="0" type="int" name="static_value"/>
</Option>
</Option>
<Option type="List" name="INPUT">
<Option type="Map">
<Option value="input" type="QString" name="parameter_name"/>
<Option value="0" type="int" name="source"/>
</Option>
</Option>
<Option type="List" name="JOIN_STYLE">
<Option type="Map">
<Option value="2" type="int" name="source"/>
<Option value="0" type="int" name="static_value"/>
</Option>
</Option>
<Option type="List" name="MITER_LIMIT">
<Option type="Map">
<Option value="2" type="int" name="source"/>
<Option value="2" type="double" name="static_value"/>
</Option>
</Option>
<Option type="List" name="SEGMENTS">
<Option type="Map">
<Option value="2" type="int" name="source"/>
<Option value="5" type="int" name="static_value"/>
</Option>
</Option>
<Option type="List" name="SEPARATE_DISJOINT">
<Option type="Map">
<Option value="2" type="int" name="source"/>
<Option value="false" type="bool" name="static_value"/>
</Option>
</Option>
</Option>
</Option>
</Option>
<Option name="designerParameterValues"/>
<Option name="groupBoxes"/>
<Option name="help"/>
<Option value="Version2" type="QString" name="internal_version"/>
<Option name="modelVariables"/>
<Option value="" type="QString" name="model_group"/>
<Option value="Outer model" type="QString" name="model_name"/>
<Option value="" type="QString" name="outputGroup"/>
<Option name="outputOrder"/>
<Option type="Map" name="parameterDefinitions">
<Option type="Map" name="input">
<Option type="List" name="data_types">
<Option value="-1" type="int"/>
</Option>
<Option type="invalid" name="default"/>
<Option type="invalid" name="defaultGui"/>
<Option value="INPUT" type="QString" name="description"/>
<Option value="0" type="int" name="flags"/>
<Option value="" type="QString" name="help"/>
<Option name="metadata"/>
<Option value="input" type="QString" name="name"/>
<Option value="source" type="QString" name="parameter_type"/>
</Option>
<Option type="Map" name="output">
<Option value="true" type="bool" name="create_by_default"/>
<Option value="2" type="int" name="data_type"/>
<Option type="invalid" name="default"/>
<Option type="invalid" name="defaultGui"/>
<Option value="OUTPUT" type="QString" name="description"/>
<Option value="0" type="int" name="flags"/>
<Option value="" type="QString" name="help"/>
<Option type="Map" name="metadata">
<Option value="model:Inner model_1" type="QString" name="_modelChildId"/>
<Option value="OUTPUT" type="QString" name="_modelChildOutputName"/>
<Option value="model" type="QString" name="_modelChildProvider"/>
</Option>
<Option value="output" type="QString" name="name"/>
<Option value="sink" type="QString" name="parameter_type"/>
<Option value="true" type="bool" name="supports_append"/>
<Option value="true" type="bool" name="supports_non_file_outputs"/>
</Option>
</Option>
<Option name="parameterOrder"/>
<Option type="Map" name="parameters">
<Option type="Map" name="input">
<Option value="" type="QString" name="color"/>
<Option type="Map" name="comment">
<Option value="" type="QString" name="color"/>
<Option value="" type="QString" name="component_description"/>
<Option value="60" type="double" name="component_height"/>
<Option value="447" type="double" name="component_pos_x"/>
<Option value="209" type="double" name="component_pos_y"/>
<Option value="100" type="double" name="component_width"/>
<Option value="true" type="bool" name="outputs_collapsed"/>
<Option value="true" type="bool" name="parameters_collapsed"/>
</Option>
<Option value="input" type="QString" name="component_description"/>
<Option value="30" type="double" name="component_height"/>
<Option value="247" type="double" name="component_pos_x"/>
<Option value="254" type="double" name="component_pos_y"/>
<Option value="200" type="double" name="component_width"/>
<Option value="input" type="QString" name="name"/>
<Option value="true" type="bool" name="outputs_collapsed"/>
<Option value="true" type="bool" name="parameters_collapsed"/>
</Option>
</Option>
</Option>

View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8" ?>
<ogr:FeatureCollection
gml:id="aFeatureCollection"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ogr.maptools.org/ concave_hull_points.xsd"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:gml="http://www.opengis.net/gml/3.2">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-2.29257714762302 0.0</gml:lowerCorner><gml:upperCorner>3 8</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:featureMember>
<ogr:concave_hull_points gml:id="concave_hull_points.0">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>1.0 0.164303586321935</gml:lowerCorner><gml:upperCorner>3 3</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="concave_hull_points.geom.0"><gml:pointMember><gml:Point gml:id="concave_hull_points.geom.0.0"><gml:pos>1 1</gml:pos></gml:Point></gml:pointMember><gml:pointMember><gml:Point gml:id="concave_hull_points.geom.0.1"><gml:pos>1.32243536280234 2.19599666388657</gml:pos></gml:Point></gml:pointMember><gml:pointMember><gml:Point gml:id="concave_hull_points.geom.0.2"><gml:pos>3 3</gml:pos></gml:Point></gml:pointMember><gml:pointMember><gml:Point gml:id="concave_hull_points.geom.0.3"><gml:pos>2.57648040033361 0.164303586321935</gml:pos></gml:Point></gml:pointMember><gml:pointMember><gml:Point gml:id="concave_hull_points.geom.0.4"><gml:pos>2.05104253544621 1.30625521267723</gml:pos></gml:Point></gml:pointMember></gml:MultiPoint></ogr:geometryProperty>
<ogr:fid>points.0</ogr:fid>
<ogr:d>1</ogr:d>
</ogr:concave_hull_points>
</ogr:featureMember>
<ogr:featureMember>
<ogr:concave_hull_points gml:id="concave_hull_points.1">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>0.12443703085905 4.0</gml:lowerCorner><gml:upperCorner>2.0930775646372 5.85304420350292</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="concave_hull_points.geom.1"><gml:pointMember><gml:Point gml:id="concave_hull_points.geom.1.0"><gml:pos>2 5</gml:pos></gml:Point></gml:pointMember><gml:pointMember><gml:Point gml:id="concave_hull_points.geom.1.1"><gml:pos>1 4</gml:pos></gml:Point></gml:pointMember><gml:pointMember><gml:Point gml:id="concave_hull_points.geom.1.2"><gml:pos>0.12443703085905 4.11559633027523</gml:pos></gml:Point></gml:pointMember><gml:pointMember><gml:Point gml:id="concave_hull_points.geom.1.3"><gml:pos>2.0930775646372 5.85304420350292</gml:pos></gml:Point></gml:pointMember><gml:pointMember><gml:Point gml:id="concave_hull_points.geom.1.4"><gml:pos>1.36447039199333 4.67606338615513</gml:pos></gml:Point></gml:pointMember></gml:MultiPoint></ogr:geometryProperty>
<ogr:fid>points.3</ogr:fid>
<ogr:d>2</ogr:d>
</ogr:concave_hull_points>
</ogr:featureMember>
<ogr:featureMember>
<ogr:concave_hull_points gml:id="concave_hull_points.2">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-1 8</gml:lowerCorner><gml:upperCorner>-1 8</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="concave_hull_points.geom.2"><gml:pointMember><gml:Point gml:id="concave_hull_points.geom.2.0"><gml:pos>-1 8</gml:pos></gml:Point></gml:pointMember></gml:MultiPoint></ogr:geometryProperty>
<ogr:fid>points.5</ogr:fid>
<ogr:d>3</ogr:d>
</ogr:concave_hull_points>
</ogr:featureMember>
<ogr:featureMember>
<ogr:concave_hull_points gml:id="concave_hull_points.3">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-2.29257714762302 0.0</gml:lowerCorner><gml:upperCorner>-0.534111759799833 7.0</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiPoint srsName="urn:ogc:def:crs:EPSG::4326" gml:id="concave_hull_points.geom.3"><gml:pointMember><gml:Point gml:id="concave_hull_points.geom.3.0"><gml:pos>-1 7</gml:pos></gml:Point></gml:pointMember><gml:pointMember><gml:Point gml:id="concave_hull_points.geom.3.1"><gml:pos>-1 0</gml:pos></gml:Point></gml:pointMember><gml:pointMember><gml:Point gml:id="concave_hull_points.geom.3.2"><gml:pos>-0.534111759799833 1.34128440366972</gml:pos></gml:Point></gml:pointMember><gml:pointMember><gml:Point gml:id="concave_hull_points.geom.3.3"><gml:pos>-2.29257714762302 2.63736447039199</gml:pos></gml:Point></gml:pointMember><gml:pointMember><gml:Point gml:id="concave_hull_points.geom.3.4"><gml:pos>-1.36080066722268 3.97547956630525</gml:pos></gml:Point></gml:pointMember></gml:MultiPoint></ogr:geometryProperty>
<ogr:fid>points.7</ogr:fid>
<ogr:d>4</ogr:d>
</ogr:concave_hull_points>
</ogr:featureMember>
<ogr:featureMember>
<ogr:concave_hull_points gml:id="concave_hull_points.4">
<ogr:fid>points.9</ogr:fid>
<ogr:d>5</ogr:d>
</ogr:concave_hull_points>
</ogr:featureMember>
</ogr:FeatureCollection>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
targetNamespace="http://ogr.maptools.org/"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://www.opengis.net/gml/3.2"
xmlns:gmlsf="http://www.opengis.net/gmlsf/2.0"
elementFormDefault="qualified"
version="1.0">
<xs:annotation>
<xs:appinfo source="http://schemas.opengis.net/gmlsfProfile/2.0/gmlsfLevels.xsd">
<gmlsf:ComplianceLevel>0</gmlsf:ComplianceLevel>
</xs:appinfo>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="http://schemas.opengis.net/gml/3.2.1/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/gmlsf/2.0" schemaLocation="http://schemas.opengis.net/gmlsfProfile/2.0/gmlsfLevels.xsd"/>
<xs:element name="FeatureCollection" type="ogr:FeatureCollectionType" substitutionGroup="gml:AbstractFeature"/>
<xs:complexType name="FeatureCollectionType">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="featureMember">
<xs:complexType>
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureMemberType">
<xs:sequence>
<xs:element ref="gml:AbstractFeature"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="concave_hull_points" type="ogr:concave_hull_points_Type" substitutionGroup="gml:AbstractFeature"/>
<xs:complexType name="concave_hull_points_Type">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence>
<xs:element name="geometryProperty" type="gml:MultiPointPropertyType" nillable="true" minOccurs="0" maxOccurs="1"/><!-- srsName="urn:ogc:def:crs:EPSG::4326" -->
<xs:element name="fid" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="d" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:totalDigits value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>

View File

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="utf-8" ?>
<ogr:FeatureCollection
gml:id="aFeatureCollection"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ogr.maptools.org/ concave_hull_by_feature.xsd"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:gml="http://www.opengis.net/gml/3.2">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-2.29257714762302 0.0</gml:lowerCorner><gml:upperCorner>3 7</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:featureMember>
<ogr:concave_hull_by_feature gml:id="concave_hull_points.0">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>1.0 0.164303586321935</gml:lowerCorner><gml:upperCorner>3 3</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Polygon srsName="urn:ogc:def:crs:EPSG::4326" gml:id="concave_hull_by_feature.geom.0"><gml:exterior><gml:LinearRing><gml:posList>2.05104253544621 1.30625521267723 3 3 1.32243536280234 2.19599666388657 1 1 2.57648040033361 0.164303586321935 2.05104253544621 1.30625521267723</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></ogr:geometryProperty>
<ogr:fid>points.0</ogr:fid>
<ogr:d>1</ogr:d>
<ogr:area>2.298928</ogr:area>
<ogr:perimeter>8.081767</ogr:perimeter>
</ogr:concave_hull_by_feature>
</ogr:featureMember>
<ogr:featureMember>
<ogr:concave_hull_by_feature gml:id="concave_hull_points.1">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>0.12443703085905 4.0</gml:lowerCorner><gml:upperCorner>2.0930775646372 5.85304420350292</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Polygon srsName="urn:ogc:def:crs:EPSG::4326" gml:id="concave_hull_by_feature.geom.1"><gml:exterior><gml:LinearRing><gml:posList>0.12443703085905 4.11559633027523 1 4 2 5 2.0930775646372 5.85304420350292 1.36447039199333 4.67606338615513 0.12443703085905 4.11559633027523</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></ogr:geometryProperty>
<ogr:fid>points.3</ogr:fid>
<ogr:d>2</ogr:d>
<ogr:area>0.728822</ogr:area>
<ogr:perimeter>5.900544</ogr:perimeter>
</ogr:concave_hull_by_feature>
</ogr:featureMember>
<ogr:featureMember>
<ogr:concave_hull_by_feature gml:id="concave_hull_points.2">
<ogr:fid>points.5</ogr:fid>
<ogr:d>3</ogr:d>
<ogr:area xsi:nil="true"/>
<ogr:perimeter xsi:nil="true"/>
</ogr:concave_hull_by_feature>
</ogr:featureMember>
<ogr:featureMember>
<ogr:concave_hull_by_feature gml:id="concave_hull_points.3">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-2.29257714762302 0.0</gml:lowerCorner><gml:upperCorner>-0.534111759799833 7.0</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Polygon srsName="urn:ogc:def:crs:EPSG::4326" gml:id="concave_hull_by_feature.geom.3"><gml:exterior><gml:LinearRing><gml:posList>-0.534111759799833 1.34128440366972 -1.36080066722268 3.97547956630525 -1 7 -2.29257714762302 2.63736447039199 -1 0 -0.534111759799833 1.34128440366972</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></ogr:geometryProperty>
<ogr:fid>points.7</ogr:fid>
<ogr:d>4</ogr:d>
<ogr:area>4.429250</ogr:area>
<ogr:perimeter>14.713901</ogr:perimeter>
</ogr:concave_hull_by_feature>
</ogr:featureMember>
<ogr:featureMember>
<ogr:concave_hull_by_feature gml:id="concave_hull_points.4">
<ogr:fid>points.9</ogr:fid>
<ogr:d>5</ogr:d>
<ogr:area xsi:nil="true"/>
<ogr:perimeter xsi:nil="true"/>
</ogr:concave_hull_by_feature>
</ogr:featureMember>
</ogr:FeatureCollection>

View File

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
targetNamespace="http://ogr.maptools.org/"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://www.opengis.net/gml/3.2"
xmlns:gmlsf="http://www.opengis.net/gmlsf/2.0"
elementFormDefault="qualified"
version="1.0">
<xs:annotation>
<xs:appinfo source="http://schemas.opengis.net/gmlsfProfile/2.0/gmlsfLevels.xsd">
<gmlsf:ComplianceLevel>0</gmlsf:ComplianceLevel>
</xs:appinfo>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="http://schemas.opengis.net/gml/3.2.1/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/gmlsf/2.0" schemaLocation="http://schemas.opengis.net/gmlsfProfile/2.0/gmlsfLevels.xsd"/>
<xs:element name="FeatureCollection" type="ogr:FeatureCollectionType" substitutionGroup="gml:AbstractFeature"/>
<xs:complexType name="FeatureCollectionType">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="featureMember">
<xs:complexType>
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureMemberType">
<xs:sequence>
<xs:element ref="gml:AbstractFeature"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="concave_hull_by_feature" type="ogr:concave_hull_by_feature_Type" substitutionGroup="gml:AbstractFeature"/>
<xs:complexType name="concave_hull_by_feature_Type">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence>
<xs:element name="geometryProperty" type="gml:SurfacePropertyType" nillable="true" minOccurs="0" maxOccurs="1"/> <!-- restricted to Polygon --><!-- srsName="urn:ogc:def:crs:EPSG::4326" -->
<xs:element name="fid" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="d" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:totalDigits value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="area" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="21"/>
<xs:fractionDigits value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="perimeter" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:totalDigits value="21"/>
<xs:fractionDigits value="6"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>

View File

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="utf-8" ?>
<ogr:FeatureCollection
gml:id="aFeatureCollection"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ogr.maptools.org/ inner_model.xsd"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:gml="http://www.opengis.net/gml/3.2">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>-10 -557315.257274577</gml:lowerCorner><gml:upperCorner>890565.92634619 334121.17140196</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:featureMember>
<ogr:inner_model gml:id="inner_model.0">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>111309.490793272 111315.142866385</gml:lowerCorner><gml:upperCorner>111329.490793272 111335.142866385</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiSurface gml:id="inner_model.geom.0"><gml:surfaceMember><gml:Polygon gml:id="inner_model.geom.0.0"><gml:exterior><gml:LinearRing><gml:posList>111329.490793272 111325.142866385 111329.001358435 111322.052696441 111327.580963216 111319.265013862 111325.368645795 111317.052696441 111322.580963216 111315.632301222 111319.490793272 111315.142866385 111316.400623328 111315.632301222 111313.612940749 111317.052696441 111311.400623328 111319.265013862 111309.980228109 111322.052696441 111309.490793272 111325.142866385 111309.980228109 111328.233036329 111311.400623328 111331.020718908 111313.612940749 111333.233036329 111316.400623328 111334.653431548 111319.490793272 111335.142866385 111322.580963216 111334.653431548 111325.368645795 111333.233036329 111327.580963216 111331.020718908 111329.001358435 111328.233036329 111329.490793272 111325.142866385</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></ogr:geometryProperty>
<ogr:fid>points.0</ogr:fid>
<ogr:id>1</ogr:id>
<ogr:id2>2</ogr:id2>
</ogr:inner_model>
</ogr:featureMember>
<ogr:featureMember>
<ogr:inner_model gml:id="inner_model.1">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>333948.47237982 334101.17140196</gml:lowerCorner><gml:upperCorner>333968.47237982 334121.17140196</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiSurface gml:id="inner_model.geom.1"><gml:surfaceMember><gml:Polygon gml:id="inner_model.geom.1.0"><gml:exterior><gml:LinearRing><gml:posList>333968.47237982 334111.17140196 333967.982944983 334108.081232016 333966.562549764 334105.293549437 333964.350232343 334103.081232016 333961.562549764 334101.660836797 333958.47237982 334101.17140196 333955.382209876 334101.660836797 333952.594527297 334103.081232016 333950.382209876 334105.293549437 333948.961814657 334108.081232016 333948.47237982 334111.17140196 333948.961814657 334114.261571904 333950.382209876 334117.049254483 333952.594527297 334119.261571904 333955.382209876 334120.681967123 333958.47237982 334121.17140196 333961.562549764 334120.681967123 333964.350232343 334119.261571904 333966.562549764 334117.049254483 333967.982944983 334114.261571904 333968.47237982 334111.17140196</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></ogr:geometryProperty>
<ogr:fid>points.1</ogr:fid>
<ogr:id>2</ogr:id>
<ogr:id2>1</ogr:id2>
</ogr:inner_model>
</ogr:featureMember>
<ogr:featureMember>
<ogr:inner_model gml:id="inner_model.2">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>222628.981586547 222674.208505545</gml:lowerCorner><gml:upperCorner>222648.981586547 222694.208505545</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiSurface gml:id="inner_model.geom.2"><gml:surfaceMember><gml:Polygon gml:id="inner_model.geom.2.0"><gml:exterior><gml:LinearRing><gml:posList>222648.981586547 222684.208505545 222648.49215171 222681.118335601 222647.071756491 222678.330653022 222644.85943907 222676.118335601 222642.071756491 222674.697940382 222638.981586547 222674.208505545 222635.891416603 222674.697940382 222633.103734024 222676.118335601 222630.891416603 222678.330653022 222629.471021384 222681.118335601 222628.981586547 222684.208505545 222629.471021384 222687.298675489 222630.891416603 222690.086358068 222633.103734024 222692.298675489 222635.891416603 222693.719070708 222638.981586547 222694.208505545 222642.071756491 222693.719070708 222644.85943907 222692.298675489 222647.071756491 222690.086358068 222648.49215171 222687.298675489 222648.981586547 222684.208505545</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></ogr:geometryProperty>
<ogr:fid>points.2</ogr:fid>
<ogr:id>3</ogr:id>
<ogr:id2>0</ogr:id2>
</ogr:inner_model>
</ogr:featureMember>
<ogr:featureMember>
<ogr:inner_model gml:id="inner_model.3">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>556587.453966367 222674.208505545</gml:lowerCorner><gml:upperCorner>556607.453966367 222694.208505545</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiSurface gml:id="inner_model.geom.3"><gml:surfaceMember><gml:Polygon gml:id="inner_model.geom.3.0"><gml:exterior><gml:LinearRing><gml:posList>556607.453966367 222684.208505545 556606.96453153 222681.118335601 556605.544136311 222678.330653022 556603.33181889 222676.118335601 556600.544136311 222674.697940382 556597.453966367 222674.208505545 556594.363796423 222674.697940382 556591.576113844 222676.118335601 556589.363796423 222678.330653022 556587.943401204 222681.118335601 556587.453966367 222684.208505545 556587.943401204 222687.298675489 556589.363796423 222690.086358068 556591.576113844 222692.298675489 556594.363796423 222693.719070708 556597.453966367 222694.208505545 556600.544136311 222693.719070708 556603.33181889 222692.298675489 556605.544136311 222690.086358068 556606.96453153 222687.298675489 556607.453966367 222684.208505545</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></ogr:geometryProperty>
<ogr:fid>points.3</ogr:fid>
<ogr:id>4</ogr:id>
<ogr:id2>2</ogr:id2>
</ogr:inner_model>
</ogr:featureMember>
<ogr:featureMember>
<ogr:inner_model gml:id="inner_model.4">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>445267.963173095 111315.142866385</gml:lowerCorner><gml:upperCorner>445287.963173095 111335.142866385</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiSurface gml:id="inner_model.geom.4"><gml:surfaceMember><gml:Polygon gml:id="inner_model.geom.4.0"><gml:exterior><gml:LinearRing><gml:posList>445287.963173095 111325.142866385 445287.473738258 111322.052696441 445286.053343039 111319.265013862 445283.841025618 111317.052696441 445281.053343039 111315.632301222 445277.963173095 111315.142866385 445274.873003151 111315.632301222 445272.085320572 111317.052696441 445269.873003151 111319.265013862 445268.452607932 111322.052696441 445267.963173095 111325.142866385 445268.452607932 111328.233036329 445269.873003151 111331.020718908 445272.085320572 111333.233036329 445274.873003151 111334.653431548 445277.963173095 111335.142866385 445281.053343039 111334.653431548 445283.841025618 111333.233036329 445286.053343039 111331.020718908 445287.473738258 111328.233036329 445287.963173095 111325.142866385</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></ogr:geometryProperty>
<ogr:fid>points.4</ogr:fid>
<ogr:id>5</ogr:id>
<ogr:id2>1</ogr:id2>
</ogr:inner_model>
</ogr:featureMember>
<ogr:featureMember>
<ogr:inner_model gml:id="inner_model.5">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>-10 -557315.257274577</gml:lowerCorner><gml:upperCorner>10.0 -557295.257274577</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiSurface gml:id="inner_model.geom.5"><gml:surfaceMember><gml:Polygon gml:id="inner_model.geom.5.0"><gml:exterior><gml:LinearRing><gml:posList>10.0 -557305.257274577 9.51056516295153 -557308.347444521 8.09016994374947 -557311.1351271 5.87785252292473 -557313.347444521 3.09016994374947 -557314.76783974 0.0 -557315.257274577 -3.09016994374947 -557314.76783974 -5.87785252292473 -557313.347444521 -8.09016994374947 -557311.1351271 -9.51056516295153 -557308.347444521 -10 -557305.257274577 -9.51056516295154 -557302.167104633 -8.09016994374948 -557299.379422054 -5.87785252292473 -557297.167104633 -3.09016994374948 -557295.746709414 0.0 -557295.257274577 3.09016994374947 -557295.746709414 5.87785252292473 -557297.167104633 8.09016994374947 -557299.379422054 9.51056516295153 -557302.167104633 10.0 -557305.257274577</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></ogr:geometryProperty>
<ogr:fid>points.5</ogr:fid>
<ogr:id>6</ogr:id>
<ogr:id2>0</ogr:id2>
</ogr:inner_model>
</ogr:featureMember>
<ogr:featureMember>
<ogr:inner_model gml:id="inner_model.6">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>890545.92634619 -111335.142866386</gml:lowerCorner><gml:upperCorner>890565.92634619 -111315.142866386</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiSurface gml:id="inner_model.geom.6"><gml:surfaceMember><gml:Polygon gml:id="inner_model.geom.6.0"><gml:exterior><gml:LinearRing><gml:posList>890565.92634619 -111325.142866386 890565.436911353 -111328.23303633 890564.016516134 -111331.020718909 890561.804198713 -111333.23303633 890559.016516134 -111334.653431549 890555.92634619 -111335.142866386 890552.836176246 -111334.653431549 890550.048493667 -111333.23303633 890547.836176246 -111331.020718909 890546.415781027 -111328.23303633 890545.92634619 -111325.142866386 890546.415781027 -111322.052696442 890547.836176246 -111319.265013863 890550.048493667 -111317.052696442 890552.836176246 -111315.632301223 890555.92634619 -111315.142866386 890559.016516134 -111315.632301223 890561.804198713 -111317.052696442 890564.016516134 -111319.265013863 890565.436911353 -111322.052696442 890565.92634619 -111325.142866386</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></ogr:geometryProperty>
<ogr:fid>points.6</ogr:fid>
<ogr:id>7</ogr:id>
<ogr:id2>0</ogr:id2>
</ogr:inner_model>
</ogr:featureMember>
<ogr:featureMember>
<ogr:inner_model gml:id="inner_model.7">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>779226.435552915 -111335.142866386</gml:lowerCorner><gml:upperCorner>779246.435552915 -111315.142866386</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiSurface gml:id="inner_model.geom.7"><gml:surfaceMember><gml:Polygon gml:id="inner_model.geom.7.0"><gml:exterior><gml:LinearRing><gml:posList>779246.435552915 -111325.142866386 779245.946118078 -111328.23303633 779244.525722859 -111331.020718909 779242.313405438 -111333.23303633 779239.525722859 -111334.653431549 779236.435552915 -111335.142866386 779233.345382971 -111334.653431549 779230.557700392 -111333.23303633 779228.345382971 -111331.020718909 779226.924987752 -111328.23303633 779226.435552915 -111325.142866386 779226.924987752 -111322.052696442 779228.345382971 -111319.265013863 779230.557700392 -111317.052696442 779233.345382971 -111315.632301223 779236.435552915 -111315.142866386 779239.525722859 -111315.632301223 779242.313405438 -111317.052696442 779244.525722859 -111319.265013863 779245.946118078 -111322.052696442 779246.435552915 -111325.142866386</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></ogr:geometryProperty>
<ogr:fid>points.7</ogr:fid>
<ogr:id>8</ogr:id>
<ogr:id2>0</ogr:id2>
</ogr:inner_model>
</ogr:featureMember>
<ogr:featureMember>
<ogr:inner_model gml:id="inner_model.8">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>-10 -111335.142866386</gml:lowerCorner><gml:upperCorner>10.0 -111315.142866386</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiSurface gml:id="inner_model.geom.8"><gml:surfaceMember><gml:Polygon gml:id="inner_model.geom.8.0"><gml:exterior><gml:LinearRing><gml:posList>10.0 -111325.142866386 9.51056516295153 -111328.23303633 8.09016994374947 -111331.020718909 5.87785252292473 -111333.23303633 3.09016994374947 -111334.653431549 0.0 -111335.142866386 -3.09016994374947 -111334.653431549 -5.87785252292473 -111333.23303633 -8.09016994374947 -111331.020718909 -9.51056516295153 -111328.23303633 -10 -111325.142866386 -9.51056516295154 -111322.052696442 -8.09016994374948 -111319.265013863 -5.87785252292473 -111317.052696442 -3.09016994374948 -111315.632301223 0.0 -111315.142866386 3.09016994374947 -111315.632301223 5.87785252292473 -111317.052696442 8.09016994374947 -111319.265013863 9.51056516295153 -111322.052696442 10.0 -111325.142866386</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></ogr:geometryProperty>
<ogr:fid>points.8</ogr:fid>
<ogr:id>9</ogr:id>
<ogr:id2>0</ogr:id2>
</ogr:inner_model>
</ogr:featureMember>
</ogr:FeatureCollection>

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
targetNamespace="http://ogr.maptools.org/"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://www.opengis.net/gml/3.2"
xmlns:gmlsf="http://www.opengis.net/gmlsf/2.0"
elementFormDefault="qualified"
version="1.0">
<xs:annotation>
<xs:appinfo source="http://schemas.opengis.net/gmlsfProfile/2.0/gmlsfLevels.xsd">
<gmlsf:ComplianceLevel>0</gmlsf:ComplianceLevel>
</xs:appinfo>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="http://schemas.opengis.net/gml/3.2.1/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/gmlsf/2.0" schemaLocation="http://schemas.opengis.net/gmlsfProfile/2.0/gmlsfLevels.xsd"/>
<xs:element name="FeatureCollection" type="ogr:FeatureCollectionType" substitutionGroup="gml:AbstractFeature"/>
<xs:complexType name="FeatureCollectionType">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="featureMember">
<xs:complexType>
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureMemberType">
<xs:sequence>
<xs:element ref="gml:AbstractFeature"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="inner_model" type="ogr:inner_model_Type" substitutionGroup="gml:AbstractFeature"/>
<xs:complexType name="inner_model_Type">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence>
<xs:element name="geometryProperty" type="gml:MultiSurfacePropertyType" nillable="true" minOccurs="0" maxOccurs="1"/> <!-- restricted to MultiPolygon -->
<xs:element name="fid" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="id" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:long">
<xs:totalDigits value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="id2" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:long">
<xs:totalDigits value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>

View File

@ -0,0 +1,127 @@
<?xml version="1.0" encoding="utf-8" ?>
<ogr:FeatureCollection
gml:id="aFeatureCollection"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ogr.maptools.org/ join_attributes_subset_ordered.xsd"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:gml="http://www.opengis.net/gml/3.2">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-5 0</gml:lowerCorner><gml:upperCorner>3 8</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:featureMember>
<ogr:join_attributes_subset_ordered gml:id="join_attributes_subset_ordered.0">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>1 1</gml:lowerCorner><gml:upperCorner>1 1</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="join_attributes_subset_ordered.geom.0"><gml:pos>1 1</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.0</ogr:fid>
<ogr:id>1</ogr:id>
<ogr:id2>2</ogr:id2>
<ogr:fid_2>airports.0</ogr:fid_2>
<ogr:fk_region>18</ogr:fk_region>
<ogr:ELEV>78</ogr:ELEV>
<ogr:NAME>NOATAK</ogr:NAME>
</ogr:join_attributes_subset_ordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:join_attributes_subset_ordered gml:id="join_attributes_subset_ordered.1">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>3 3</gml:lowerCorner><gml:upperCorner>3 3</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="join_attributes_subset_ordered.geom.1"><gml:pos>3 3</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.1</ogr:fid>
<ogr:id>2</ogr:id>
<ogr:id2>1</ogr:id2>
<ogr:fid_2>airports.1</ogr:fid_2>
<ogr:fk_region>18</ogr:fk_region>
<ogr:ELEV>264</ogr:ELEV>
<ogr:NAME>AMBLER</ogr:NAME>
</ogr:join_attributes_subset_ordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:join_attributes_subset_ordered gml:id="join_attributes_subset_ordered.2">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>2 2</gml:lowerCorner><gml:upperCorner>2 2</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="join_attributes_subset_ordered.geom.2"><gml:pos>2 2</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.2</ogr:fid>
<ogr:id>3</ogr:id>
<ogr:id2>0</ogr:id2>
<ogr:fid_2>airports.2</ogr:fid_2>
<ogr:fk_region>26</ogr:fk_region>
<ogr:ELEV>585</ogr:ELEV>
<ogr:NAME>BETTLES</ogr:NAME>
</ogr:join_attributes_subset_ordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:join_attributes_subset_ordered gml:id="join_attributes_subset_ordered.3">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>2 5</gml:lowerCorner><gml:upperCorner>2 5</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="join_attributes_subset_ordered.geom.3"><gml:pos>2 5</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.3</ogr:fid>
<ogr:id>4</ogr:id>
<ogr:id2>2</ogr:id2>
<ogr:fid_2>airports.3</ogr:fid_2>
<ogr:fk_region>18</ogr:fk_region>
<ogr:ELEV>9</ogr:ELEV>
<ogr:NAME>RALPH WIEN MEM</ogr:NAME>
</ogr:join_attributes_subset_ordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:join_attributes_subset_ordered gml:id="join_attributes_subset_ordered.4">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>1 4</gml:lowerCorner><gml:upperCorner>1 4</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="join_attributes_subset_ordered.geom.4"><gml:pos>1 4</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.4</ogr:fid>
<ogr:id>5</ogr:id>
<ogr:id2>1</ogr:id2>
<ogr:fid_2>airports.4</ogr:fid_2>
<ogr:fk_region>18</ogr:fk_region>
<ogr:ELEV>21</ogr:ELEV>
<ogr:NAME>SELAWIK</ogr:NAME>
</ogr:join_attributes_subset_ordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:join_attributes_subset_ordered gml:id="join_attributes_subset_ordered.5">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-5 0</gml:lowerCorner><gml:upperCorner>-5 0</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="join_attributes_subset_ordered.geom.5"><gml:pos>-5 0</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.5</ogr:fid>
<ogr:id>6</ogr:id>
<ogr:id2>0</ogr:id2>
<ogr:fid_2>airports.5</ogr:fid_2>
<ogr:fk_region>26</ogr:fk_region>
<ogr:ELEV>1113</ogr:ELEV>
<ogr:NAME>INDIAN MOUNTAIN LRRS</ogr:NAME>
</ogr:join_attributes_subset_ordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:join_attributes_subset_ordered gml:id="join_attributes_subset_ordered.6">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-1 8</gml:lowerCorner><gml:upperCorner>-1 8</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="join_attributes_subset_ordered.geom.6"><gml:pos>-1 8</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.6</ogr:fid>
<ogr:id>7</ogr:id>
<ogr:id2>0</ogr:id2>
<ogr:fid_2>airports.6</ogr:fid_2>
<ogr:fk_region>18</ogr:fk_region>
<ogr:ELEV>21</ogr:ELEV>
<ogr:NAME>BUCKLAND</ogr:NAME>
</ogr:join_attributes_subset_ordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:join_attributes_subset_ordered gml:id="join_attributes_subset_ordered.7">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-1 7</gml:lowerCorner><gml:upperCorner>-1 7</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="join_attributes_subset_ordered.geom.7"><gml:pos>-1 7</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.7</ogr:fid>
<ogr:id>8</ogr:id>
<ogr:id2>0</ogr:id2>
<ogr:fid_2>airports.7</ogr:fid_2>
<ogr:fk_region>16</ogr:fk_region>
<ogr:ELEV>243</ogr:ELEV>
<ogr:NAME>TIN CITY LRRS</ogr:NAME>
</ogr:join_attributes_subset_ordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:join_attributes_subset_ordered gml:id="join_attributes_subset_ordered.8">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-1 0</gml:lowerCorner><gml:upperCorner>-1 0</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="join_attributes_subset_ordered.geom.8"><gml:pos>-1 0</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.8</ogr:fid>
<ogr:id>9</ogr:id>
<ogr:id2>0</ogr:id2>
<ogr:fid_2>airports.8</ogr:fid_2>
<ogr:fk_region>16</ogr:fk_region>
<ogr:ELEV>1329</ogr:ELEV>
<ogr:NAME>GRANITE MOUNTAIN AFS</ogr:NAME>
</ogr:join_attributes_subset_ordered>
</ogr:featureMember>
</ogr:FeatureCollection>

View File

@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
targetNamespace="http://ogr.maptools.org/"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://www.opengis.net/gml/3.2"
xmlns:gmlsf="http://www.opengis.net/gmlsf/2.0"
elementFormDefault="qualified"
version="1.0">
<xs:annotation>
<xs:appinfo source="http://schemas.opengis.net/gmlsfProfile/2.0/gmlsfLevels.xsd">
<gmlsf:ComplianceLevel>0</gmlsf:ComplianceLevel>
</xs:appinfo>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="http://schemas.opengis.net/gml/3.2.1/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/gmlsf/2.0" schemaLocation="http://schemas.opengis.net/gmlsfProfile/2.0/gmlsfLevels.xsd"/>
<xs:element name="FeatureCollection" type="ogr:FeatureCollectionType" substitutionGroup="gml:AbstractFeature"/>
<xs:complexType name="FeatureCollectionType">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="featureMember">
<xs:complexType>
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureMemberType">
<xs:sequence>
<xs:element ref="gml:AbstractFeature"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="join_attributes_subset_ordered" type="ogr:join_attributes_subset_ordered_Type" substitutionGroup="gml:AbstractFeature"/>
<xs:complexType name="join_attributes_subset_ordered_Type">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence>
<xs:element name="geometryProperty" type="gml:PointPropertyType" nillable="true" minOccurs="0" maxOccurs="1"/><!-- srsName="urn:ogc:def:crs:EPSG::4326" -->
<xs:element name="fid" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="id" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:totalDigits value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="id2" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:totalDigits value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fid_2" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fk_region" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:totalDigits value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ELEV" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:decimal">
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NAME" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="26"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>

View File

@ -0,0 +1,127 @@
<?xml version="1.0" encoding="utf-8" ?>
<ogr:FeatureCollection
gml:id="aFeatureCollection"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ogr.maptools.org/ join_attributes_subset_unordered.xsd"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:gml="http://www.opengis.net/gml/3.2">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-5 0</gml:lowerCorner><gml:upperCorner>3 8</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:featureMember>
<ogr:join_attributes_subset_unordered gml:id="join_attributes_subset_unordered.0">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>1 1</gml:lowerCorner><gml:upperCorner>1 1</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="join_attributes_subset_unordered.geom.0"><gml:pos>1 1</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.0</ogr:fid>
<ogr:id>1</ogr:id>
<ogr:id2>2</ogr:id2>
<ogr:ELEV>78</ogr:ELEV>
<ogr:NAME>NOATAK</ogr:NAME>
<ogr:fk_region>18</ogr:fk_region>
<ogr:fid_2>airports.0</ogr:fid_2>
</ogr:join_attributes_subset_unordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:join_attributes_subset_unordered gml:id="join_attributes_subset_unordered.1">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>3 3</gml:lowerCorner><gml:upperCorner>3 3</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="join_attributes_subset_unordered.geom.1"><gml:pos>3 3</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.1</ogr:fid>
<ogr:id>2</ogr:id>
<ogr:id2>1</ogr:id2>
<ogr:ELEV>264</ogr:ELEV>
<ogr:NAME>AMBLER</ogr:NAME>
<ogr:fk_region>18</ogr:fk_region>
<ogr:fid_2>airports.1</ogr:fid_2>
</ogr:join_attributes_subset_unordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:join_attributes_subset_unordered gml:id="join_attributes_subset_unordered.2">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>2 2</gml:lowerCorner><gml:upperCorner>2 2</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="join_attributes_subset_unordered.geom.2"><gml:pos>2 2</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.2</ogr:fid>
<ogr:id>3</ogr:id>
<ogr:id2>0</ogr:id2>
<ogr:ELEV>585</ogr:ELEV>
<ogr:NAME>BETTLES</ogr:NAME>
<ogr:fk_region>26</ogr:fk_region>
<ogr:fid_2>airports.2</ogr:fid_2>
</ogr:join_attributes_subset_unordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:join_attributes_subset_unordered gml:id="join_attributes_subset_unordered.3">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>2 5</gml:lowerCorner><gml:upperCorner>2 5</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="join_attributes_subset_unordered.geom.3"><gml:pos>2 5</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.3</ogr:fid>
<ogr:id>4</ogr:id>
<ogr:id2>2</ogr:id2>
<ogr:ELEV>9</ogr:ELEV>
<ogr:NAME>RALPH WIEN MEM</ogr:NAME>
<ogr:fk_region>18</ogr:fk_region>
<ogr:fid_2>airports.3</ogr:fid_2>
</ogr:join_attributes_subset_unordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:join_attributes_subset_unordered gml:id="join_attributes_subset_unordered.4">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>1 4</gml:lowerCorner><gml:upperCorner>1 4</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="join_attributes_subset_unordered.geom.4"><gml:pos>1 4</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.4</ogr:fid>
<ogr:id>5</ogr:id>
<ogr:id2>1</ogr:id2>
<ogr:ELEV>21</ogr:ELEV>
<ogr:NAME>SELAWIK</ogr:NAME>
<ogr:fk_region>18</ogr:fk_region>
<ogr:fid_2>airports.4</ogr:fid_2>
</ogr:join_attributes_subset_unordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:join_attributes_subset_unordered gml:id="join_attributes_subset_unordered.5">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-5 0</gml:lowerCorner><gml:upperCorner>-5 0</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="join_attributes_subset_unordered.geom.5"><gml:pos>-5 0</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.5</ogr:fid>
<ogr:id>6</ogr:id>
<ogr:id2>0</ogr:id2>
<ogr:ELEV>1113</ogr:ELEV>
<ogr:NAME>INDIAN MOUNTAIN LRRS</ogr:NAME>
<ogr:fk_region>26</ogr:fk_region>
<ogr:fid_2>airports.5</ogr:fid_2>
</ogr:join_attributes_subset_unordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:join_attributes_subset_unordered gml:id="join_attributes_subset_unordered.6">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-1 8</gml:lowerCorner><gml:upperCorner>-1 8</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="join_attributes_subset_unordered.geom.6"><gml:pos>-1 8</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.6</ogr:fid>
<ogr:id>7</ogr:id>
<ogr:id2>0</ogr:id2>
<ogr:ELEV>21</ogr:ELEV>
<ogr:NAME>BUCKLAND</ogr:NAME>
<ogr:fk_region>18</ogr:fk_region>
<ogr:fid_2>airports.6</ogr:fid_2>
</ogr:join_attributes_subset_unordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:join_attributes_subset_unordered gml:id="join_attributes_subset_unordered.7">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-1 7</gml:lowerCorner><gml:upperCorner>-1 7</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="join_attributes_subset_unordered.geom.7"><gml:pos>-1 7</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.7</ogr:fid>
<ogr:id>8</ogr:id>
<ogr:id2>0</ogr:id2>
<ogr:ELEV>243</ogr:ELEV>
<ogr:NAME>TIN CITY LRRS</ogr:NAME>
<ogr:fk_region>16</ogr:fk_region>
<ogr:fid_2>airports.7</ogr:fid_2>
</ogr:join_attributes_subset_unordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:join_attributes_subset_unordered gml:id="join_attributes_subset_unordered.8">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-1 0</gml:lowerCorner><gml:upperCorner>-1 0</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="join_attributes_subset_unordered.geom.8"><gml:pos>-1 0</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.8</ogr:fid>
<ogr:id>9</ogr:id>
<ogr:id2>0</ogr:id2>
<ogr:ELEV>1329</ogr:ELEV>
<ogr:NAME>GRANITE MOUNTAIN AFS</ogr:NAME>
<ogr:fk_region>16</ogr:fk_region>
<ogr:fid_2>airports.8</ogr:fid_2>
</ogr:join_attributes_subset_unordered>
</ogr:featureMember>
</ogr:FeatureCollection>

View File

@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
targetNamespace="http://ogr.maptools.org/"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://www.opengis.net/gml/3.2"
xmlns:gmlsf="http://www.opengis.net/gmlsf/2.0"
elementFormDefault="qualified"
version="1.0">
<xs:annotation>
<xs:appinfo source="http://schemas.opengis.net/gmlsfProfile/2.0/gmlsfLevels.xsd">
<gmlsf:ComplianceLevel>0</gmlsf:ComplianceLevel>
</xs:appinfo>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="http://schemas.opengis.net/gml/3.2.1/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/gmlsf/2.0" schemaLocation="http://schemas.opengis.net/gmlsfProfile/2.0/gmlsfLevels.xsd"/>
<xs:element name="FeatureCollection" type="ogr:FeatureCollectionType" substitutionGroup="gml:AbstractFeature"/>
<xs:complexType name="FeatureCollectionType">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="featureMember">
<xs:complexType>
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureMemberType">
<xs:sequence>
<xs:element ref="gml:AbstractFeature"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="join_attributes_subset_unordered" type="ogr:join_attributes_subset_unordered_Type" substitutionGroup="gml:AbstractFeature"/>
<xs:complexType name="join_attributes_subset_unordered_Type">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence>
<xs:element name="geometryProperty" type="gml:PointPropertyType" nillable="true" minOccurs="0" maxOccurs="1"/><!-- srsName="urn:ogc:def:crs:EPSG::4326" -->
<xs:element name="fid" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="id" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:totalDigits value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="id2" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:totalDigits value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ELEV" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:decimal">
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NAME" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="26"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fk_region" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:totalDigits value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fid_2" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>

View File

@ -0,0 +1,181 @@
<?xml version="1.0" encoding="utf-8" ?>
<ogr:FeatureCollection
gml:id="aFeatureCollection"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ogr.maptools.org/ nearest_field_subset_unordered.xsd"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:gml="http://www.opengis.net/gml/3.2">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-5 0</gml:lowerCorner><gml:upperCorner>3 8</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:featureMember>
<ogr:nearest_field_subset_unordered gml:id="nearest_field_subset_unordered.0">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>1 1</gml:lowerCorner><gml:upperCorner>1 1</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="nearest_field_subset_unordered.geom.0"><gml:pos>1 1</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.0</ogr:fid>
<ogr:id>1</ogr:id>
<ogr:id2>2</ogr:id2>
<ogr:USE>Other</ogr:USE>
<ogr:NAME>ANNETTE ISLAND</ogr:NAME>
<ogr:fk_region>19</ogr:fk_region>
<ogr:ELEV>108</ogr:ELEV>
<ogr:n>1</ogr:n>
<ogr:distance>143.164179420743</ogr:distance>
<ogr:feature_x>1</ogr:feature_x>
<ogr:feature_y>1</ogr:feature_y>
<ogr:nearest_x>-131.572235108872</ogr:nearest_x>
<ogr:nearest_y>55.0424346921242</ogr:nearest_y>
</ogr:nearest_field_subset_unordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:nearest_field_subset_unordered gml:id="nearest_field_subset_unordered.1">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>3 3</gml:lowerCorner><gml:upperCorner>3 3</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="nearest_field_subset_unordered.geom.1"><gml:pos>3 3</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.1</ogr:fid>
<ogr:id>2</ogr:id>
<ogr:id2>1</ogr:id2>
<ogr:USE>Other</ogr:USE>
<ogr:NAME>ANNETTE ISLAND</ogr:NAME>
<ogr:fk_region>19</ogr:fk_region>
<ogr:ELEV>108</ogr:ELEV>
<ogr:n>1</ogr:n>
<ogr:distance>144.284792930099</ogr:distance>
<ogr:feature_x>3</ogr:feature_x>
<ogr:feature_y>3</ogr:feature_y>
<ogr:nearest_x>-131.572235108872</ogr:nearest_x>
<ogr:nearest_y>55.0424346921242</ogr:nearest_y>
</ogr:nearest_field_subset_unordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:nearest_field_subset_unordered gml:id="nearest_field_subset_unordered.2">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>2 2</gml:lowerCorner><gml:upperCorner>2 2</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="nearest_field_subset_unordered.geom.2"><gml:pos>2 2</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.2</ogr:fid>
<ogr:id>3</ogr:id>
<ogr:id2>0</ogr:id2>
<ogr:USE>Other</ogr:USE>
<ogr:NAME>ANNETTE ISLAND</ogr:NAME>
<ogr:fk_region>19</ogr:fk_region>
<ogr:ELEV>108</ogr:ELEV>
<ogr:n>1</ogr:n>
<ogr:distance>143.718620470863</ogr:distance>
<ogr:feature_x>2</ogr:feature_x>
<ogr:feature_y>2</ogr:feature_y>
<ogr:nearest_x>-131.572235108872</ogr:nearest_x>
<ogr:nearest_y>55.0424346921242</ogr:nearest_y>
</ogr:nearest_field_subset_unordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:nearest_field_subset_unordered gml:id="nearest_field_subset_unordered.3">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>2 5</gml:lowerCorner><gml:upperCorner>2 5</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="nearest_field_subset_unordered.geom.3"><gml:pos>2 5</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.3</ogr:fid>
<ogr:id>4</ogr:id>
<ogr:id2>2</ogr:id2>
<ogr:USE>Other</ogr:USE>
<ogr:NAME>ANNETTE ISLAND</ogr:NAME>
<ogr:fk_region>19</ogr:fk_region>
<ogr:ELEV>108</ogr:ELEV>
<ogr:n>1</ogr:n>
<ogr:distance>146.511007370441</ogr:distance>
<ogr:feature_x>5</ogr:feature_x>
<ogr:feature_y>2</ogr:feature_y>
<ogr:nearest_x>-131.572235108872</ogr:nearest_x>
<ogr:nearest_y>55.0424346921242</ogr:nearest_y>
</ogr:nearest_field_subset_unordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:nearest_field_subset_unordered gml:id="nearest_field_subset_unordered.4">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>1 4</gml:lowerCorner><gml:upperCorner>1 4</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="nearest_field_subset_unordered.geom.4"><gml:pos>1 4</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.4</ogr:fid>
<ogr:id>5</ogr:id>
<ogr:id2>1</ogr:id2>
<ogr:USE>Other</ogr:USE>
<ogr:NAME>ANNETTE ISLAND</ogr:NAME>
<ogr:fk_region>19</ogr:fk_region>
<ogr:ELEV>108</ogr:ELEV>
<ogr:n>1</ogr:n>
<ogr:distance>145.946619282078</ogr:distance>
<ogr:feature_x>4</ogr:feature_x>
<ogr:feature_y>1</ogr:feature_y>
<ogr:nearest_x>-131.572235108872</ogr:nearest_x>
<ogr:nearest_y>55.0424346921242</ogr:nearest_y>
</ogr:nearest_field_subset_unordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:nearest_field_subset_unordered gml:id="nearest_field_subset_unordered.5">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-5 0</gml:lowerCorner><gml:upperCorner>-5 0</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="nearest_field_subset_unordered.geom.5"><gml:pos>-5 0</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.5</ogr:fid>
<ogr:id>6</ogr:id>
<ogr:id2>0</ogr:id2>
<ogr:USE>Other</ogr:USE>
<ogr:NAME>ANNETTE ISLAND</ogr:NAME>
<ogr:fk_region>19</ogr:fk_region>
<ogr:ELEV>108</ogr:ELEV>
<ogr:n>1</ogr:n>
<ogr:distance>144.624849231736</ogr:distance>
<ogr:feature_x>0</ogr:feature_x>
<ogr:feature_y>-5</ogr:feature_y>
<ogr:nearest_x>-131.572235108872</ogr:nearest_x>
<ogr:nearest_y>55.0424346921242</ogr:nearest_y>
</ogr:nearest_field_subset_unordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:nearest_field_subset_unordered gml:id="nearest_field_subset_unordered.6">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-1 8</gml:lowerCorner><gml:upperCorner>-1 8</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="nearest_field_subset_unordered.geom.6"><gml:pos>-1 8</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.6</ogr:fid>
<ogr:id>7</ogr:id>
<ogr:id2>0</ogr:id2>
<ogr:USE>Other</ogr:USE>
<ogr:NAME>ANNETTE ISLAND</ogr:NAME>
<ogr:fk_region>19</ogr:fk_region>
<ogr:ELEV>108</ogr:ELEV>
<ogr:n>1</ogr:n>
<ogr:distance>150.403335400207</ogr:distance>
<ogr:feature_x>8</ogr:feature_x>
<ogr:feature_y>-1</ogr:feature_y>
<ogr:nearest_x>-131.572235108872</ogr:nearest_x>
<ogr:nearest_y>55.0424346921242</ogr:nearest_y>
</ogr:nearest_field_subset_unordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:nearest_field_subset_unordered gml:id="nearest_field_subset_unordered.7">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-1 7</gml:lowerCorner><gml:upperCorner>-1 7</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="nearest_field_subset_unordered.geom.7"><gml:pos>-1 7</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.7</ogr:fid>
<ogr:id>8</ogr:id>
<ogr:id2>0</ogr:id2>
<ogr:USE>Other</ogr:USE>
<ogr:NAME>ANNETTE ISLAND</ogr:NAME>
<ogr:fk_region>19</ogr:fk_region>
<ogr:ELEV>108</ogr:ELEV>
<ogr:n>1</ogr:n>
<ogr:distance>149.4758135261</ogr:distance>
<ogr:feature_x>7</ogr:feature_x>
<ogr:feature_y>-1</ogr:feature_y>
<ogr:nearest_x>-131.572235108872</ogr:nearest_x>
<ogr:nearest_y>55.0424346921242</ogr:nearest_y>
</ogr:nearest_field_subset_unordered>
</ogr:featureMember>
<ogr:featureMember>
<ogr:nearest_field_subset_unordered gml:id="nearest_field_subset_unordered.8">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326"><gml:lowerCorner>-1 0</gml:lowerCorner><gml:upperCorner>-1 0</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:Point srsName="urn:ogc:def:crs:EPSG::4326" gml:id="nearest_field_subset_unordered.geom.8"><gml:pos>-1 0</gml:pos></gml:Point></ogr:geometryProperty>
<ogr:fid>points.8</ogr:fid>
<ogr:id>9</ogr:id>
<ogr:id2>0</ogr:id2>
<ogr:USE>Other</ogr:USE>
<ogr:NAME>ANNETTE ISLAND</ogr:NAME>
<ogr:fk_region>19</ogr:fk_region>
<ogr:ELEV>108</ogr:ELEV>
<ogr:n>1</ogr:n>
<ogr:distance>143.010515479685</ogr:distance>
<ogr:feature_x>0</ogr:feature_x>
<ogr:feature_y>-1</ogr:feature_y>
<ogr:nearest_x>-131.572235108872</ogr:nearest_x>
<ogr:nearest_y>55.0424346921242</ogr:nearest_y>
</ogr:nearest_field_subset_unordered>
</ogr:featureMember>
</ogr:FeatureCollection>

View File

@ -0,0 +1,131 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
targetNamespace="http://ogr.maptools.org/"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://www.opengis.net/gml/3.2"
xmlns:gmlsf="http://www.opengis.net/gmlsf/2.0"
elementFormDefault="qualified"
version="1.0">
<xs:annotation>
<xs:appinfo source="http://schemas.opengis.net/gmlsfProfile/2.0/gmlsfLevels.xsd">
<gmlsf:ComplianceLevel>0</gmlsf:ComplianceLevel>
</xs:appinfo>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="http://schemas.opengis.net/gml/3.2.1/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/gmlsf/2.0" schemaLocation="http://schemas.opengis.net/gmlsfProfile/2.0/gmlsfLevels.xsd"/>
<xs:element name="FeatureCollection" type="ogr:FeatureCollectionType" substitutionGroup="gml:AbstractFeature"/>
<xs:complexType name="FeatureCollectionType">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="featureMember">
<xs:complexType>
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureMemberType">
<xs:sequence>
<xs:element ref="gml:AbstractFeature"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="nearest_field_subset_unordered" type="ogr:nearest_field_subset_unordered_Type" substitutionGroup="gml:AbstractFeature"/>
<xs:complexType name="nearest_field_subset_unordered_Type">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence>
<xs:element name="geometryProperty" type="gml:PointPropertyType" nillable="true" minOccurs="0" maxOccurs="1"/><!-- srsName="urn:ogc:def:crs:EPSG::4326" -->
<xs:element name="fid" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="id" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:totalDigits value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="id2" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:totalDigits value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="USE" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="23"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NAME" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="26"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fk_region" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:totalDigits value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ELEV" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:decimal">
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="n" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:totalDigits value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="distance" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:decimal">
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="feature_x" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:decimal">
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="feature_y" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:decimal">
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="nearest_x" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:decimal">
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="nearest_y" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:decimal">
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>

View File

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="utf-8" ?>
<ogr:FeatureCollection
gml:id="aFeatureCollection"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ogr.maptools.org/ nested_models.xsd"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:gml="http://www.opengis.net/gml/3.2">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>-19.8768834059516 -557325.134157983</gml:lowerCorner><gml:upperCorner>890575.803229596 334131.048285366</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:featureMember>
<ogr:nested_models gml:id="nested_models.0">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>111299.613909866 111305.265982979</gml:lowerCorner><gml:upperCorner>111339.367676678 111345.019749791</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiSurface gml:id="nested_models.geom.0"><gml:surfaceMember><gml:Polygon gml:id="nested_models.geom.0.0"><gml:exterior><gml:LinearRing><gml:posList>111339.367676678 111326.707211035 111339.367676678 111323.578521735 111338.878241841 111320.488351791 111337.911423677 111317.512791444 111336.491028458 111314.725108865 111334.652031028 111312.19394605 111332.439713607 111309.981628629 111329.908550792 111308.142631199 111327.120868213 111306.72223598 111324.145307866 111305.755417816 111321.055137922 111305.265982979 111317.926448622 111305.265982979 111314.836278678 111305.755417816 111311.860718331 111306.72223598 111309.073035752 111308.142631199 111306.541872937 111309.981628629 111304.329555516 111312.19394605 111302.490558086 111314.725108865 111301.070162867 111317.512791444 111300.103344703 111320.488351791 111299.613909866 111323.578521735 111299.613909866 111326.707211035 111300.103344703 111329.797380979 111301.070162867 111332.772941326 111302.490558086 111335.560623905 111304.329555516 111338.09178672 111306.541872937 111340.304104141 111309.073035752 111342.143101571 111311.860718331 111343.56349679 111314.836278678 111344.530314954 111317.926448622 111345.019749791 111321.055137922 111345.019749791 111324.145307866 111344.530314954 111327.120868213 111343.56349679 111329.908550792 111342.143101571 111332.439713607 111340.304104141 111334.652031028 111338.09178672 111336.491028458 111335.560623905 111337.911423677 111332.772941326 111338.878241841 111329.797380979 111339.367676678 111326.707211035</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></ogr:geometryProperty>
<ogr:fid>points.0</ogr:fid>
<ogr:id>1</ogr:id>
<ogr:id2>2</ogr:id2>
</ogr:nested_models>
</ogr:featureMember>
<ogr:featureMember>
<ogr:nested_models gml:id="nested_models.1">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>333938.595496414 334091.294518554</gml:lowerCorner><gml:upperCorner>333978.349263226 334131.048285366</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiSurface gml:id="nested_models.geom.1"><gml:surfaceMember><gml:Polygon gml:id="nested_models.geom.1.0"><gml:exterior><gml:LinearRing><gml:posList>333978.349263226 334112.735746611 333978.349263226 334109.60705731 333977.859828389 334106.516887366 333976.893010225 334103.541327019 333975.472615006 334100.75364444 333973.633617576 334098.222481625 333971.421300155 334096.010164204 333968.89013734 334094.171166774 333966.102454761 334092.750771555 333963.126894414 334091.783953391 333960.03672447 334091.294518554 333956.90803517 334091.294518554 333953.817865226 334091.783953391 333950.842304879 334092.750771555 333948.0546223 334094.171166774 333945.523459485 334096.010164204 333943.311142064 334098.222481625 333941.472144634 334100.75364444 333940.051749415 334103.541327019 333939.084931251 334106.516887366 333938.595496414 334109.60705731 333938.595496414 334112.735746611 333939.084931251 334115.825916554 333940.051749415 334118.801476901 333941.472144634 334121.58915948 333943.311142064 334124.120322295 333945.523459485 334126.332639716 333948.0546223 334128.171637146 333950.842304879 334129.592032365 333953.817865226 334130.558850529 333956.90803517 334131.048285366 333960.03672447 334131.048285366 333963.126894414 334130.558850529 333966.102454761 334129.592032365 333968.89013734 334128.171637146 333971.421300155 334126.332639716 333973.633617576 334124.120322295 333975.472615006 334121.58915948 333976.893010225 334118.801476901 333977.859828389 334115.825916554 333978.349263226 334112.735746611</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></ogr:geometryProperty>
<ogr:fid>points.1</ogr:fid>
<ogr:id>2</ogr:id>
<ogr:id2>1</ogr:id2>
</ogr:nested_models>
</ogr:featureMember>
<ogr:featureMember>
<ogr:nested_models gml:id="nested_models.2">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>222619.104703141 222664.331622139</gml:lowerCorner><gml:upperCorner>222658.858469953 222704.085388951</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiSurface gml:id="nested_models.geom.2"><gml:surfaceMember><gml:Polygon gml:id="nested_models.geom.2.0"><gml:exterior><gml:LinearRing><gml:posList>222658.858469953 222685.772850195 222658.858469953 222682.644160895 222658.369035116 222679.553990951 222657.402216952 222676.578430604 222655.981821733 222673.790748025 222654.142824303 222671.25958521 222651.930506882 222669.047267789 222649.399344067 222667.208270359 222646.611661488 222665.78787514 222643.636101141 222664.821056976 222640.545931197 222664.331622139 222637.417241897 222664.331622139 222634.327071953 222664.821056976 222631.351511606 222665.78787514 222628.563829027 222667.208270359 222626.032666212 222669.047267789 222623.820348791 222671.25958521 222621.981351361 222673.790748025 222620.560956142 222676.578430604 222619.594137978 222679.553990951 222619.104703141 222682.644160895 222619.104703141 222685.772850195 222619.594137978 222688.863020139 222620.560956142 222691.838580486 222621.981351361 222694.626263065 222623.820348791 222697.15742588 222626.032666212 222699.369743301 222628.563829027 222701.208740731 222631.351511606 222702.62913595 222634.327071953 222703.595954114 222637.417241897 222704.085388951 222640.545931197 222704.085388951 222643.636101141 222703.595954114 222646.611661488 222702.62913595 222649.399344067 222701.208740731 222651.930506882 222699.369743301 222654.142824303 222697.15742588 222655.981821733 222694.626263065 222657.402216952 222691.838580486 222658.369035116 222688.863020139 222658.858469953 222685.772850195</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></ogr:geometryProperty>
<ogr:fid>points.2</ogr:fid>
<ogr:id>3</ogr:id>
<ogr:id2>0</ogr:id2>
</ogr:nested_models>
</ogr:featureMember>
<ogr:featureMember>
<ogr:nested_models gml:id="nested_models.3">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>556577.577082961 222664.331622139</gml:lowerCorner><gml:upperCorner>556617.330849773 222704.085388951</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiSurface gml:id="nested_models.geom.3"><gml:surfaceMember><gml:Polygon gml:id="nested_models.geom.3.0"><gml:exterior><gml:LinearRing><gml:posList>556617.330849773 222685.772850195 556617.330849773 222682.644160895 556616.841414936 222679.553990951 556615.874596772 222676.578430604 556614.454201553 222673.790748025 556612.615204122 222671.25958521 556610.402886702 222669.047267789 556607.871723887 222667.208270359 556605.084041308 222665.78787514 556602.108480961 222664.821056976 556599.018311017 222664.331622139 556595.889621717 222664.331622139 556592.799451773 222664.821056976 556589.823891426 222665.78787514 556587.036208847 222667.208270359 556584.505046032 222669.047267789 556582.292728611 222671.25958521 556580.453731181 222673.790748025 556579.033335962 222676.578430604 556578.066517798 222679.553990951 556577.577082961 222682.644160895 556577.577082961 222685.772850195 556578.066517798 222688.863020139 556579.033335962 222691.838580486 556580.453731181 222694.626263065 556582.292728611 222697.15742588 556584.505046032 222699.369743301 556587.036208847 222701.208740731 556589.823891426 222702.62913595 556592.799451773 222703.595954114 556595.889621717 222704.085388951 556599.018311017 222704.085388951 556602.108480961 222703.595954114 556605.084041308 222702.62913595 556607.871723887 222701.208740731 556610.402886702 222699.369743301 556612.615204122 222697.15742588 556614.454201553 222694.626263065 556615.874596772 222691.838580486 556616.841414936 222688.863020139 556617.330849773 222685.772850195</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></ogr:geometryProperty>
<ogr:fid>points.3</ogr:fid>
<ogr:id>4</ogr:id>
<ogr:id2>2</ogr:id2>
</ogr:nested_models>
</ogr:featureMember>
<ogr:featureMember>
<ogr:nested_models gml:id="nested_models.4">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>445258.086289689 111305.265982979</gml:lowerCorner><gml:upperCorner>445297.840056501 111345.019749791</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiSurface gml:id="nested_models.geom.4"><gml:surfaceMember><gml:Polygon gml:id="nested_models.geom.4.0"><gml:exterior><gml:LinearRing><gml:posList>445297.840056501 111326.707211035 445297.840056501 111323.578521735 445297.350621664 111320.488351791 445296.3838035 111317.512791444 445294.963408281 111314.725108865 445293.124410851 111312.19394605 445290.91209343 111309.981628629 445288.380930615 111308.142631199 445285.593248036 111306.72223598 445282.617687689 111305.755417816 445279.527517745 111305.265982979 445276.398828445 111305.265982979 445273.308658501 111305.755417816 445270.333098154 111306.72223598 445267.545415575 111308.142631199 445265.01425276 111309.981628629 445262.801935339 111312.19394605 445260.962937909 111314.725108865 445259.54254269 111317.512791444 445258.575724526 111320.488351791 445258.086289689 111323.578521735 445258.086289689 111326.707211035 445258.575724526 111329.797380979 445259.54254269 111332.772941326 445260.962937909 111335.560623905 445262.801935339 111338.09178672 445265.01425276 111340.304104141 445267.545415575 111342.143101571 445270.333098154 111343.56349679 445273.308658501 111344.530314954 445276.398828445 111345.019749791 445279.527517745 111345.019749791 445282.617687689 111344.530314954 445285.593248036 111343.56349679 445288.380930615 111342.143101571 445290.91209343 111340.304104141 445293.124410851 111338.09178672 445294.963408281 111335.560623905 445296.3838035 111332.772941326 445297.350621664 111329.797380979 445297.840056501 111326.707211035</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></ogr:geometryProperty>
<ogr:fid>points.4</ogr:fid>
<ogr:id>5</ogr:id>
<ogr:id2>1</ogr:id2>
</ogr:nested_models>
</ogr:featureMember>
<ogr:featureMember>
<ogr:nested_models gml:id="nested_models.5">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>-19.8768834059516 -557325.134157983</gml:lowerCorner><gml:upperCorner>19.8768834059516 -557285.380391171</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiSurface gml:id="nested_models.geom.5"><gml:surfaceMember><gml:Polygon gml:id="nested_models.geom.5.0"><gml:exterior><gml:LinearRing><gml:posList>19.8768834059516 -557303.692929927 19.8768834059516 -557306.821619227 19.3874485689032 -557309.911789171 18.4206304048066 -557312.887349518 17.0002351856045 -557315.675032097 15.1612377556844 -557318.206194912 12.9489203348597 -557320.418512333 10.4177575203984 -557322.257509763 7.63007494122316 -557323.677904982 4.65451459404562 -557324.644723146 1.56434465029614 -557325.134157983 -1.56434465029614 -557325.134157983 -4.65451459404561 -557324.644723146 -7.63007494122316 -557323.677904982 -10.4177575203984 -557322.257509763 -12.9489203348597 -557320.418512333 -15.1612377556844 -557318.206194912 -17.0002351856045 -557315.675032097 -18.4206304048066 -557312.887349518 -19.3874485689032 -557309.911789171 -19.8768834059516 -557306.821619227 -19.8768834059516 -557303.692929927 -19.3874485689032 -557300.602759983 -18.4206304048066 -557297.627199636 -17.0002351856045 -557294.839517057 -15.1612377556844 -557292.308354242 -12.9489203348597 -557290.096036821 -10.4177575203984 -557288.257039391 -7.63007494122316 -557286.836644172 -4.65451459404562 -557285.869826008 -1.56434465029614 -557285.380391171 1.56434465029614 -557285.380391171 4.65451459404561 -557285.869826008 7.63007494122316 -557286.836644172 10.4177575203984 -557288.257039391 12.9489203348597 -557290.096036821 15.1612377556844 -557292.308354242 17.0002351856045 -557294.839517057 18.4206304048066 -557297.627199636 19.3874485689032 -557300.602759983 19.8768834059516 -557303.692929927</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></ogr:geometryProperty>
<ogr:fid>points.5</ogr:fid>
<ogr:id>6</ogr:id>
<ogr:id2>0</ogr:id2>
</ogr:nested_models>
</ogr:featureMember>
<ogr:featureMember>
<ogr:nested_models gml:id="nested_models.6">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>890536.049462784 -111345.019749792</gml:lowerCorner><gml:upperCorner>890575.803229596 -111305.26598298</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiSurface gml:id="nested_models.geom.6"><gml:surfaceMember><gml:Polygon gml:id="nested_models.geom.6.0"><gml:exterior><gml:LinearRing><gml:posList>890575.803229596 -111323.578521736 890575.803229596 -111326.707211036 890575.313794759 -111329.79738098 890574.346976595 -111332.772941327 890572.926581376 -111335.560623906 890571.087583946 -111338.091786721 890568.875266525 -111340.304104142 890566.34410371 -111342.143101572 890563.556421131 -111343.563496791 890560.580860784 -111344.530314955 890557.49069084 -111345.019749792 890554.36200154 -111345.019749792 890551.271831596 -111344.530314955 890548.296271249 -111343.563496791 890545.50858867 -111342.143101572 890542.977425855 -111340.304104142 890540.765108434 -111338.091786721 890538.926111004 -111335.560623906 890537.505715785 -111332.772941327 890536.538897621 -111329.79738098 890536.049462784 -111326.707211036 890536.049462784 -111323.578521736 890536.538897621 -111320.488351792 890537.505715785 -111317.512791445 890538.926111004 -111314.725108866 890540.765108434 -111312.193946051 890542.977425855 -111309.98162863 890545.50858867 -111308.1426312 890548.296271249 -111306.722235981 890551.271831596 -111305.755417817 890554.36200154 -111305.26598298 890557.49069084 -111305.26598298 890560.580860784 -111305.755417817 890563.556421131 -111306.722235981 890566.34410371 -111308.1426312 890568.875266525 -111309.98162863 890571.087583946 -111312.193946051 890572.926581376 -111314.725108866 890574.346976595 -111317.512791445 890575.313794759 -111320.488351792 890575.803229596 -111323.578521736</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></ogr:geometryProperty>
<ogr:fid>points.6</ogr:fid>
<ogr:id>7</ogr:id>
<ogr:id2>0</ogr:id2>
</ogr:nested_models>
</ogr:featureMember>
<ogr:featureMember>
<ogr:nested_models gml:id="nested_models.7">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>779216.558669509 -111345.019749792</gml:lowerCorner><gml:upperCorner>779256.312436321 -111305.26598298</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiSurface gml:id="nested_models.geom.7"><gml:surfaceMember><gml:Polygon gml:id="nested_models.geom.7.0"><gml:exterior><gml:LinearRing><gml:posList>779256.312436321 -111323.578521736 779256.312436321 -111326.707211036 779255.823001484 -111329.79738098 779254.85618332 -111332.772941327 779253.435788101 -111335.560623906 779251.596790671 -111338.091786721 779249.38447325 -111340.304104142 779246.853310435 -111342.143101572 779244.065627856 -111343.563496791 779241.090067509 -111344.530314955 779237.999897565 -111345.019749792 779234.871208265 -111345.019749792 779231.781038321 -111344.530314955 779228.805477974 -111343.563496791 779226.017795395 -111342.143101572 779223.48663258 -111340.304104142 779221.274315159 -111338.091786721 779219.435317729 -111335.560623906 779218.01492251 -111332.772941327 779217.048104346 -111329.79738098 779216.558669509 -111326.707211036 779216.558669509 -111323.578521736 779217.048104346 -111320.488351792 779218.01492251 -111317.512791445 779219.435317729 -111314.725108866 779221.274315159 -111312.193946051 779223.48663258 -111309.98162863 779226.017795395 -111308.1426312 779228.805477974 -111306.722235981 779231.781038321 -111305.755417817 779234.871208265 -111305.26598298 779237.999897565 -111305.26598298 779241.090067509 -111305.755417817 779244.065627856 -111306.722235981 779246.853310435 -111308.1426312 779249.38447325 -111309.98162863 779251.596790671 -111312.193946051 779253.435788101 -111314.725108866 779254.85618332 -111317.512791445 779255.823001484 -111320.488351792 779256.312436321 -111323.578521736</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></ogr:geometryProperty>
<ogr:fid>points.7</ogr:fid>
<ogr:id>8</ogr:id>
<ogr:id2>0</ogr:id2>
</ogr:nested_models>
</ogr:featureMember>
<ogr:featureMember>
<ogr:nested_models gml:id="nested_models.8">
<gml:boundedBy><gml:Envelope><gml:lowerCorner>-19.8768834059516 -111345.019749792</gml:lowerCorner><gml:upperCorner>19.8768834059516 -111305.26598298</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiSurface gml:id="nested_models.geom.8"><gml:surfaceMember><gml:Polygon gml:id="nested_models.geom.8.0"><gml:exterior><gml:LinearRing><gml:posList>19.8768834059516 -111323.578521736 19.8768834059516 -111326.707211036 19.3874485689032 -111329.79738098 18.4206304048353 -111332.772941327 17.0002351856333 -111335.560623906 15.1612377556146 -111338.091786721 12.9489203347899 -111340.304104142 10.4177575203246 -111342.143101572 7.63007494114931 -111343.563496791 4.65451459413636 -111344.530314955 1.56434465038689 -111345.019749792 -1.56434465038689 -111345.019749792 -4.65451459413636 -111344.530314955 -7.63007494114931 -111343.563496791 -10.4177575203246 -111342.143101572 -12.9489203347899 -111340.304104142 -15.1612377556146 -111338.091786721 -17.0002351856333 -111335.560623906 -18.4206304048353 -111332.772941327 -19.3874485689032 -111329.79738098 -19.8768834059516 -111326.707211036 -19.8768834059516 -111323.578521736 -19.3874485689032 -111320.488351792 -18.4206304048353 -111317.512791445 -17.0002351856333 -111314.725108866 -15.1612377556146 -111312.193946051 -12.9489203347899 -111309.98162863 -10.4177575203246 -111308.1426312 -7.63007494114931 -111306.722235981 -4.65451459413636 -111305.755417817 -1.56434465038689 -111305.26598298 1.56434465038689 -111305.26598298 4.65451459413636 -111305.755417817 7.63007494114931 -111306.722235981 10.4177575203246 -111308.1426312 12.9489203347899 -111309.98162863 15.1612377556146 -111312.193946051 17.0002351856333 -111314.725108866 18.4206304048353 -111317.512791445 19.3874485689032 -111320.488351792 19.8768834059516 -111323.578521736</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></gml:surfaceMember></gml:MultiSurface></ogr:geometryProperty>
<ogr:fid>points.8</ogr:fid>
<ogr:id>9</ogr:id>
<ogr:id2>0</ogr:id2>
</ogr:nested_models>
</ogr:featureMember>
</ogr:FeatureCollection>

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
targetNamespace="http://ogr.maptools.org/"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://www.opengis.net/gml/3.2"
xmlns:gmlsf="http://www.opengis.net/gmlsf/2.0"
elementFormDefault="qualified"
version="1.0">
<xs:annotation>
<xs:appinfo source="http://schemas.opengis.net/gmlsfProfile/2.0/gmlsfLevels.xsd">
<gmlsf:ComplianceLevel>0</gmlsf:ComplianceLevel>
</xs:appinfo>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="http://schemas.opengis.net/gml/3.2.1/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/gmlsf/2.0" schemaLocation="http://schemas.opengis.net/gmlsfProfile/2.0/gmlsfLevels.xsd"/>
<xs:element name="FeatureCollection" type="ogr:FeatureCollectionType" substitutionGroup="gml:AbstractFeature"/>
<xs:complexType name="FeatureCollectionType">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="featureMember">
<xs:complexType>
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureMemberType">
<xs:sequence>
<xs:element ref="gml:AbstractFeature"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="nested_models" type="ogr:nested_models_Type" substitutionGroup="gml:AbstractFeature"/>
<xs:complexType name="nested_models_Type">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence>
<xs:element name="geometryProperty" type="gml:MultiSurfacePropertyType" nillable="true" minOccurs="0" maxOccurs="1"/> <!-- restricted to MultiPolygon -->
<xs:element name="fid" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="id" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:long">
<xs:totalDigits value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="id2" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:long">
<xs:totalDigits value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>

View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8" ?>
<ogr:FeatureCollection
gml:id="aFeatureCollection"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ogr.maptools.org/ service_area_dynamic.xsd"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:gml="http://www.opengis.net/gml/3.2">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::32733"><gml:lowerCorner>1001182.63176944 6220409.28905948</gml:lowerCorner><gml:upperCorner>1004055.89106713 6222884.39323789</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:featureMember>
<ogr:service_area_dynamic gml:id="service_area_dynamic.0">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::32733"><gml:lowerCorner>1001182.63176944 6220409.28905948</gml:lowerCorner><gml:upperCorner>1001275.12302677 6220462.84851569</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiCurve srsName="urn:ogc:def:crs:EPSG::32733" gml:id="service_area_dynamic.geom.0"><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.0.0"><gml:posList>1001186.34740161 6220459.66433954 1001182.63176944 6220456.48000497</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.0.1"><gml:posList>1001186.34740161 6220459.66433954 1001190.06317444 6220462.84851569</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.0.2"><gml:posList>1001186.34740161 6220459.66433954 1001190.60339941 6220457.24929509</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.0.3"><gml:posList>1001275.12302677 6220409.28905948 1001269.29926109 6220412.5937259</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.0.4"><gml:posList>1001269.29926109 6220412.5937259 1001275.12302677 6220409.28905948</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.0.5"><gml:posList>1001269.29926109 6220412.5937259 1001186.34740161 6220459.66433954</gml:posList></gml:LineString></gml:curveMember></gml:MultiCurve></ogr:geometryProperty>
<ogr:fid>route_points.0</ogr:fid>
<ogr:d>1</ogr:d>
<ogr:type>lines</ogr:type>
<ogr:start>1001269.16642, 6220412.35961</ogr:start>
</ogr:service_area_dynamic>
</ogr:featureMember>
<ogr:featureMember>
<ogr:service_area_dynamic gml:id="service_area_dynamic.1">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::32733"><gml:lowerCorner>1002015.98051499 6221232.83267062</gml:lowerCorner><gml:upperCorner>1002211.65419834 6221397.05152815</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiCurve srsName="urn:ogc:def:crs:EPSG::32733" gml:id="service_area_dynamic.geom.1"><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.1.0"><gml:posList>1002103.66905047 6221324.68154126 1002015.98051499 6221397.05152815</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.1.1"><gml:posList>1002103.66905047 6221324.68154126 1002169.82194678 6221268.41390691</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.1.2"><gml:posList>1002103.66905047 6221324.68154126 1002194.14909744 6221393.53000076</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.1.3"><gml:posList>1002211.65419834 6221232.83267062 1002169.82194678 6221268.41390691</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.1.4"><gml:posList>1002169.82194678 6221268.41390691 1002103.66905047 6221324.68154126</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.1.5"><gml:posList>1002169.82194678 6221268.41390691 1002211.65419834 6221232.83267062</gml:posList></gml:LineString></gml:curveMember></gml:MultiCurve></ogr:geometryProperty>
<ogr:fid>route_points.1</ogr:fid>
<ogr:d>2</ogr:d>
<ogr:type>lines</ogr:type>
<ogr:start>1002173.3505, 6221272.56237</ogr:start>
</ogr:service_area_dynamic>
</ogr:featureMember>
<ogr:featureMember>
<ogr:service_area_dynamic gml:id="service_area_dynamic.2">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::32733"><gml:lowerCorner>1002943.55552255 6222585.33682059</gml:lowerCorner><gml:upperCorner>1003078.1256774 6222884.39323789</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiCurve srsName="urn:ogc:def:crs:EPSG::32733" gml:id="service_area_dynamic.geom.2"><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.2.0"><gml:posList>1002943.55552255 6222884.39323789 1002947.79277674 6222869.79641753</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.2.1"><gml:posList>1003002.42639578 6222681.59030886 1002973.19915934 6222782.27454934</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.2.2"><gml:posList>1003002.42639578 6222681.59030886 1003031.23572156 6222655.69469469</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.2.3"><gml:posList>1003002.42639578 6222681.59030886 1002960.87144508 6222585.33682059</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.2.4"><gml:posList>1003002.42639578 6222681.59030886 1003076.97655481 6222712.84504498</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.2.5"><gml:posList>1003031.23572156 6222655.69469469 1003002.42639578 6222681.59030886</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.2.6"><gml:posList>1003076.97655481 6222712.84504498 1003054.83943287 6222703.56418074</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.2.7"><gml:posList>1003076.97655481 6222712.84504498 1003078.1256774 6222736.82142276</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.2.8"><gml:posList>1002947.79277674 6222869.79641753 1002943.55552255 6222884.39323789</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.2.9"><gml:posList>1002947.79277674 6222869.79641753 1003002.42639578 6222681.59030886</gml:posList></gml:LineString></gml:curveMember></gml:MultiCurve></ogr:geometryProperty>
<ogr:fid>route_points.2</ogr:fid>
<ogr:d>3</ogr:d>
<ogr:type>lines</ogr:type>
<ogr:start>1002948.69578, 6222870.05855</ogr:start>
</ogr:service_area_dynamic>
</ogr:featureMember>
<ogr:featureMember>
<ogr:service_area_dynamic gml:id="service_area_dynamic.3">
<gml:boundedBy><gml:Envelope srsName="urn:ogc:def:crs:EPSG::32733"><gml:lowerCorner>1003721.40592142 6221869.3860338</gml:lowerCorner><gml:upperCorner>1004055.89106713 6222127.01927093</gml:upperCorner></gml:Envelope></gml:boundedBy>
<ogr:geometryProperty><gml:MultiCurve srsName="urn:ogc:def:crs:EPSG::32733" gml:id="service_area_dynamic.geom.3"><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.3.0"><gml:posList>1003946.78684547 6221880.1876508 1003941.35220452 6221871.19981552</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.3.1"><gml:posList>1003946.78684547 6221880.1876508 1003956.9497919 6221877.53602408</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.3.2"><gml:posList>1003946.78684547 6221880.1876508 1003936.62449785 6221882.84152905</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.3.3"><gml:posList>1003775.57324976 6221922.76175725 1003759.50508048 6221869.3860338</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.3.4"><gml:posList>1003775.57324976 6221922.76175725 1003829.923686 6221910.38483111</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.3.5"><gml:posList>1003775.57324976 6221922.76175725 1003721.40592142 6221935.9166529</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.3.6"><gml:posList>1003839.54015074 6221908.19492644 1003835.88711567 6222011.8549713</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.3.7"><gml:posList>1003839.54015074 6221908.19492644 1003946.78684547 6221880.1876508</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.3.8"><gml:posList>1003839.54015074 6221908.19492644 1003775.57324976 6221922.76175725</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.3.9"><gml:posList>1003835.88711567 6222011.8549713 1003839.54015074 6221908.19492644</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.3.10"><gml:posList>1003835.88711567 6222011.8549713 1003866.67429938 6222081.06454087</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.3.11"><gml:posList>1003882.2233509 6222116.01879887 1003866.67429938 6222081.06454087</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.3.12"><gml:posList>1003882.2233509 6222116.01879887 1003899.60754345 6222127.01927093</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.3.13"><gml:posList>1003899.60754345 6222127.01927093 1003882.2233509 6222116.01879887</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.3.14"><gml:posList>1003899.60754345 6222127.01927093 1004016.31337555 6221991.86656982</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.3.15"><gml:posList>1004016.31337555 6221991.86656982 1003974.86248821 6222039.86930702</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.3.16"><gml:posList>1004016.31337555 6221991.86656982 1004055.89106713 6221942.30798223</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.3.17"><gml:posList>1003866.67429938 6222081.06454087 1003835.88711567 6222011.8549713</gml:posList></gml:LineString></gml:curveMember><gml:curveMember><gml:LineString gml:id="service_area_dynamic.geom.3.18"><gml:posList>1003866.67429938 6222081.06454087 1003882.2233509 6222116.01879887</gml:posList></gml:LineString></gml:curveMember></gml:MultiCurve></ogr:geometryProperty>
<ogr:fid>route_points.2</ogr:fid>
<ogr:d>3</ogr:d>
<ogr:type>lines</ogr:type>
<ogr:start>1003863.44041, 6222082.50311</ogr:start>
</ogr:service_area_dynamic>
</ogr:featureMember>
</ogr:FeatureCollection>

View File

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
targetNamespace="http://ogr.maptools.org/"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gml="http://www.opengis.net/gml/3.2"
xmlns:gmlsf="http://www.opengis.net/gmlsf/2.0"
elementFormDefault="qualified"
version="1.0">
<xs:annotation>
<xs:appinfo source="http://schemas.opengis.net/gmlsfProfile/2.0/gmlsfLevels.xsd">
<gmlsf:ComplianceLevel>0</gmlsf:ComplianceLevel>
</xs:appinfo>
</xs:annotation>
<xs:import namespace="http://www.opengis.net/gml/3.2" schemaLocation="http://schemas.opengis.net/gml/3.2.1/gml.xsd"/>
<xs:import namespace="http://www.opengis.net/gmlsf/2.0" schemaLocation="http://schemas.opengis.net/gmlsfProfile/2.0/gmlsfLevels.xsd"/>
<xs:element name="FeatureCollection" type="ogr:FeatureCollectionType" substitutionGroup="gml:AbstractFeature"/>
<xs:complexType name="FeatureCollectionType">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="featureMember">
<xs:complexType>
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureMemberType">
<xs:sequence>
<xs:element ref="gml:AbstractFeature"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="service_area_dynamic" type="ogr:service_area_dynamic_Type" substitutionGroup="gml:AbstractFeature"/>
<xs:complexType name="service_area_dynamic_Type">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence>
<xs:element name="geometryProperty" type="gml:MultiCurvePropertyType" nillable="true" minOccurs="0" maxOccurs="1"/> <!-- restricted to MultiLineString --><!-- srsName="urn:ogc:def:crs:EPSG::32733" -->
<xs:element name="fid" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="d" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:totalDigits value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="type" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="start" nillable="true" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>

View File

@ -2444,6 +2444,43 @@ tests:
end: skip
pk:
- d
- algorithm: native:serviceareafromlayer
name: Service area from layer dynamic cost
ellipsoid: WGS84
params:
DEFAULT_DIRECTION: 2
DEFAULT_SPEED: 50.0
INCLUDE_BOUNDS: false
INPUT:
name: roads.gml|layername=roads
type: vector
START_POINTS:
name: custom/route_points.gml|layername=route_points
type: vector
STRATEGY: 0
TOLERANCE: 0.0
TRAVEL_COST2:
expression: d*100
type: property
VALUE_BACKWARD: ''
VALUE_BOTH: ''
VALUE_FORWARD: ''
results:
OUTPUT_LINES:
name: expected/service_area_dynamic.gml
type: vector
compare:
ignore_crs_check: true
geometry:
precision: 2
fields:
cost:
precision: 2
start: skip
end: skip
pk:
- d
- type
- algorithm: native:createattributeindex
name: Create attribute index

View File

@ -424,6 +424,38 @@ tests:
name: expected/filter_points_big.gml
type: vector
- algorithm: model:Inner model
name: Inner model
params:
input:
name: custom/points_3857.gml|layername=points_3857
type: vector
results:
output:
name: expected/inner_model.gml
type: vector
compare:
ignore_crs_check: true
geometry:
precision: 3
normalize: True
- algorithm: model:Outer model
name: Nested models
params:
input:
name: custom/points_3857.gml|layername=points_3857
type: vector
results:
output:
name: expected/nested_models.gml
type: vector
compare:
ignore_crs_check: true
geometry:
precision: 3
normalize: True
- algorithm: native:intersection
name: Test Intersection (basic)
params:
@ -2522,6 +2554,35 @@ tests:
name: expected/join_to_nearest_no_matches.gml
type: vector
- algorithm: native:joinbynearest
name: Join by nearest field unordered
params:
INPUT:
name: points.gml|layername=points
type: vector
INPUT_2:
name: airports.gml|layername=airports
type: vector
NEIGHBORS: 1
PREFIX: ''
FIELDS_TO_COPY:
- USE
- NAME
- fk_region
- ELEV
results:
OUTPUT:
name: expected/nearest_field_subset_unordered.gml
type: vector
compare:
fields:
distance:
precision: 1
feature_x: skip
nearest_x: skip
feature_y: skip
nearest_y: skip
- name: Generate XYZ tiles (Directory)
algorithm: qgis:tilesxyzdirectory
project: ../../../../../tests/testdata/xyztiles.qgs
@ -3241,4 +3302,52 @@ tests:
name: expected/join_attributes_table_issue_47650.gml
type: vector
- algorithm: native:joinattributestable
name: Join by attribute ordered field subet
params:
DISCARD_NONMATCHING: true
FIELD: id
FIELDS_TO_COPY:
- fid
- fk_region
- ELEV
- NAME
FIELD_2: ID
INPUT:
name: points.gml|layername=points
type: vector
INPUT_2:
name: airports.gml|layername=airports
type: vector
METHOD: 1
PREFIX: ''
results:
OUTPUT:
name: expected/join_attributes_subset_ordered.gml
type: vector
- algorithm: native:joinattributestable
name: Join by attribute unordered field subset
params:
DISCARD_NONMATCHING: true
FIELD: id
FIELDS_TO_COPY:
- ELEV
- NAME
- fk_region
- fid
FIELD_2: ID
INPUT:
name: points.gml|layername=points
type: vector
INPUT_2:
name: airports.gml|layername=airports
type: vector
METHOD: 1
PREFIX: ''
results:
OUTPUT:
name: expected/join_attributes_subset_unordered.gml
type: vector
# See ../README.md for a description of the file format

View File

@ -361,3 +361,15 @@ tests:
hash: 38169bd8e8ff1400109936c8de70e429ab319926a053ab5142791010
type: rasterhash
- algorithm: native:concavehullbyfeature
name: Concave hull by feature
params:
ALPHA: 0.3
HOLES: true
INPUT:
name: custom/concave_hull_points.gml|layername=concave_hull_points
type: vector
results:
OUTPUT:
name: expected/concave_hull_by_feature.gml
type: vector

View File

@ -335,6 +335,8 @@ class QgisTestCase(unittest.TestCase):
"glx: failed to create drisw screen",
"failed to load driver: zink",
"QML debugging is enabled. Only use this in a safe environment.",
"<frozen importlib._bootstrap>:488: DeprecationWarning: builtin type SwigPyObject has no __module__ attribute",
"<frozen importlib._bootstrap>:488: DeprecationWarning: builtin type SwigPyPacked has no __module__ attribute",
)
and not "LC_ALL: cannot change locale" in e
]

View File

@ -0,0 +1,66 @@
import json
import re
import click
import requests
@click.command()
@click.option(
"--release",
help="Which release to extract. `ltr` or `stable` assume release are tagged as final-x_x_x or ltr-x_x_x",
)
@click.option(
"--github_token",
default=None,
help="Github token. Can help in case of rate limits.",
)
def extract(release, github_token):
r = requests.get(
"https://api.github.com/repos/qgis/QGIS/git/refs/tags",
headers={"Authorization": github_token},
)
r.raise_for_status()
tags = json.loads(r.text)
releases = dict()
current_ltr = None
current_release = None
for tag in tags:
ref = tag["ref"]
tag_name = ref.split("/")[-1]
if tag_name.startswith("final-"):
version_parts = re.split(r"[\-_]", tag_name)[1:]
if int(version_parts[0]) >= 3:
releases[version_parts[0] + "." + version_parts[1]] = ".".join(
version_parts
)
current_release = version_parts[0] + "." + version_parts[1]
if tag_name.startswith("ltr-"):
version_parts = re.split(r"[\-_]", tag_name)[1:]
version = ".".join(version_parts)
if version != current_release:
current_ltr = version
info = {
"ltr": {
"short_version": current_ltr,
"patch_version": releases[current_ltr],
"tag_name": f'final-{releases[current_ltr].replace(".", "_")}',
},
"stable": {
"short_version": current_release,
"patch_version": releases[current_release],
"tag_name": f'final-{releases[current_release].replace(".", "_")}',
},
}
print(f"QGIS_VERSION_STABLE_PATCH={info['stable']['patch_version']}")
print(f"QGIS_VERSION_LTR_PATCH={info['ltr']['patch_version']}")
print(f"QGIS_VERSION_SHORT={info[release]['short_version']}")
print(f"QGIS_VERSION_PATCH={info[release]['patch_version']}")
print(f"QGIS_VERSION_TAG={info[release]['tag_name']}")
if __name__ == "__main__":
extract()

View File

@ -12,14 +12,9 @@ sys.path.append(
cpp = open(sys.argv[1], "w", encoding="utf-8")
cpp.write(
'#include "qgsexpression.h"\n'
'#include "qgsexpression_p.h"\n'
"#include <mutex>\n"
"\n"
"void QgsExpression::initFunctionHelp()\n"
"void QgsExpression::buildFunctionHelp()\n"
"{\n"
" static std::once_flag initialized;\n"
" std::call_once( initialized, []\n"
" {"
)
@ -41,6 +36,15 @@ def quote(v):
raise BaseException("unexpected type " + repr(v))
def safe_tr(string: str) -> str:
"""
Returns 'tr( "string" )' if string is non-empty, else 'QString()'
"""
if not string:
return "QString()"
return f'tr( "{string}" )'
for f in sorted(glob.glob("resources/function_help/json/*")):
with open(f, encoding="utf-8") as function_file:
try:
@ -88,24 +92,24 @@ for f in sorted(glob.glob("resources/function_help/json/*")):
)
cpp.write(
'\n\n QgsExpression::functionHelpTexts().insert( QStringLiteral( {0} ),\n Help( QStringLiteral( {0} ), tr( "{1}" ), tr( "{2}" ),\n QList<HelpVariant>()'.format(
name, json_params["type"], json_params["description"]
"\n\n QgsExpression::functionHelpTexts().insert( QStringLiteral( {0} ),\n Help( QStringLiteral( {0} ), {1}, {2},\n QList<HelpVariant>()".format(
name, safe_tr(json_params["type"]), safe_tr(json_params["description"])
)
)
for v in json_params["variants"]:
cpp.write(
'\n << HelpVariant( tr( "{}" ), tr( "{}" ),\n QList<HelpArg>()'.format(
v["variant"], v["variant_description"]
"\n << HelpVariant( {}, {},\n QList<HelpArg>()".format(
safe_tr(v["variant"]), safe_tr(v["variant_description"])
)
)
if "arguments" in v:
for a in v["arguments"]:
cpp.write(
'\n << HelpArg( QStringLiteral( "{}" ), tr( "{}" ), {}, {}, {}, {} )'.format(
'\n << HelpArg( QStringLiteral( "{}" ), {}, {}, {}, {}, {} )'.format(
a["arg"],
a.get("description", ""),
safe_tr(a.get("description", "")),
"true" if a.get("descOnly", False) else "false",
"true" if a.get("syntaxOnly", False) else "false",
"true" if a.get("optional", False) else "false",
@ -118,48 +122,53 @@ for f in sorted(glob.glob("resources/function_help/json/*")):
)
cpp.write(
",\n /* variableLenArguments */ {}".format(
",\n /* variableLenArguments */ {}".format(
"true" if v.get("variableLenArguments", False) else "false"
)
)
cpp.write(",\n QList<HelpExample>()")
cpp.write(",\n QList<HelpExample>()")
if "examples" in v:
for e in v["examples"]:
cpp.write(
'\n << HelpExample( tr( "{}" ), tr( "{}" ), tr( "{}" ) )'.format(
e["expression"], e["returns"], e.get("note", "")
"\n << HelpExample( {}, {}, {} )".format(
safe_tr(e["expression"]),
safe_tr(e["returns"]),
safe_tr(e.get("note", "")),
)
)
if "notes" in v:
cpp.write(',\n tr( "{}" )'.format(v["notes"]))
cpp.write(",\n {}".format(safe_tr(v["notes"])))
else:
cpp.write(",\n QString()")
cpp.write(",\n QString()")
cpp.write(",\n QStringList()")
cpp.write(",\n QStringList()")
if "tags" in v:
cpp.write('\n << tr( "{}" )'.format(",".join(v["tags"])))
cpp.write("\n << {}".format(safe_tr(",".join(v["tags"]))))
cpp.write("\n )")
cpp.write("\n )")
cpp.write("\n )")
cpp.write("\n );")
cpp.write("\n )")
cpp.write("\n );")
for f in sorted(glob.glob("resources/function_help/text/*")):
n = os.path.basename(f)
with open(f) as content:
cpp.write(
'\n\n QgsExpression::functionHelpTexts().insert( "{0}",\n Help( tr( "{0}" ), tr( "group" ), tr( "{1}" ), QList<HelpVariant>() ) );\n'.format(
'\n\n QgsExpression::functionHelpTexts().insert( "{0}",\n Help( tr( "{0}" ), tr( "group" ), {1}, QList<HelpVariant>() ) );\n'.format(
n,
content.read()
.replace("\\", "&#92;")
.replace("\\", "\\\\")
.replace('"', '\\"')
.replace("\n", "\\n"),
safe_tr(
content.read()
.replace("\\", "&#92;")
.replace("\\", "\\\\")
.replace('"', '\\"')
.replace("\n", "\\n"),
),
)
)
cpp.write("\n } );\n}\n")
cpp.write("\n" "}\n" "\n")
cpp.close()

View File

@ -16,6 +16,7 @@
#include "qgsvectorlayerchunkloader_p.h"
#include "moc_qgsvectorlayerchunkloader_p.cpp"
#include "qgs3dutils.h"
#include "qgsgeotransform.h"
#include "qgsline3dsymbol.h"
#include "qgspoint3dsymbol.h"
#include "qgspolygon3dsymbol.h"
@ -317,8 +318,12 @@ QVector<QgsRayCastingUtils::RayHit> QgsVectorLayerChunkedEntity::rayIntersection
QVector3D nodeIntPoint;
int triangleIndex = -1;
// TODO: use also geo transform matrix here???
if ( QgsRayCastingUtils::rayMeshIntersection( rend, ray, transformMatrix, nodeIntPoint, triangleIndex ) )
// the node geometry has been translated by chunkOrigin
// This translation is stored in the QTransform component
// this needs to be taken into account to get the whole transformation
const QMatrix4x4 nodeTransformMatrix = node->entity()->findChild<QgsGeoTransform *>()->matrix();
const QMatrix4x4 fullTransformMatrix = transformMatrix * nodeTransformMatrix;
if ( QgsRayCastingUtils::rayMeshIntersection( rend, ray, fullTransformMatrix, nodeIntPoint, triangleIndex ) )
{
#ifdef QGISDEBUG
hits++;

View File

@ -96,6 +96,7 @@ set(QGIS_ANALYSIS_SRCS
processing/qgsalgorithmclimb.cpp
processing/qgsalgorithmclip.cpp
processing/qgsalgorithmconcavehull.cpp
processing/qgsalgorithmconcavehullbyfeature.cpp
processing/qgsalgorithmconditionalbranch.cpp
processing/qgsalgorithmconstantraster.cpp
processing/qgsalgorithmconverttocurves.cpp

View File

@ -16,29 +16,34 @@
#include "qgsnetworkspeedstrategy.h"
QgsNetworkSpeedStrategy::QgsNetworkSpeedStrategy( int attributeId, double defaultValue, double toMetricFactor )
: mAttributeId( attributeId )
, mDefaultValue( defaultValue )
, mToMetricFactor( toMetricFactor )
{
mAttributeId = attributeId;
mDefaultValue = defaultValue;
mToMetricFactor = toMetricFactor;
}
QVariant QgsNetworkSpeedStrategy::cost( double distance, const QgsFeature &f ) const
{
double speed = mDefaultValue;
const QgsAttributes attrs = f.attributes();
if ( mAttributeId >= 0 && mAttributeId < attrs.count() )
{
const QVariant value = attrs.at( mAttributeId );
if ( !QgsVariantUtils::isNull( value ) )
{
speed = attrs.at( mAttributeId ).toDouble();
if ( speed < 0 )
speed = mDefaultValue;
}
}
if ( mAttributeId < 0 || mAttributeId >= attrs.count() )
return QVariant( distance / ( mDefaultValue * mToMetricFactor ) );
const double val = distance / ( attrs.at( mAttributeId ).toDouble() * mToMetricFactor );
if ( val <= 0.0 )
return QVariant( distance / ( mDefaultValue / mToMetricFactor ) );
return QVariant( val );
return distance / ( speed * mToMetricFactor );
}
QSet<int> QgsNetworkSpeedStrategy::requiredAttributes() const
{
QSet<int> l;
l.insert( mAttributeId );
if ( mAttributeId >= 0 )
l.insert( mAttributeId );
return l;
}

View File

@ -30,7 +30,7 @@ QString QgsConcaveHullAlgorithm::name() const
QString QgsConcaveHullAlgorithm::displayName() const
{
return QObject::tr( "Concave hull" );
return QObject::tr( "Concave hull (by layer)" );
}
QStringList QgsConcaveHullAlgorithm::tags() const
@ -50,12 +50,13 @@ QString QgsConcaveHullAlgorithm::groupId() const
QString QgsConcaveHullAlgorithm::shortHelpString() const
{
return QObject::tr( "This algorithm computes the concave hull of the features from an input layer." );
return QObject::tr( "This algorithm computes the concave hull covering all features from an input point layer." ) + QStringLiteral( "\n\n" )
+ QObject::tr( "See the 'Concave hull (by feature)' algorithm for a concave hull calculation which covers individual features from a layer." );
}
QString QgsConcaveHullAlgorithm::shortDescription() const
{
return QObject::tr( "Computes the concave hull of the features from an input layer." );
return QObject::tr( "Computes the concave hull of all features from an input point layer." );
}
QgsConcaveHullAlgorithm *QgsConcaveHullAlgorithm::createInstance() const

View File

@ -0,0 +1,146 @@
/***************************************************************************
qgsalgorithmconcavehullbyfeature.cpp
---------------------
begin : May 2025
copyright : (C) 2025 by Nyall Dawson
email : nyall dot dawson at gmail dot com
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#include "qgsalgorithmconcavehullbyfeature.h"
#include "qgsgeometrycollection.h"
///@cond PRIVATE
QString QgsConcaveHullByFeatureAlgorithm::name() const
{
return QStringLiteral( "concavehullbyfeature" );
}
QString QgsConcaveHullByFeatureAlgorithm::displayName() const
{
return QObject::tr( "Concave hull (by feature)" );
}
QStringList QgsConcaveHullByFeatureAlgorithm::tags() const
{
return QObject::tr( "concave,hull,bounds,bounding,convex" ).split( ',' );
}
QString QgsConcaveHullByFeatureAlgorithm::group() const
{
return QObject::tr( "Vector geometry" );
}
QString QgsConcaveHullByFeatureAlgorithm::groupId() const
{
return QStringLiteral( "vectorgeometry" );
}
QString QgsConcaveHullByFeatureAlgorithm::outputName() const
{
return QObject::tr( "Concave hulls" );
}
QString QgsConcaveHullByFeatureAlgorithm::shortHelpString() const
{
return QObject::tr( "This algorithm calculates the concave hull for each feature in an input layer." ) + QStringLiteral( "\n\n" )
+ QObject::tr( "A concave hull is a polygon which contains all the points of the input geometries, but is a better approximation than the convex hull to the area occupied by the input." ) + QStringLiteral( "\n\n" )
+ QObject::tr( "It is frequently used to convert a multi-point into a polygonal area which contains all the points from the input geometry." ) + QStringLiteral( "\n\n" )
+ QObject::tr( "See the 'Concave hull (by layer)' algorithm for a concave hull calculation which covers the whole layer or grouped subsets of features." );
}
QString QgsConcaveHullByFeatureAlgorithm::shortDescription() const
{
return QObject::tr( "Calculates the concave hull for each feature in an input layer." );
}
QgsConcaveHullByFeatureAlgorithm *QgsConcaveHullByFeatureAlgorithm::createInstance() const
{
return new QgsConcaveHullByFeatureAlgorithm();
}
void QgsConcaveHullByFeatureAlgorithm::initParameters( const QVariantMap & )
{
addParameter( new QgsProcessingParameterNumber( QStringLiteral( "ALPHA" ), QObject::tr( "Threshold (0-1, where 1 is equivalent with Convex Hull)" ), Qgis::ProcessingNumberParameterType::Double, 0.3, false, 0, 1 ) );
addParameter( new QgsProcessingParameterBoolean( QStringLiteral( "HOLES" ), QObject::tr( "Allow holes" ), true ) );
}
QList<int> QgsConcaveHullByFeatureAlgorithm::inputLayerTypes() const
{
return QList<int>() << static_cast<int>( Qgis::ProcessingSourceType::VectorPoint );
}
QgsFields QgsConcaveHullByFeatureAlgorithm::outputFields( const QgsFields &inputFields ) const
{
QgsFields newFields;
newFields.append( QgsField( QStringLiteral( "area" ), QMetaType::Type::Double, QString(), 20, 6 ) );
newFields.append( QgsField( QStringLiteral( "perimeter" ), QMetaType::Type::Double, QString(), 20, 6 ) );
return QgsProcessingUtils::combineFields( inputFields, newFields );
}
bool QgsConcaveHullByFeatureAlgorithm::prepareAlgorithm( const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessingFeedback * )
{
#if GEOS_VERSION_MAJOR == 3 && GEOS_VERSION_MINOR < 11
throw QgsProcessingException( QObject::tr( "This algorithm requires a QGIS build based on GEOS 3.11 or later" ) );
#endif
mPercentage = parameterAsDouble( parameters, QStringLiteral( "ALPHA" ), context );
mAllowHoles = parameterAsBool( parameters, QStringLiteral( "HOLES" ), context );
return true;
}
QgsFeatureList QgsConcaveHullByFeatureAlgorithm::processFeature( const QgsFeature &feature, QgsProcessingContext &, QgsProcessingFeedback *feedback )
{
QgsFeature f = feature;
if ( f.hasGeometry() )
{
QgsGeometry outputGeometry;
const QgsAbstractGeometry *inputGeometry = f.geometry().constGet();
const QgsGeometryCollection *collection = qgsgeometry_cast< const QgsGeometryCollection * >( inputGeometry );
if ( !collection || collection->numGeometries() == 1 )
{
feedback->reportError( QObject::tr( "Cannot calculate convex hull for a single point feature (%1) (try 'Concave hull (by layer)' algorithm instead)." ).arg( f.id() ) );
f.clearGeometry();
}
else
{
outputGeometry = f.geometry().concaveHull( mPercentage, mAllowHoles );
if ( outputGeometry.isNull() )
feedback->reportError( outputGeometry.lastError() );
f.setGeometry( outputGeometry );
}
if ( outputGeometry.type() == Qgis::GeometryType::Polygon )
{
QgsAttributes attrs = f.attributes();
attrs << outputGeometry.constGet()->area()
<< outputGeometry.constGet()->perimeter();
f.setAttributes( attrs );
}
else
{
if ( outputGeometry.type() == Qgis::GeometryType::Line )
{
feedback->pushWarning( QObject::tr( "Concave hull for feature %1 resulted in a linestring, ignoring" ).arg( f.id() ) );
}
else if ( outputGeometry.type() == Qgis::GeometryType::Point )
{
feedback->pushWarning( QObject::tr( "Concave hull for feature %1 resulted in a point, ignoring" ).arg( f.id() ) );
}
QgsAttributes attrs = f.attributes();
attrs << QVariant()
<< QVariant();
f.setAttributes( attrs );
}
}
return QgsFeatureList() << f;
}
///@endcond

View File

@ -0,0 +1,65 @@
/***************************************************************************
qgsalgorithmconcavehullbyfeature.h
---------------------
begin : May 2025
copyright : (C) 2025 by Nyall Dawson
email : nyall dot dawson at gmail dot com
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef QGSALGORITHMCONCAVEHULLBYFEATURE_H
#define QGSALGORITHMCONCAVEHULLBYFEATURE_H
#define SIP_NO_FILE
#include "qgis_sip.h"
#include "qgsprocessingalgorithm.h"
#include "qgsapplication.h"
///@cond PRIVATE
/**
* Native feature based concave hull algorithm.
*/
class QgsConcaveHullByFeatureAlgorithm : public QgsProcessingFeatureBasedAlgorithm
{
public:
QgsConcaveHullByFeatureAlgorithm() = default;
QIcon icon() const override { return QgsApplication::getThemeIcon( QStringLiteral( "/algorithms/mAlgorithmConvexHull.svg" ) ); }
QString svgIconPath() const override { return QgsApplication::iconPath( QStringLiteral( "/algorithms/mAlgorithmConvexHull.svg" ) ); }
QString name() const override;
QString displayName() const override;
QStringList tags() const override;
QString group() const override;
QString groupId() const override;
QString shortHelpString() const override;
QString shortDescription() const override;
QgsConcaveHullByFeatureAlgorithm *createInstance() const override SIP_FACTORY;
void initParameters( const QVariantMap &configuration = QVariantMap() ) override;
QList<int> inputLayerTypes() const override;
protected:
QString outputName() const override;
Qgis::WkbType outputWkbType( Qgis::WkbType ) const override { return Qgis::WkbType::Polygon; }
QgsFields outputFields( const QgsFields &inputFields ) const override;
bool prepareAlgorithm( const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessingFeedback *feedback ) override;
QgsFeatureList processFeature( const QgsFeature &feature, QgsProcessingContext &context, QgsProcessingFeedback *feedback ) override;
private:
double mPercentage = 0;
bool mAllowHoles = false;
};
///@endcond PRIVATE
#endif // QGSALGORITHMCONCAVEHULLBYFEATURE_H

View File

@ -197,12 +197,9 @@ QVariantMap QgsJoinByAttributeAlgorithm::processAlgorithm( const QVariantMap &pa
// only keep selected attributes
QgsAttributes attributes;
const int attributeCount = feat.attributeCount();
for ( int j = 0; j < attributeCount; ++j )
for ( int field2Index : fields2Indices )
{
if ( !fields2Indices.contains( j ) )
continue;
attributes << feat.attribute( j );
attributes << feat.attribute( field2Index );
}
input2AttributeCache.insert( feat.attribute( joinField2Index ), attributes );

View File

@ -202,12 +202,9 @@ QVariantMap QgsJoinByNearestAlgorithm::processAlgorithm( const QVariantMap &para
// only keep selected attributes
QgsAttributes attributes;
const int attributeCount = f.attributeCount();
for ( int j = 0; j < attributeCount; ++j )
for ( int field2Index : fields2Indices )
{
if ( ! fields2Indices.contains( j ) )
continue;
attributes << f.attribute( j );
attributes << f.attribute( field2Index );
}
input2AttributeCache.insert( f.id(), attributes );

View File

@ -17,10 +17,11 @@
#include "qgsalgorithmkmeansclustering.h"
#include <unordered_map>
#include <random>
///@cond PRIVATE
const int KMEANS_MAX_ITERATIONS = 1000;
constexpr uint KMEANS_MAX_ITERATIONS = 1000;
QString QgsKMeansClusteringAlgorithm::name() const
{
@ -52,6 +53,11 @@ void QgsKMeansClusteringAlgorithm::initAlgorithm( const QVariantMap & )
addParameter( new QgsProcessingParameterFeatureSource( QStringLiteral( "INPUT" ), QObject::tr( "Input layer" ), QList<int>() << static_cast<int>( Qgis::ProcessingSourceType::VectorAnyGeometry ) ) );
addParameter( new QgsProcessingParameterNumber( QStringLiteral( "CLUSTERS" ), QObject::tr( "Number of clusters" ), Qgis::ProcessingNumberParameterType::Integer, 5, false, 1 ) );
QStringList initializationMethods;
initializationMethods << QObject::tr( "Farthest points" )
<< QObject::tr( "K-means++" );
addParameter( new QgsProcessingParameterEnum( QStringLiteral( "METHOD" ), QObject::tr( "Method" ), initializationMethods, false, 0, false ) );
auto fieldNameParam = std::make_unique<QgsProcessingParameterString>( QStringLiteral( "FIELD_NAME" ), QObject::tr( "Cluster field name" ), QStringLiteral( "CLUSTER_ID" ) );
fieldNameParam->setFlags( fieldNameParam->flags() | Qgis::ProcessingParameterFlag::Advanced );
addParameter( fieldNameParam.release() );
@ -65,7 +71,10 @@ void QgsKMeansClusteringAlgorithm::initAlgorithm( const QVariantMap & )
QString QgsKMeansClusteringAlgorithm::shortHelpString() const
{
return QObject::tr( "This algorithm calculates the 2D distance based k-means cluster number for each input feature.\n\n"
"If input geometries are lines or polygons, the clustering is based on the centroid of the feature." );
"If input geometries are lines or polygons, the clustering is based on the centroid of the feature.\n\n"
"References:\n"
"Arthur, David & Vassilvitskii, Sergei. (2007). K-Means++: The Advantages of Careful Seeding. Proc. of the Annu. ACM-SIAM Symp. on Discrete Algorithms. 8.\n\n"
"Bhattacharya, Anup & Eube, Jan & Röglin, Heiko & Schmidt, Melanie. (2019). Noisy, Greedy and Not So Greedy k-means++" );
}
QString QgsKMeansClusteringAlgorithm::shortDescription() const
@ -85,6 +94,7 @@ QVariantMap QgsKMeansClusteringAlgorithm::processAlgorithm( const QVariantMap &p
throw QgsProcessingException( invalidSourceError( parameters, QStringLiteral( "INPUT" ) ) );
int k = parameterAsInt( parameters, QStringLiteral( "CLUSTERS" ), context );
int initializationMethod = parameterAsInt( parameters, QStringLiteral( "METHOD" ), context );
QgsFields outputFields = source->fields();
QgsFields newFields;
@ -101,7 +111,7 @@ QVariantMap QgsKMeansClusteringAlgorithm::processAlgorithm( const QVariantMap &p
// build list of point inputs - if it's already a point, use that. If not, take the centroid.
feedback->pushInfo( QObject::tr( "Collecting input points" ) );
const double step = source->featureCount() > 0 ? 50.0 / source->featureCount() : 1;
const double step = source->featureCount() > 0 ? 50.0 / static_cast< double >( source->featureCount() ) : 1;
int i = 0;
int n = 0;
int featureWithGeometryCount = 0;
@ -109,7 +119,7 @@ QVariantMap QgsKMeansClusteringAlgorithm::processAlgorithm( const QVariantMap &p
std::vector<Feature> clusterFeatures;
QgsFeatureIterator features = source->getFeatures( QgsFeatureRequest().setNoAttributes() );
QHash<QgsFeatureId, int> idToObj;
QHash<QgsFeatureId, std::size_t> idToObj;
while ( features.nextFeature( feat ) )
{
i++;
@ -153,15 +163,26 @@ QVariantMap QgsKMeansClusteringAlgorithm::processAlgorithm( const QVariantMap &p
// cluster centers
std::vector<QgsPointXY> centers( k );
initClusters( clusterFeatures, centers, k, feedback );
switch ( initializationMethod )
{
case 0: // farthest points
initClustersFarthestPoints( clusterFeatures, centers, k, feedback );
break;
case 1: // k-means++
initClustersPlusPlus( clusterFeatures, centers, k, feedback );
break;
default:
break;
}
calculateKMeans( clusterFeatures, centers, k, feedback );
}
// cluster size
std::unordered_map<int, int> clusterSize;
for ( const int obj : idToObj )
clusterSize[clusterFeatures[obj].cluster]++;
for ( auto it = idToObj.constBegin(); it != idToObj.constEnd(); ++it )
{
clusterSize[clusterFeatures[it.value()].cluster]++;
}
features = source->getFeatures();
i = 0;
@ -203,7 +224,7 @@ QVariantMap QgsKMeansClusteringAlgorithm::processAlgorithm( const QVariantMap &p
// ported from https://github.com/postgis/postgis/blob/svn-trunk/liblwgeom/lwkmeans.c
void QgsKMeansClusteringAlgorithm::initClusters( std::vector<Feature> &points, std::vector<QgsPointXY> &centers, const int k, QgsProcessingFeedback *feedback )
void QgsKMeansClusteringAlgorithm::initClustersFarthestPoints( std::vector<Feature> &points, std::vector<QgsPointXY> &centers, const int k, QgsProcessingFeedback *feedback )
{
const std::size_t n = points.size();
if ( n == 0 )
@ -216,7 +237,7 @@ void QgsKMeansClusteringAlgorithm::initClusters( std::vector<Feature> &points, s
return;
}
long duplicateCount = 1;
std::size_t duplicateCount = 1;
// initially scan for two most distance points from each other, p1 and p2
std::size_t p1 = 0;
std::size_t p2 = 0;
@ -245,7 +266,7 @@ void QgsKMeansClusteringAlgorithm::initClusters( std::vector<Feature> &points, s
if ( feedback && duplicateCount > 1 )
{
feedback->pushInfo( QObject::tr( "There are at least %n duplicate input(s), the number of output clusters may be less than was requested", nullptr, duplicateCount ) );
feedback->pushWarning( QObject::tr( "There are at least %n duplicate input(s), the number of output clusters may be less than was requested", nullptr, static_cast< int >( duplicateCount ) ) );
}
// By now two points should be found and be not the same
@ -303,6 +324,141 @@ void QgsKMeansClusteringAlgorithm::initClusters( std::vector<Feature> &points, s
}
}
void QgsKMeansClusteringAlgorithm::initClustersPlusPlus( std::vector<Feature> &points, std::vector<QgsPointXY> &centers, const int k, QgsProcessingFeedback *feedback )
{
const std::size_t n = points.size();
if ( n == 0 )
return;
if ( n == 1 )
{
for ( int i = 0; i < k; i++ )
centers[i] = points[0].point;
return;
}
// randomly select the first point
std::random_device rd;
std::mt19937 gen( rd() );
std::uniform_int_distribution<size_t> distrib( 0, n - 1 );
std::size_t p1 = distrib( gen );
centers[0] = points[p1].point;
// calculate distances and total error (sum of distances of points to center)
std::vector<double> distances( n );
double totalError = 0;
std::size_t duplicateCount = 1;
for ( size_t i = 0; i < n; i++ )
{
double distance = points[i].point.sqrDist( centers[0] );
distances[i] = distance;
totalError += distance;
if ( qgsDoubleNear( distance, 0 ) )
{
duplicateCount++;
}
}
if ( feedback && duplicateCount > 1 )
{
feedback->pushWarning( QObject::tr( "There are at least %n duplicate input(s), the number of output clusters may be less than was requested", nullptr, static_cast< int >( duplicateCount ) ) );
}
// greedy kmeans++
// test not only one center but L possible centers
// chosen independently according to the same probability distribution), and then among these L
// centers, the one that decreases the k-means cost the most is chosen
// Bhattacharya, Anup & Eube, Jan & Röglin, Heiko & Schmidt, Melanie. (2019). Noisy, greedy and Not So greedy k-means++
unsigned int numCandidateCenters = 2 + static_cast< int >( std::floor( std::log( k ) ) );
std::vector<double> randomNumbers( numCandidateCenters );
std::vector<size_t> candidateCenters( numCandidateCenters );
std::uniform_real_distribution<double> dis( 0.0, 1.0 );
for ( int i = 1; i < k; i++ )
{
// sampling with probability proportional to the squared distance to the closest existing center
for ( unsigned int j = 0; j < numCandidateCenters; j++ )
{
randomNumbers[j] = dis( gen ) * totalError;
}
// cumulative sum, keep distances for later use
std::vector<double> cumSum = distances;
for ( size_t j = 1; j < n; j++ )
{
cumSum[j] += cumSum[j - 1];
}
// binary search for the index of the first element greater than or equal to random numbers
for ( unsigned int j = 0; j < numCandidateCenters; j++ )
{
size_t low = 0;
size_t high = n - 1;
while ( low <= high )
{
size_t mid = low + ( high - low ) / 2;
if ( cumSum[mid] < randomNumbers[j] )
{
low = mid + 1;
}
else
{
// size_t cannot be negative
if ( mid == 0 )
break;
high = mid - 1;
}
}
// clip candidate center to the number of points
if ( low >= n )
{
low = n - 1;
}
candidateCenters[j] = low;
}
std::vector<std::vector<double>> distancesCandidateCenters( numCandidateCenters, std::vector<double>( n ) );
;
// store distances between previous and new candidate center, error and best candidate index
double currentError = 0;
double lowestError = std::numeric_limits<double>::max();
unsigned int bestCandidateIndex = 0;
for ( unsigned int j = 0; j < numCandidateCenters; j++ )
{
for ( size_t z = 0; z < n; z++ )
{
// distance to candidate center
double distance = points[candidateCenters[j]].point.sqrDist( points[z].point );
// if distance to previous center is less than the current distance, use that
if ( distance > distances[z] )
{
distance = distances[z];
}
distancesCandidateCenters[j][z] = distance;
currentError += distance;
}
if ( lowestError > currentError )
{
lowestError = currentError;
bestCandidateIndex = j;
}
}
// update distances with the best candidate center values
for ( size_t j = 0; j < n; j++ )
{
distances[j] = distancesCandidateCenters[bestCandidateIndex][j];
}
// store the best candidate center
centers[i] = points[candidateCenters[bestCandidateIndex]].point;
// update error
totalError = lowestError;
}
}
// ported from https://github.com/postgis/postgis/blob/svn-trunk/liblwgeom/lwkmeans.c
void QgsKMeansClusteringAlgorithm::calculateKMeans( std::vector<QgsKMeansClusteringAlgorithm::Feature> &objs, std::vector<QgsPointXY> &centers, int k, QgsProcessingFeedback *feedback )
@ -325,9 +481,9 @@ void QgsKMeansClusteringAlgorithm::calculateKMeans( std::vector<QgsKMeansCluster
}
if ( !converged && feedback )
feedback->reportError( QObject::tr( "Clustering did not converge after %n iteration(s)", nullptr, i ) );
feedback->reportError( QObject::tr( "Clustering did not converge after %n iteration(s)", nullptr, static_cast<int>( i ) ) );
else if ( feedback )
feedback->pushInfo( QObject::tr( "Clustering converged after %n iteration(s)", nullptr, i ) );
feedback->pushInfo( QObject::tr( "Clustering converged after %n iteration(s)", nullptr, static_cast<int>( i ) ) );
}
// ported from https://github.com/postgis/postgis/blob/svn-trunk/liblwgeom/lwkmeans.c

View File

@ -58,7 +58,8 @@ class ANALYSIS_EXPORT QgsKMeansClusteringAlgorithm : public QgsProcessingAlgorit
int cluster = -1;
};
static void initClusters( std::vector<Feature> &points, std::vector<QgsPointXY> &centers, int k, QgsProcessingFeedback *feedback );
static void initClustersFarthestPoints( std::vector<Feature> &points, std::vector<QgsPointXY> &centers, int k, QgsProcessingFeedback *feedback );
static void initClustersPlusPlus( std::vector<Feature> &points, std::vector<QgsPointXY> &centers, int k, QgsProcessingFeedback *feedback );
static void calculateKMeans( std::vector<Feature> &points, std::vector<QgsPointXY> &centers, int k, QgsProcessingFeedback *feedback );
static void findNearest( std::vector<Feature> &points, const std::vector<QgsPointXY> &centers, int k, bool &changed );
static void updateMeans( const std::vector<Feature> &points, std::vector<QgsPointXY> &centers, std::vector<uint> &weights, int k );

View File

@ -198,9 +198,9 @@ QVariantMap QgsLayoutAtlasToImageAlgorithm::processAlgorithm( const QVariantMap
settings.generateWorldFile = parameterAsBool( parameters, QStringLiteral( "GEOREFERENCE" ), context );
if ( parameterAsBool( parameters, QStringLiteral( "ANTIALIAS" ), context ) )
settings.flags = settings.flags | QgsLayoutRenderContext::FlagAntialiasing;
settings.flags = settings.flags | Qgis::LayoutRenderFlag::Antialiasing;
else
settings.flags = settings.flags & ~QgsLayoutRenderContext::FlagAntialiasing;
settings.flags = settings.flags & ~static_cast< int >( Qgis::LayoutRenderFlag::Antialiasing );
settings.predefinedMapScales = QgsLayoutUtils::predefinedScales( layout.get() );

View File

@ -182,14 +182,14 @@ QVariantMap QgsLayoutAtlasToPdfAlgorithmBase::processAlgorithm( const QVariantMa
}
if ( parameterAsBool( parameters, QStringLiteral( "DISABLE_TILED" ), context ) )
settings.flags = settings.flags | QgsLayoutRenderContext::FlagDisableTiledRasterLayerRenders;
settings.flags = settings.flags | Qgis::LayoutRenderFlag::DisableTiledRasterLayerRenders;
else
settings.flags = settings.flags & ~QgsLayoutRenderContext::FlagDisableTiledRasterLayerRenders;
settings.flags = settings.flags & ~static_cast< int >( Qgis::LayoutRenderFlag::DisableTiledRasterLayerRenders );
if ( parameterAsEnum( parameters, QStringLiteral( "IMAGE_COMPRESSION" ), context ) == 1 )
settings.flags = settings.flags | QgsLayoutRenderContext::FlagLosslessImageRendering;
settings.flags = settings.flags | Qgis::LayoutRenderFlag::LosslessImageRendering;
else
settings.flags = settings.flags & ~QgsLayoutRenderContext::FlagLosslessImageRendering;
settings.flags = settings.flags & ~static_cast< int >( Qgis::LayoutRenderFlag::LosslessImageRendering );
settings.predefinedMapScales = QgsLayoutUtils::predefinedScales( layout.get() );

Some files were not shown because too many files have changed in this diff Show More