배포일: 2023-03-04
QGIS 프로젝트의 획기적인 3.30 스헤르토겐보스(‘s-Hertogenbosch) 버전은 QGIS 개발자 커뮤니티의 광범위한 변경 사항 및 최적화를 도입하고 있습니다.
이 버전의 로딩 이미지는 1867년 제작된 스헤르토겐보스의 “헤메헨테카르트(Gemeentekaart)”, 즉 지자체 지도의 일부입니다. 이 지도는 당시 네덜란드의 모든 지역 사회를 보여주는 1200개 지도의 일부로서, 이 일련의 지도들은 11개 지역별 지도책으로 출판되었습니다. 지도책의 모든 지도는 동일한 크기로 제작되었지만, 광역 지자체의 경우 2배 크기로 제작한 다음 페이지에 맞도록 축소되었습니다. 이 일련의 지도들은 그 정확성과 완성도로 인해 국제적인 인정을 받았습니다. 당대 네덜란드에서 가장 유명한 지리학자이자 지도 제작자였던 야코프 카위퍼르(Jacob Kuyper, 1821-1908)가 로딩 이미지의 지도를 그렸습니다. atlasandmap.com 이 로딩 이미지의 지도 및 텍스트를 제공했습니다.
자체 지오노드(GeoNode) 통합 또한 외부 플러그인으로 마이그레이션되어, 최근 배포판들에서 구현된 플러그인 용 QGIS API의 강력한 확장 기능을 활용할 수 있게 되었습니다.
사용자들 또한 래스터 속성 테이블 지원, 로딩 시 지능적이고 환경 설정 가능한 레이어 정렬, GPS 지원 프로그램 개선, 더욱 동적인 양식 위젯, 첨부 파일에 대한 자체적인 풍성한 미디어 미리보기, 클라우드 서비스들과의 더 나은 통합, QGIS 메타데이터 표준 확장, 그리고 기타 주목할 만한 추가 기능들 등을 포함하는 새로운 기능과 UX 개선 사항들을 기대할 수 있을 것입니다.
이번에 도입된 새로운 모든 기능들을 한번에 알고 싶다면, 유튜브에 있는 하이라이트 영상 을 보면 됩니다.
QGIS는 커뮤니티 작업의 결과이며, 이에 우리는 개발자, 문서 작성자, 테스터, 그리고 이번 배포판을 가능하게 하기 위해 시간과 노력을 자원하는 (또는 그런 이들에게 자금을 지원하는) 많은 사람들에게 크나큰 감사를 드리고 싶습니다. 우리 QGIS 커뮤니티는 여러분이 이번 배포판을 즐기시기 바랍니다! QGIS를 더 멋지게 만들기 위해 시간, 돈, 또는 다른 방법으로 공헌하고 싶다면 QGIS.ORG 를 방문해서 도와주세요!
QGIS는 기부자와 후원 회원들의 지원을 받고 있습니다. 기부자 목록 에서 프로젝트에 크고 작은 재정적 후원을 한 기부자들의 현재 목록을 볼 수 있습니다. 공식적인 프로젝트 후원 회원이 되고자 하는 분은 후원 회원 페이지 에서 자세한 내용을 살펴 주십시오. QGIS를 후원해주시면 정기 개발자 회의의 예산을 마련하고, 프로젝트 인프라 유지관리 및 버그 수정 활동에 예산을 지원할 수 있습니다. 아래에서 현재 후원자들의 완전한 목록을 볼 수 있습니다. 모든 후원자분들에게 최상의 감사를 드립니다!
QGIS는 자유 소프트웨어이며 사용하기 위해 어떤 것도 지불할 의무가 없습니다. 사실을 말하자면, 우리는 여러분이 여러분의 재정적 또는 사회적 상태와 상관없이 QGIS를 널리 사용하기를 바랍니다. 우리는 공간적 의사 결정 도구를 통해 사람들에게 힘을 주게 된다면 모든 인류를 위한 더 나은 사회를 맞이할 것이라 믿습니다.
QGIS 이전 배포판들은 QGIS 3.16 이전 버전들이 QGIS 프로젝트 파일을 열 수 있도록 프로젝트 파일의 XML 구조 안에 심볼에 대한 하위 호환성을 유지할 수 있게 하는 상당한 분량의 호환성 객체들을 작성하곤 했습니다. 향후 배포판에서는 이 호환성이 제거됩니다.
데니스 로우차우트(Denis Rouzaud) 가 이 기능을 개발했습니다.
이전 배포판들에서는 벡터 레이어에서만 맵팁을 사용할 수 있었지만, 새로운 API 변경 사항으로 인해 다른 레이어 유형에서도 맵팁을 구현할 수 있게 되었습니다.
이제 래스터 레이어에서도 맵팁을 지원하며, 기존 맵팁 케이퍼빌리티를 확장하기 위한 새로운 표현식 유틸리티 함수들이 추가되었습니다:
map_to_html_table
: (키-값 쌍 데이터 구조) 맵을 HTML 표로 변환합니다.
map_to_html_dl
: (키-값 쌍 데이터 구조) 맵을 HTML 정의 목록(definition list)으로 변환합니다.
raster_attributes
: 입력 래스터 값과 일치하는 속성 테이블 항목의 필드 이름을 키로 그리고 래스터 속성 테이블 값을 값으로 가지는 맵을 생성합니다.
변수 ``@layer_cursor_point` `를 마우스 위치 아래의 (레이어 좌표계를 사용하는) 레이어 좌표로 정의하는 새로운 “Map Layer Position” 표현식 범위를 추가했습니다.
미국국립해양대기청 해안조사국 수역과(NOAA OCS Hydrography)가 이 기능에 대한 기금을 후원했습니다.
알레산드로 파소티(Alessandro Pasotti) 가 이 기능을 개발했습니다.
A new option allows for the use of the identify tool to be triggered on mouse movement, without needing to click on the canvas.
This option behaves almost identically to the default identify option, with the difference being that the user doesn’t need to click or use a keyboard shortcut to trigger the identify action. This allows the identify tool to function similar to the MapTips utility, whilst providing users with the benefits of the identify tool such as support for multiple layer types and derived information.
The default trigger is a 300-millisecond timer which will execute the identify action, which is implemented to avoid performance issues when moving the mouse.
알레산드로 파소티(Alessandro Pasotti) 가 이 기능을 개발했습니다.
New constraint-based conditional styling and failing constraints feature filters have been exposed within the attribute table.
This functionality provides filtering options to view or hide features that have failing (hard or soft) constraints, and introduces a new conditional styling type that works alongside the pre-existing row and field types to highlight features which fail to meet the layer constraints.
이 기능은 Mathieu Pellerin 이 개발했습니다
The GPS information panel now includes the current total track length, and the distance from start of track. These features are also available as a (not-on-by-default) option which allows them to be shown in the GPS toolbar information label.
The GPS information panel also includes ellipsoidal altitude in the available GPS information values.
This feature was funded by NIWA
이 기능 개발자 Nyall Dawson
A substantial rework of the GPS information panel has been performed in order to simplify the user operation of GPS within QGIS and provide a more streamlined GPS experience.
Previously, all application-level GPS functionality was exposed through a single GPS “Information” panel interface, which included GPS connection settings, digitizing from GPS, and the actual display of GPS information. This interface became cluttered and difficult to use
GPS functionality has now been split up into distinct parts:
Application level, rarely changed GPS settings are present in the GPS tab of the Options menu within QGIS Settings.
A new floating “GPS Toolbar” has been added, which contains the most commonly used GPS-related operations.
The final action in the GPS Toolbar opens a “GPS settings” popup, that contains various settings that are expected to be modified mid-session and are expected to be more readily accessible.
The GPS information widget has been redesigned to show only GPS information. Specifically, only the “information” and “signal” tabs remain. The GPS information widget still contains a shortcut to the connect/disconnect action, and also a settings button that exposes the same GPS settings menu as is used in the GPS toolbar.
The GPS information widget class is now responsible ONLY for showing the GPS information in the panel, and new dedicated classes have been created for handling digitizing from GPS, the new GPS toolbar, and GPS settings accordingly.
This feature was funded by NIWA
이 기능 개발자 Nyall Dawson
A new extension of the Styled Layer Descriptor (SLD) export API has been developed which exists in parallel with existing SLD export options, but provides additional functionality for the granular control of SLD exports.
This development includes the export of complex polygon layer styles as external graphic symbols which are stored alongside the exported SLD.
알레산드로 파소티(Alessandro Pasotti) 가 이 기능을 개발했습니다.
Users are now able to apply a global terrain shading effect to the map, which is based on the elevation of all the active layers that support elevation, including :
Raster layers (if “Represent elevation Surface” is checked in the layer properties)
Mesh layers
Point cloud layers.
The elevation value at any particular position for all the relevant layers are combined, and the considered elevation is chosen depending on one of two user defined methods:
The highest elevation is considered
The elevation on the topmost layer in the layer tree is considered
The implementation of shading methods are currently the Eye Dome Lighting and the hill-shade effect.
Elevation shading settings are exposed to the user interface in the following controls:
In project properties, in the same tab of the project elevation settings
In the layer styling panel, a new tab has been created for defining global terrain shading settings
This feature was funded by QGIS Community Crowdfunding Efforts
This feature was developed by Vincent Cloarec
Text items in QGIS now support superscript and subscript.
This allows for:
<sup>superscript</sup>
/ <sub>subscript</sub>
components in text, where the text will be vertically super or subscript aligned and automatically sized to 2/3rd of the parent font size. Users can also set a fixed font size for the super/subscript by including the relevant CSS rules in their HTML, e.g. <sup style="font-size:33pt">super</sup>
vertical-align: super
or vertical-align: sub
CSS formatting rules in any other HTML element
This feature was funded by OSGEO UK
이 기능 개발자 Nyall Dawson
The rendered extent of a 3D scene can now be constrained to features that intersect a user-specified 2D extent.
The manner in which rendered features are limited is dependent on the source data layer type:
Flat, DEM, and Online Terrain are clipped at the specified extent
Point cloud layers only load points within the specified extent
Vector layers only load features that intersect the specified extent
Extent-based feature filtering on mesh layers is still currently in development.
This feature was funded by QGIS Community Crowdfunding Efforts
This feature was developed by Stefanos Natsis
There are a couple of improvements that improve the user experience:
Elevation range is taken into account when “Zoom full” is used (users should not end up “behind” their scene anymore)
Move camera vertically using Ctrl + Shift + Left mouse button
Allow wheel zooming while moving the mouse
Continue right mouse button zooming when pointer exits the viewport
This feature was funded by QGIS Community Crowdfunding Efforts
This feature was developed by Stefanos Natsis (Lutra Consulting)
The shortcut manager, accessible from the settings menu of the primary QGIS interface, allows users to configure and override existing keyboard shortcuts and supports user defined methods for executing QGIS Actions.
A similar keyboard manager configuration dialog has now been added to the Print Layout interface for enhanced productivity.
This feature was developed by Yoann Quenach de Quivillic
This change allows the use of the full-text renderer capabilities for legend titles, subtitles, and item text.
It allows for the configuration of buffers, shadows, font spacing control, and other available options (including mixed HTML formatting) which are permitted for use in text formats.
This feature was funded by NIBIO
이 기능 개발자 Nyall Dawson
A new feature_id($feature)
expression function now allows for retrieving the feature ID of a feature object.
The function accepts one argument which must be a feature object. Accordingly, this function can be used with the results of any other function which returns feature objects, such as “get_feature”, “overlay_*”, etc.
이 기능 개발자 Nyall Dawson
New is_feature_valid()
and is_attribute_valid()
functions are provided in QGIS expressions. Both functions validate a feature or attribute, based on the constraints attached to fields for a given vector layer. This enables users to leverage the select-by-expression utility to locate features that have unmet constraints. In addition, users can now use the rule-based renderer to provide visual feedback through symbology indicating the constraint validity state of rendered features.
이 기능은 Mathieu Pellerin 이 개발했습니다
The available $functions are considered deprecated ($x_at``and``$y_at`), and instead of operating on the current feature geometry the functions instead support a feature geometry as arguments.
The changes for these expressions include the creation of similar functions for other geometry measurements. These new functions include:
x_at(geometry, i)
y_at(geometry, i)
z_at(geometry, i)
m_at(geometry, i)
This feature was funded by Métropole Européenne de Lille
This feature was developed by Antoine Facchini
Efforts to improve the management of datetime field information include the explicit definition of localization formatting for the display of datetime fields, whilst ensuring that the editing, capture, and storage of the field values conforms with international time formatting standards.
This feature was funded by 3liz
This feature was developed by rldhont
When activated in the GPS toolbar settings, the “Log to Geopackage/Spatialite” action will prompt the user to select an existing GPKG or SpatiaLite file, or enter a new file name. A “gps_points” and “gps_tracks” table will be created in the file with a predefined structure.
All incoming GPS messages will be logged to the gps_points layer, along with speed/bearing/altitude/accuracy information from the GPS.
When the GPS is disconnected (or QGIS is closed), the entire recorded GPS track will be added to the gps_tracks table, along with some calculated information like track length, and start and end times)
This feature was funded by NIWA
이 기능 개발자 Nyall Dawson
This option allows users to manually enter a desired offset from UTC for storing GPS time stamps. This allows for full flexibility for users who need to account for daylight savings offsets or other complex time zone issues.
This feature was funded by NIWA
이 기능 개발자 Nyall Dawson
QGIS now includes extensive support for Raster Attribute Tables (RATs).
These updates provide a new RAT interface within the QGIS API, and support is provided for RATs managed by raster data providers (GDAL), as well as for generic value attribute table (VAT) files, provided that they are stored in an auxiliary DBF sidecar file.
Much of the functionality from the Python RAT Plugin was ported into QGIS to provide native support for RATs, and a new set of GUI operations affords users the following advanced functionalities:
Automatic raster styling: If a RAT is available when adding a raster to the project and includes style information, QGIS will apply the relevant styles to the raster layer by default. Automatic loading works for both embedded RATs and sidecar VAT.DBF with same basename of the raster.
RAT reclassification: Reclassification of a raster can be performed by selecting a different column
RAT Identify: Values from the RAT row corresponding to the relevant pixel value are shown in the identify Map Tool
RAT properties: A new “Attribute Table” tab is available from the raster layers property window
RAT editing: RATs offer basic editing capabilities
RAT creation from current classification: RATs can be created from existing paletted or singleband pseudocolor styles
A gallery of these functionalities in action is available on GitHub
미국국립해양대기청 해안조사국 수역과(NOAA OCS Hydrography)가 이 기능에 대한 기금을 후원했습니다.
알레산드로 파소티(Alessandro Pasotti) 가 이 기능을 개발했습니다.
The following fields have been added to the QGIS layer/project metadata standard:
Date created
Date published
Date revised
Date superseded
In previous releases, layer metadata had no date fields, whilst project metadata include only the created date field
이 기능 개발자 Nyall Dawson
New functionality introduces multimedia support for the external resources widget, allowing users to playback audio and video media files in the attachments viewer.
This change includes additional configuration options for external resources, with two new items in the integrated viewer type combo box. The video type will take into consideration the height set by the user. If it’s left to auto, the video widget will grow to fill available space.
This functionality includes the development of the QgsMediaWidget
object into the QGIS API for extended multimedia support.
이 기능은 Mathieu Pellerin 이 개발했습니다
The “Editable” checkbox status can now be controlled through an expression, the expression supports the “form” context, meaning that it can use current_value( '<field_name>' )
to dynamically change the editable status according to changes to other fields in the form.
This feature was funded by Kanton Solothurn
알레산드로 파소티(Alessandro Pasotti) 가 이 기능을 개발했습니다.
A new spacer widget is provided, with the option to draw a horizontal line, affording users a greater degree of control for how forms are rendered for end users and extending functionality for improved UX with thematic breaks and improved alignment.
The widget renders as a blank space in the form, which creates a manual separation between other form objects.
When the “Draw line” option is set in the configuration it will fill the vacant space with a line in a manner similar to the horizontal rule, or <hr>
tag in html.
This feature was funded by Kanton Solothurn
알레산드로 파소티(Alessandro Pasotti) 가 이 기능을 개발했습니다.
Text widgets now support dynamic configuration based on the values of fields present in the current form context by providing a current_value()
function which may be evaluated within a QLabel
object.
Using the current_value( '<field_name>' )
expression will evaluate and update the form when the form field value changes.
This feature was funded by Kanton Solothurn
알레산드로 파소티(Alessandro Pasotti) 가 이 기능을 개발했습니다.
HTML widgets now support dynamic configuration based on the values of fields present in the current form context by providing a current_value
function.
Using the current_value( '<field_name>' )
expression will evaluate and update the form when the form field value changes.
This feature was funded by Kanton Solothurn
알레산드로 파소티(Alessandro Pasotti) 가 이 기능을 개발했습니다.
The Value Relation widget previously ignored “Use completer” option when “Allow multiple selections” was enabled. Now these two options work together and there is a search box present at the top of the table, allowing filtering of values. When “Use completer” option is not enabled, the search box is not shown as before.
This feature was funded by QGIS Norway
This feature was developed by Stefanos Natsis (Lutra Consulting)
New options for configurable layer tree insertion methods, and the automated sorting of layers added via drag and drop functions, are now available in QGIS.
The previous behavior was for QGIS to always load new layers above the currently active layer.
New options have been provided to allow for more control of how new layers are added to projects:
(Always) On top of the layer tree
Optimal index/position within the currently active layer’s group
The optimal index will attempt to intelligently order layers by type (e.g. points on top of areas etc.) and provide a significantly improved experience for new users.
In addition, drag and drop added layers will be added to the layer index tree at the location of the cursor when released to ensure the layer is rendered in a predictable and intuitive manner.
This feature was funded by Funded by the QGIS user group Switzerland
이 기능은 Mathieu Pellerin 이 개발했습니다
Three new optional advanced parameters have been exposed for the XYZ Tile generation algorithm:
Leaflet HTML output title
Leaflet HTML output attribution
Include OpenStreetMap basemap in Leaflet HTML output
This feature was developed by Björn Hinkeldey
While many processing algorithms supported data-defined parameter values, these were not possible to specify when using the qgis_process tool (or when representing algorithm settings as JSON and qgis_process commands), introducing limitations for utilizing QGIS within command line processing operations.
A new syntax is now provided to allow the specification of data-defined parameter values when running qgis_process operations, and copying the algorithm settings from QGIS will now correctly handle data-defined values.
Command line arguments are specified with the expression:
prefix within an encapsulated string, whilst the JSON definition is implemented using an expression object with a data_defined
type definition. Note that special characters within the expression will need to use the appropriate escape characters relevant to the context in which they are used.
Considering the expression @variable*"field_name"*to_int('2')/100
for the following examples, the command-line syntax would be:
--PARAMETER='expression:@variable*"field_name"*to_int('\''2'\'')/100'
Whilst the JSON representation would be:
"inputs": {
"PARAMETER": {
"expression": "@variable*\"field_name\"*to_int('2')/100",
"type": "data_defined"
},
"OUTPUT": "TEMPORARY_OUTPUT"
}
This feature was funded by the Research Institute for Nature and Forest, Flemish Govt
이 기능 개발자 Nyall Dawson
A new load_layer
expression function has been made available (exclusively for Processing expressions for the time being), which allows the loading of a map layer using a source string and provider name.
It is designed to allow the use of the expression functions which directly reference map layers (such as the aggregate functions) with a hardcoded layer path.
This permits the usage of these functions to be used outside of a project (such as via the qgis_process tool) and perform operations such as utilizing complex aggregate functions in the refactor fields algorithm via the qgis_process utility without creating a temporary project for data manipulation.
This feature was funded by the Research Institute for Nature and Forest, Flemish Govt
이 기능 개발자 Nyall Dawson
The GDAL Raster Calculator now includes an interface for user-specified extent definition, so that users no longer have to specify the --extent
criteria in advanced options.
This feature was developed by Nicolas Godet
This new setting, available from the GPS settings panel, allows users to opt into creating geometries with M values from the inbuilt GPS logging tools. This applies to both features digitized from GPS logs, and from the new “Log to GeoPackage/SpatiaLite” functionality.
Options include the storing of timestamps (as milliseconds since epoch), ground speed, altitudes, bearings, and accuracy components as m values.
This feature was funded by NIWA
이 기능 개발자 Nyall Dawson
In previous releases, the destination layer for newly created GPS digitized features always followed the current layer selection. This made it very tricky to design projects around GPS digitizing, as whenever a user started interacting with the project the captured GPS features would be placed unpredictably within the available layers.
The GPS feature destination layer is now an explicit choice made by the user. A user can set this layer, and then go ahead and interact with the rest of their project layers and be guaranteed that any time they hit the actions to create GPS features these features will be put into the correct layer. The destination layer is stored in the current project, so reopening a prior project will automatically restore the GPS destination layer (also making it easier for staff or scripts to create GPS digitizing projects in advance for other users and be confident that these will work correctly in the field).
Additional enhancements include:
GPS destination layer is now made automatically editable when a feature is created, and the user is notified accordingly. This follows the approach we use for the interactive labeling tools and avoids user frustration where the features were previously not saved without any guidance as to why.
The GPS toolbar actions now more intelligently follow the state of the project, GPS, and current GPS track, so that actions are only enabled when they make sense
UI improvements and better tooltips
This feature was funded by NIWA
이 기능 개발자 Nyall Dawson
A new elevation profile canvas item is available for QGIS Quick, allowing the elevation profile tools to be used in other cross platform and mobile QGIS applications.
이 기능은 Mathieu Pellerin 이 개발했습니다
It is now possible to include profile plots in print layouts! There is a new “Add Elevation Profile” button in the toolbar which will initially create an empty plot. A plot can be initialized by clicking “Copy From Profile” button in the properties of the elevation profile item - this will use the active elevation profile from the main window of QGIS.
The elevation profile has wide configuration options - you can specify:
what layers to include
tolerance of the profile curve
chart ranges (minimum and maximum distance/elevation)
chart area borders and colors
distance and elevation axes properties - intervals of labels, grid lines appearance, fonts and more
This feature was funded by QGIS Community Crowdfunding Efforts
이 기능 개발자 Nyall Dawson
This functionality allows for the creation of new embedded relationship definitions in database files for ESRI FileGeodatabases, GeoPackage, and sqlite databases.
Deleting and modification of existing relationships is also supported, however the available functionality may depend on the constraints of the actual database format.
This feature was funded by Provincie Zuid-Holland
이 기능 개발자 Nyall Dawson
The Native GeoNode Provider has been removed from QGIS and is now instead available as a plugin.
This change is due to the extension of plugin APIs to support the necessary functionalities, such as the data source manager, and was executed in line with QEP 262.
This feature was developed by Giovanni Allegri
Users may now directly add an XYZ tile layer in the data source manager, without having to first create a new connection.
This permits users to easily add ad-hoc XYZ layers to their map without polluting their lists of saved connections.
이 기능 개발자 Nyall Dawson
As GDAL now supports query logging callbacks for SQLite-based layers, QGIS leverages this functionality to allow for query logging in the QGIS debug tools.
This is available for OGR-based SQLite data sources (SpatiaLite/ GPKG).
알레산드로 파소티(Alessandro Pasotti) 가 이 기능을 개발했습니다.
S3 compatible cloud storage, such as AWS S3 and MinIO, are now supported as a method for accessing and storing external files, made available by using the external storage UI for cloud storage of attachments.
A new QGIS Auth method named “AWS S3” has been provided to support connecting to services using the S3 protocol.
This feature was funded by Métropole Grand Lyon**
This feature was developed by Jacky Volpes
QGIS now allows for WMTS layers to take device screen resolution, or dots per inch (DPI), into account and scale up the tile resolution on high DPI screens.
A new combo box has been added in the new WMS and WMTS server dialog for configuration of the WMTS tile pixel ratio. This allows QGIS to automatically handle the scaling up and down of tiles retrieved from the service based on the rendered DPI.
Note that enabling smooth pixmap transform is recommended when automatic upscaling is active
이 기능은 Mathieu Pellerin 이 개발했습니다
This provider has not been maintained and does not work with newer SAGA versions. Users are encouraged to use the 3rd-party “Processing Saga NextGen” plugin instead.
After many many years of discussion, it’s time for the inbuilt provider to go!
이 기능 개발자 Nyall Dawson
The QGIS WFS provider has been improved to look in the response to the GetCapabilities request (if using WFS 2.0) if the IsPoint
, IsCurve
, IsSurface
extended filter functions are present.
When such a layer is added to the project, a “Select Items to Add” dialog box is displayed.
This enables the user to select one or several layers among ones of NoGeometry
, MultiPoint
, MultiCurve
, MultiSurface
, GeometryCollection
types.
This feature was funded by QGIS-DE user group
This feature was developed by Even Rouault
This change defines the QgsApplication::applicationFullName()
method for use with PostgreSQL application_name
and QGIS Server Logging.
For QGIS Server, the QGIS_SERVER_APPLICATION_NAME
can be specified instead and will take precedence over the QGIS_APPLICATION_FULL_NAME
setting.
The value may also be specified in the /qgis/application_full_name
variable in the QGIS Server config file.
By default, this value will be defined by the value of QgsApplication::applicationName()+' '+QgsApplication::platform()
.
This feature was funded by 3liz
This feature was developed by rldhont
JSON support has been added as an output format for DescribeFeatureType requests to the QGIS Server WFS. Although not an explicit stipulation by the WFS specifications, this functionality allows for responses that match other WFS service providers such as GeoServer.
This feature was funded by Kristianstads kommun
This feature was developed by David Marteau
The topology checker plugin has been improved to provide functionality for better management of rules, as well as filtering on large error sets. Additional enhancements bring the UX more in line with later QGIS releases and allow productivity enhancement such as bulk deletions and rule disablement.
The topology checker rules dialog now features check boxes which are attached to individual rules, which allow for enabling/ disabling rules when running validity checks without having to remove them. This avoids scenarios when users don’t want to lose rules but are only interested in validating a subset.
The topology checker panel also has a a new combo box below its toolbar to allow for quick filtering of errors to allow users to focus on a specific error type, although it will continue to display all error types by default.
이 기능은 Mathieu Pellerin 이 개발했습니다
New functionality has been added to the QgsExifTools class, including:
The readTag()
and readTags()
functions now support Xmp metadata tags
A new tagImage()
function can be used to add individual metadata tags to a given image, which can be used in addition to the pre-existing geoTagImage()
function
이 기능은 Mathieu Pellerin 이 개발했습니다
Previous releases of QGIS included an autoCloseBracket
setting for the Python Console, which had a number of limitations in its behavior, including being limited to use within the Python Console and Script Editor interfaces.
Updates to the autocomplete settings extend this functionality to other Code Editor interfaces, such as the Expression Editor, Project Macro Editor, and Script Editor. The autoCloseBracket
behavior has also been adjusted to better mimic the behavior of modern IDEs, and an autoSurround
setting has been added to surround selected text when using the following character sets:
braces/ curly brackets: {}
square/ box brackets: []
parenthesis/ round brackets: ()
double quotation mark: "
single quotation mark: '
backticks: `
asterisk: *
With the exception of the backtick and asterisk characters, the autoCloseBracket functionality is available when encapsulating new data without an active text selection.
The autocompletion configuration is enabled by default for new releases, but a new settings interface is provided for granular control by users.
This feature was developed by Yoann Quenach de Quivillic
The comment and uncomment actions of the embedded Python Editor have been replaced with a toggle comment action, which is now also available in the Processing Script Editor.
This brings the editor UX in line with other IDEs such as VSCode, which allow the ability to toggle comments.
The default shortcut for this action is set to Ctrl+:
The toggle comment action is also available in Project Macro and Expression Editors, however this is only available using the Ctrl+:
shortcut and does not include the action button on the UI.
This feature was developed by Yoann Quenach de Quivillic
Bug Title |
URL issues.qgis.org (if reported) |
URL Commit (Github) |
3.28 backport commit (GitHub) |
---|---|---|---|
Task: take into account GDT_Int8 |
|||
Task: take into account GDT_Int8 |
N/A |
||
MultiLineString from OpenFileGDB Disappears on Zoom |
|||
DATETIME: Wrong timezone for UTC in attribute table |
|||
distutils is deprecated but still used |
|||
Importing Data into a QGIS Created File Based Geodatabase |
N/A |
||
Importing Data into a QGIS Created File Based Geodatabase |
|||
OGCAPI Features url of collection with dot |
|||
CityGML Import not working with LoD2 files |
N/A |
||
Broken layers when creating new table on GPKG created by third party |
N/A |
||
“Save Layer Edits” after “Add Polygon Feature” deletes added polygons when the objects have no attributes |
|||
gis transforming coordinates incorrectly |
N/A |
||
Some versions of QGIS can’t parse mixed-dtype-columns in GeoJSON |
None: just investigation & preliminary fix attempt |
This feature was funded by QGIS.ORG (through donations and sustaining memberships)
This feature was developed by Even Rouault
Bug Title |
URL issues.qgis.org (if reported) |
URL Commit (Github) |
3.28 backport commit (GitHub) |
---|---|---|---|
Add Row does not work with postgres identity columns that have many characters |
|||
If some layers are not identifyable, QGIS Server WMS “GetFeatureInfo” returns LayerNotQueryable |
PR #51646 (tests only, cannot reproduce) |
N/A |
|
Research and diagnosys on: Bug or new behaviour on default fields values on QGIS 3.28.X |
Asked feedback to the original developer of the “feature” |
||
[ogr provider] Saving big CSV edit is very slow when the whole file has to be updated (such as adding a new field) |
|||
Vector data - Graduated Symbology - Legend Format - Only use upper limit |
|||
Weird interval QgsDoubleSpinbox behavior in graduated symbology with fixed interval |
X |
||
Project predefined scales are trimmed at thousand separator after project restart/reopening properties |
|||
wms getLegendGraphic call the group and not the layer when many style layers add from browser |
X |
||
overlay_intersects’ does not work with WFS-layer |
|||
multiedit in attribute table not working properly in version >=3.22 |
Risky? |
||
Key/Value expression constraint is not updated |
|||
Float fields created in ArcGIS are converted into Real 12, 11 - Precision is too high |
Won’t Fix |
||
CSV datasource not converted from 3.16 to 3.22 correctly - projects not usable anymore |
|||
Changes on geometry get discarded on save edits when layer filter is enabled (gpkg layer) |
Works for me |
||
If a widget default value is setup as NULL then it’s not working as it’s overriden by database column default |
Won’t Fix (probably: still debating) |
||
Can’t use raster Unique values symbolgogy for Integer rasters with a single value of 1 |
|||
PyQGIS QgsPolygon creation crashes |
TODO |
This feature was funded by QGIS.ORG (through donations and sustaining memberships)
This feature was developed by Alessandro Pasotti
Bug Title |
URL issues.qgis.org (if reported) |
URL Commit (Github) |
3.28 backport commit (GitHub) |
---|---|---|---|
Area Simplify drops Z and M values |
|||
NULL Value is displayed as NULL html link in the File widget |
|||
Vertex Editor table shows incorrect columns in QGIS 3.28 |
|||
Copying fetures to PostgreSQL layer not copying same name attribute value |
Won’t Fix |
||
Crash when switching style to point displacement from geometry generator |
TODO |
||
Fix trust parameter not saved and not read |
not reported |
TODO |
|
North Arrow Decoration: file selector for custom SVG does not work correctly |
|||
Filter dialog for vector layers in edit state can still be opened via the filter icon in the layers menu |
This feature was funded by QGIS.ORG (through donations and sustaining memberships)
This feature was developed by Julien Cabieces
Bug Title |
URL issues.qgis.org (if reported) |
URL Commit (Github) |
3.28 backport commit (GitHub) |
---|---|---|---|
CI fails upon touching src/test/qgistest.h |
|||
TestQgsTileDownloadManager::testIdleThread is unstable |
|||
Crash on exit with static |
|||
Allow to skip PostgreSQL backend dependent tests at runtime |
N/A |
||
Do not discard geometry attributes having no SRID |
This feature was funded by QGIS.ORG (through donations and sustaining memberships)
This feature was developed by Sandro Santilli (strk)
Bug Title |
URL issues.qgis.org (if reported) |
URL Commit (Github) |
3.28 backport commit (GitHub) |
---|---|---|---|
wms getcapabilities crashes on dimensional data if there are no values |
not reporterd |
||
[3D] Fix Y-Z inversion in point3dsymbolwidget |
not reporterd |
This feature was funded by QGIS.ORG (through donations and sustaining memberships)
This feature was developed by Jean Felder
Bug Title |
URL issues.qgis.org (if reported) |
URL Commit (Github) |
3.28 backport commit (GitHub) |
---|---|---|---|
Missing “Save style…” icon in Layer Style Panel |
Risky? |
This feature was funded by QGIS.ORG (through donations and sustaining memberships)
This feature was developed by Jacky Volpes
Bug Title |
URL issues.qgis.org (if reported) |
URL Commit (Github) |
3.28 backport commit (GitHub) |
---|---|---|---|
Drag and drop point clouds from the browser add the layer twice |
not reporterd |
||
Opening more than 16 vector layers at once causes crash |
not reporterd |
||
Crash when try to split line by point |
|||
QGIS 3.26 crashes when performing “split with line”. |
|||
Cannot split line geometry at vertex if the geometry has Z dimension |
|||
Current implementation of multiple-layer style paste doesn’t work for the command menu “Layer / Paste Style”. |
|||
Copy attribute / Copy feature attributes doesn’t return value if value is URI |
|||
Split tool tries to split even without any digitized points |
not reported |
This feature was funded by QGIS.ORG (through donations and sustaining memberships)
This feature was developed by Stefanos Natsis
Bug Title |
URL issues.qgis.org (if reported) |
URL Commit (Github) |
3.28 backport commit (GitHub) |
---|---|---|---|
Fix using interpolated line symbol layer for polygon outlines |
Unreported |
||
[processing] Don’t raise uncaught exceptions when trying to generate GDAL commands for invalid layers |
|||
Don’t use scientific notation when generating gdal_translate command from georeferencer |
|||
Immediately apply color ramp label precision and suffix changes when auto apply is checked |
Unreported |
Not appropriate |
|
[processing] Fix exception when setting output files in batch processing after removing rows |
|||
[processing] Gracefully handle algorithms with no provider set |
|||
Nan z values should not be clipped from rendered geometries |
|||
Don’t try to download whole COG locally in order to determine open options |
Unreported |
Not appropriate |
|
Fix loss of first color for lineburst symbol layers in GUI |
|||
Fix inefficient vector iteration when no rule based rules match current map scale |
Unreported |
Not appropriate |
|
Fix logic for triggering a full model reset in attribute table after changing attributes |
Unreported |
||
Fix placement of perimeter labels with HTML formatting enabled |
|||
Fix data loss in secondary geometry columns when displaying in attribute form |
Not appropriate |
||
Fix data loss when layers with secondary geometry columns are used in processing tools |
Not appropriate |
||
Correctly handle geometry value conversion for geometry fields |
|||
Show an icon for geometry fields |
Unreported |
Not appropriate |
|
Fix geometry fields incorrectly show as “range” types in fields list |
Unreported |
||
Ensure correct crs is available for QgsMapCanvas for slots connected to extentsChanged when canvas CRS is changed |
|||
Fix array_remove_all behavior when removing null values from array |
|||
Use a better approach to update virtual layer queries which doesn’t lose all the layer’s properties |
|||
[layouts] Use nicer number formatting for dynamic map scale labels |
Not possible |
||
Re-permit format_number to omit group separators |
Unreported |
||
Remember the collapsed state of the vector layer renderer group box |
Unreported |
Not appropriate |
|
When unchecking render layers as a group, ensure child layers don’t have clipping blend modes |
Too intrusive |
||
Fix incorrect georeferencing of images |
|||
Fix crash when showing tooltips for invalid layers |
Unreported |
||
Fix map tips do not show for vector layers where the HTML map tip option isn’t used |
Unreported |
Unaffected |
|
Fix creation of GeoPDF with exported themes containing slashes |
|||
Avoid redo-ing the legend symbol hit test for legend edits which won’t affect the legend symbols visible in a map |
|||
Optimise legend filter by map/expression calculations |
Too risky |
||
[georeferencer] Fix warning about missing output file name doesn’t show in all circumstances |
Unreported |
||
Ensure using @geometry/@feature variables trigger geometry fetching in expression calculation |
|||
Fix generation of raster elevation profiles for exactly horizontal/vertical lines |
|||
Percent encode text values when creating/updating fields on ArcGIS feature services |
|||
Fix drag and drop to GDB results in columns shifted by on |
|||
Expose option for irregular time steps when exporting map animations |
This feature was funded by QGIS.ORG (through donations and sustaining memberships)
This feature was developed by Nyall Dawson
Bug Title |
URL issues.qgis.org (if reported) |
URL Commit (Github) |
3.28 backport commit (GitHub) |
---|---|---|---|
WMS legend symbol missing for “Meters at Scale” symbology and projected CRS |
|||
Attribute table form view looses index when a layer depending on changed |
|||
Attribute table form view looses index when the “yellow” selection is changed |
unreported |
||
Features in Relation Editor are not selectable anymore |
unreported |
Unaffected |
This feature was funded by QGIS.ORG (through donations and sustaining memberships)
This feature was developed by David Signer