Data lansării: 2021-10-22
Versiunea QGIS 3.22 Białowieża a fost lansată la cea de-a 100-a aniversare a Parcului Național Białowieża din Polonia, a cărui inaugurare a avut loc în 1921. Pădurea Białowieża este una dintre ultimele păduri străvechi ale lumii, fiind situată la granița dintre Polonia și Belarus. Este una dintre puținele păduri cu dezvoltare naturală din zona cu climat temperat-continental a Europei și este protejată de mai bine de 600 de ani. Valoarea incontestabilă a pădurii Białowieża a fost recunoscută prin acordarea statutului de Patrimoniu natural UNESCO.
Pădurea Białowieża a fost denumită după satul cu același nume, situat chiar în centrul ei. Așezarea în cauză este una dintre cele mai vechi din zonă, găzduind în zilele noastre numeroase activități de cercetare și turism. Astăzi există trei instituții de cercetare în sat: Stațiunea de Cercetare Geobotanică a Universității din Varșovia, Institutul de Cercetare a Mamiferelor din cadrul Academiei Poloneze de Științe, și Institutul de Cercetare a Pădurilor al Departamentului Pădurilor Naturale. În plus, un număr mare de oameni de știință din Polonia și din străinătate călătoresc în Białowieża pentru a-și completa studiile și, prin urmare, există utilizatori de QGIS, precum și proiecte adiționale care contribuie la ecosistemul datelor și softurilor deschise, cum ar fi proiectul Open Forest Data.
Puteți afla mai multe despre proiect și despre această versiune de QGIS vizitând site-ul web dedicat proiectului, https://qgisbialowieza.pl.
Această versiune include o paletă largă de instrumente dedicate îmbunătățirii experienței utilizatorului. Pe lângă o serie de funcționalități avansate, QGIS Desktop include de acum suport pentru instrumente și straturi de adnotare. Pentru o trecere în revistă a tuturor noilor caracteristici, puteți vizualiza videoclipul de la https://youtu.be/U-RHBt6WZi8
Dorim să mulțumim dezvoltatorilor, creatorilor documentației, testerilor și voluntarilor pentru timpul dedicat și pentru efortul depus (sau pentru că au finanțat anumite persoane în scopurile enumerate) făcând aceste versiuni posibile. Din partea comunității QGIS, vă urăm să vă bucurați de această versiune! Dacă doriți să contribuiți cu efort, bani sau să vă implicați într-un mod care ar putea îmbunătăți QGIS, vă rugăm să vizitați QGIS.ORG și să oferiți o mână de ajutor!
QGIS este susținut din donații și prin programul membrilor susținători. Lista curentă a celor care au contribuit financiar la acest proiect poate fi consultată aici. Dacă doriți să deveniți un membru susținător oficial al proiectului, vă rugăm să vizitați pagina membrilor susținători. Sponsorizările QGIS ne ajută să finanțăm întâlnirea dezvoltatorilor o dată la șase luni, să menținem infrastructura proiectului și să finanțăm eforturile de eliminare a erorilor. În continuare este prezentată lista completă a sponsorilor actuali - acestora le transmitem mulțumirile noastre!
QGIS este un soft gratuit iar dvs. nu aveți obligația de a plăti pentru folosirea lui - de fapt, vrem să încurajăm oamenii de pretutindeni să-l folosească, indiferent de starea financiară sau socială - având convingerea că, oferind utilizatorilor posibilități de decizie spațială, vom obține o societate mai bună.
Proprietățile suplimentare ale straturilor de adnotare includ de acum următoarele:
Informații de bază despre stratul în cauză și opțiuni de setare pentru intervalele de scalare, opacitate, modul de amestecare și inserarea efectelor
O opțiune de a vizualiza proprietățile principale ale stratului de adnotare cu ajutorul bării instrumentelor de adnotare (stratul principal de adnotare este un strat ascuns, care este situat întotdeauna deasupra celorlalte straturi ale hărții, fiind imposibilă deschiderea ferestrei sale de proprietăți prin intermediul arborelui straturilor)
Opțiuni pentru modificarea în panoul de stilizare interactivă a modului de amestecare și a generatorului de efecte
Această funcționalitate a fost dezvoltată de Nyall Dawson
Instrumentul de modificare a adnotărilor poate fi folosit de acum pentru a edita nodurile unei adnotări făcând clic pe un nod existent și mutându-l. Interacțiunile utilizatorului urmează modelele QGIS standard, astfel:
Clic stânga pentru a începe mutarea
Al doilea clic stânga pentru a se aplica modificările
Clic-dreapta pentru a renunța
Selectarea unui nod și apăsarea butonului de ștergere va elimina nodul
Un dublu clic pe un segment va adăuga un nod
Această funcționalitate a fost finanțată de Grupul Utilizatorilor Elvețieni de QGIS.
Această funcționalitate a fost dezvoltată de Nyall Dawson
Atunci când este selectată o adnotare, aceasta poate fi mutata prin apăsarea tastelor cu săgeți.
Această funcționalitate se referă la capabilitatea de a utiliza comenzile rapide ale tastaturii într-o manieră similara cu cea utilizată la realizarea compozițiilor grafice:
shift + cursor
: Deplasare amplă
alt + cursor
: deplasare de 1px
Această funcționalitate a fost dezvoltată de Nyall Dawson
Instrumentelor de adnotare li s-au adăugat funcții de creare a adnotărilor de tip linie și poligon.
Aceste tipuri de adnotări acceptă aceleași tipuri de interacțiuni ca și entitățile vectoriale, cum ar fi acroșarea, urmărirea, andocarea de tip CAD, tasta backspace pentru a elimina vertecșii, modul de digitizare liberă sau circulară și altele.
Această funcționalitate a fost finanțată de Grupul Utilizatorilor Elvețieni de QGIS
Această funcționalitate a fost dezvoltată de Nyall Dawson
Noul cadru de lucru oferă posibilitatea de creare a adnotărilor de tip text pentru elementele punctuale.
Această funcționalitate a fost finanțată de Grupul Utilizatorilor Elvețieni de QGIS
Această funcționalitate a fost dezvoltată de Nyall Dawson
Noua bară de instrumente pentru adnotări permite următoarele acțiuni:
Creare strat nou de adnotare pentru proiectul curent.
Editarea adnotărilor existente cu ajutorul instrumentului de „Modificare a adnotărilor”.
Operațiile acceptate pentru modificarea adnotărilor constau în:
Efectuarea unui clic pe o adnotare existentă pentru a-i afișa proprietățile în panoul de stilizare a stratului, inclusiv simbolul, scara de referință, indicele Z, etc/
Un clic-stânga pe un element de adnotare va iniția mutarea sa. Un clic-dreapta sau tasta escape anulează mutarea, în timp ce un al doilea clic-stânga o va confirma.
Apăsarea tastei de ștergere în timp ce este selectată o adnotare va duce la ștergerea acelei adnotări
Această funcționalitate a fost finanțată de Grupul Utilizatorilor Elvețieni de QGIS
Această funcționalitate a fost dezvoltată de Nyall Dawson
Acest instrument se comportă similar instrumentului existent de „măsurare a unghiului”, dar cere utilizatorului doar să facă clic pe două puncte, după care va afișa distanța unghiulară dintre acestea.
Această funcționalitate a fost dezvoltată de Nyall Dawson
The toggle editing action has been modified to support activation on all selected layers, making it easy to start and stop editing sessions across multiple layers simultaneously. Although the editing session status for all selected layers may not be the same, all selected layers will be toggled to an active or inactive state as the inverse of the current state of the currently active layer. This functionality is applied to the menu item Layer > Toggle Editing, the Toggle Editing button on the digitizing toolbar, and the Toggle Editing entry in the layers context menu.
Această funcționalitate a fost dezvoltată de Stefanos Natsis
Whilst the identify features tool supported multiple selection modes, the „current layer” mode has been extended to support the selection of layer groups, and will identify features from all selected layers. Only features from visible layers within a layer group will be identified.
Această funcționalitate a fost dezvoltată de Stefanos Natsis
Opens a file explorer window and directly selects the file
Also fixes the existing „File Properties” action so that it shows regardless of the file type, and doesn’t show incorrectly in some circumstances.
Această funcționalitate a fost dezvoltată de Nyall Dawson
Geometry generators now expose an option for users to select which units should be used for returning geometries in, rather than only supporting the units defined in the layer CRS. This is especially useful in situations where the symbol is not associated with a layer, such as when used in layout items.
The update provides the following unit choices:
Map units (the default, previous behavior)
Milimetri
Pixeli
inci
Puncte
When millimeters, pixels, inches or points are selected, then the @map_geometry variable will be available for use within the expression, containing the feature geometry in the specified units (relative to the map frame), whilst the $geometry variable remains available within the expression in the layer CRS map units.
Această funcționalitate a fost dezvoltată de Nyall Dawson
An option has been exposed that allows the configuration of reference scales for feature symbologies on vector layers.
In practice, this defines the relevant map scale at which the configured symbology and label sizes may be referenced with paper-based units, such as millimeters or points. These unit sizes will then be automatically scaled accordingly, based on the ratio of the relevant reference scale and the scale of the current map view.
For instance, where a line layer is configured to use a 2mm wide line using a reference scale of 1:2000, the feature would be rendered using 4mm wide lines at a map scale of 1:1000, or 1mm with a map scale of 1:4000.
Această funcționalitate a fost finanțată de North Road cu sprijinul SLYR
Această funcționalitate a fost dezvoltată de Nyall Dawson
It is now possible to invert the colors of a raster being rendered via a new invert colors option. This can come in handy on a number of occasions. For example, a light raster base map can quickly be turned into a dark base map without the need to recreate a new raster dataset.
Această funcționalitate a fost dezvoltată de Mathieu Pellerin
Specify the angle unit for data defined label rotation
Această funcționalitate a fost dezvoltată de Damiano Lombardi
QGIS now supports the creation of new mesh layers.
The mesh creation supports the following creation formats:
New empty mesh layer
New mesh frame based on an existing mesh within the project
New mesh frame based on an existing mesh from a file
Această funcționalitate a fost finanțată de Hydrotec
Această funcționalitate a fost dezvoltată de Lutra Consulting (Vincent Cloarec)
QGIS now supports mesh frame editing, which supports the ability to ensure mesh consistency and provides the ability to undo and redo edit operations.
This introduces the QgsMeshEditor
class to the QGIS Python API, which allows for performing edit operations, and the QgsTopologicalMesh class which is not exposed to the Python API but is used for ensuring that edited mesh elements remain topologically correct and perform data modifications.
Această funcționalitate a fost finanțată de Hydrotec
Această funcționalitate a fost dezvoltată de Lutra Consulting (Vincent Cloarec)
This feature has been introduced in the scope of QEP 228 which outlines the introduction of Mesh Editing tools, implements changes to the User Interface, and exposes new functionality to the API.
Mesh frame editing now supports a complete set of functionalities for controlling the editing lifecycle operations, including start, commit, roll back, and cancel, similar to vector layers.
Această funcționalitate a fost finanțată de Hydrotec
Această funcționalitate a fost dezvoltată de Lutra Consulting (Vincent Cloarec)
Această caracteristică a fost introdusă conform propunerii QEP 228 care prezintă în linii generale instrumentele de editare a suprafețelor poliedrice.
Mesh editing map tool now supports the following operations:
Add vertices/ faces
Select vertices/ faces
Remove vertices/ faces
Change the Z values of vertices
Move vertices
Interaction with edges
Split faces
Această funcționalitate a fost finanțată de Hydrotec
Această funcționalitate a fost dezvoltată de Lutra Consulting (Vincent Cloarec)
This feature has been introduced in the scope of QEP 228 which outlines the introduction of Mesh Editing tools, implements changes to the User Interface, and exposes new functionality to the API.
The QGIS User Interface provides delaunay triangulation and face refinement functions, which are accessible from the context menu in the map when vertices and/ or faces are selected from a mesh layer. These options may be migrated to buttons in the mesh toolbar once further functionality has been introduced.
The QGIS API has also been extended to support advanced editing for meshes, which is introduced by a new interface abstract class QgsMeshAdvancedEditing. Derived classes of this class can be implemented to make some advanced editing on a mesh: generation of faces to add to the mesh, particular operation on many faces or vertices. The advanced editing is made by passing a QgsMeshAdvancedEditing instance to a QgsmeshEditor instance, and the editing is applied as other editing operations.
Two advanced editing functions are implemented within this feature:
Triangulație Delaunay
Faces refinement
Această funcționalitate a fost finanțată de Hydrotec
Această funcționalitate a fost dezvoltată de Lutra Consulting (Vincent Cloarec)
Users can now select mesh elements within a digitized area when performing mesh editing. Each vertex of the polygon is digitized using a left click, whilst right clicking will complete and validate the polygon to select intersecting mesh elements (faces and vertices). Using the backspace key will allow the user to remove last vertex, and the Escape key will allow users to return to the normal digitizing mode.
This function supports two behavior modes with different selection predicates as follows:
Touching elements (default), or partially included/ intersecting elements will be selected (green rubber band).
Contained, or completely included elements will be selected (blue rubber band).
Această funcționalitate a fost finanțată de Hydrotec
Această funcționalitate a fost dezvoltată de Lutra Consulting (Vincent Cloarec)
Two actions have been added for selecting mesh elements from geometries present in existing vector layers.
After selecting vector layer geometries, the user can use these tools to select mesh elements using the touching or containing predicates.
Această funcționalitate a fost finanțată de Hydrotec
Această funcționalitate a fost dezvoltată de Lutra Consulting (Vincent Cloarec)
An interface has been created for selecting mesh elements by expression during mesh editing. In addition, a contextual expression function $face_area
has been added that returns the area of a mesh face.
Această funcționalitate a fost finanțată de Hydrotec
Această funcționalitate a fost dezvoltată de Lutra Consulting (Vincent Cloarec)
A new editing mode for the mesh transform tool allows the user to import the coordinates of a single selected vertex.
The tool button on the top right of the Transform Mesh Vertices window toggles this mode, and each time a single vertex is selected it will automatically populate the available fields for the user to adjust the vertex coordinates accordingly.
Această funcționalitate a fost finanțată de Hydrotec
Această funcționalitate a fost dezvoltată de Lutra Consulting (Vincent Cloarec)
Users are now able to reindex (or renumber) the vertices and faces of a mesh layer during editing. The renumbering is an optimization of the mesh with the Cuthill-McKee algorithm.
Această funcționalitate a fost finanțată de Hydrotec
Această funcționalitate a fost dezvoltată de Lutra Consulting (Vincent Cloarec)
When editing mesh features, users can now transform features by forcing them to conform to a surface defined by existing polylines, or break lines. Faces are forced to follow the break lines, that is, edges of encountered faces have to be on these lines. Users may select break line geometries and then use the dedicated button to transform intersecting mesh elements.
Options provided for the transform include:
Adding new vertices when the lines cut the internal edges
Interpolating the Z value of newly added vertices on the mesh or from the lines
Tolerance setting for shifting existing vertices into place and preventing the creation of new vertices along line within the specified distance
Whilst the term „break lines” is typically used to refer to polylines that constrain a surface or TIN to the defined positions, these break lines are often components of the mesh itself, and additional operations would continue to constrain the surface to these lines. This functionality specifically transforms the surface in a static manner, so that future operations are not constrained to the lines used to transform the mesh elements.
Această funcționalitate a fost finanțată de Hydrotec
Această funcționalitate a fost dezvoltată de Lutra Consulting (Vincent Cloarec)
User can perform geometrical transformations on a mesh using an expression to change the vertices» coordinates. All coordinates (X,Y,Z) of selected vertices can be calculated with an expression, allowing transformation of the mesh while the mesh is still valid.
With a valid expression, selecting the „Preview transform” option will calculate the new expression based mesh coordinates and identify whether the transform is valid and may be applied.
If the preview is green, the transformed mesh is valid and the user can apply the transformation. If the preview is red, the transformed mesh is invalid and user cannot apply the transformation.
Once applied, users have the option to undo or redo the operation.
Această funcționalitate a fost finanțată de Hydrotec
Această funcționalitate a fost dezvoltată de Lutra Consulting (Vincent Cloarec)
A new setting has been made available for correctly using the physical screen DPI instead of logical DPI, allowing symbols to be rendered equally on different attached devices (hi dpi and low dpi), and in mobile applications such as QField.
This setting is disabled by default to ensure that symbols are not scaled differently than they were in previous versions of QGIS.
Această funcționalitate a fost dezvoltată de Matthias Kuhn
A new control has been exposed which allows the opacity of a raster to be data defined. This allows for the varied representation of a raster layer, in various contexts, such as on different pages of an atlas, being dependent on the visibility of another layer, or adjusted by temporal variables etc.
Additionally, a „redraw layer only” temporal mode for raster layers has been added, which causes a raster layer to be redrawn on each new animation frame as in the equivalent functionality for vector layers. This may be useful in many contexts, such as when the layer uses time-based expression values like the data defined renderer opacity to fade in or out a raster layer from an animation.
Această funcționalitate a fost dezvoltată de Nyall Dawson
Layout map items gained support for the predefined scale mode when controlled by point-driven atlases. This ensures the correct behavior is observed when atlas features are multipoint geometries with varying envelope areas.
Această funcționalitate a fost dezvoltată de Mathieu Pellerin
Two new entries have been added to the „Spacing” section of the Legend properties:
Indentează elementele grupului
Indentează elementele subgrupului
Items belonging to groups or subgroups will be shifted right by the specified amount. When legend patches are added to the left of entries they will be indented as well.
Această funcționalitate a fost dezvoltată de Jürnjakob Dugge
Expressions have been added for interacting with mesh layers, with the following functions returning value related to the current vertex:
$vertex_as_point
: returns the current vertex as a geometry point
$vertex_z
: returns the Z value of the current vertex.
These two functions are contextual and need to be added in a QgsExpressionContext
with QgsExpressionContextUtils::meshExpressionScope()
for the creation of a specific QgsExpressionScope
.
Această funcționalitate a fost finanțată de Hydrotec
Această funcționalitate a fost dezvoltată de Lutra Consulting (Vincent Cloarec)
The z value for the current feature in an expression context can now be retrieved using $z
Această funcționalitate a fost finanțată de Hydrotec
Această funcționalitate a fost dezvoltată de Lutra Consulting (Vincent Cloarec)
An affine_transform function has been added to QGIS Expressions.
Această funcționalitate a fost dezvoltată de Antoine Facchini
A straight_distance2d function is now available in QGIS expressions for retrieving the direct/ Euclidean distance between the first and last vertex of a curve geometry feature.
Această funcționalitate a fost dezvoltată de Antoine Facchini
A sinuosity function has been added to QGIS expressions.
Această funcționalitate a fost finanțată de Loïc Bartoletti
A new pair of functions was added to the QGIS expression engine to read exif tags from image files. The two functions are:
exif(path, tag) : this function returns the value of a given tag string for the provided image file path; when the second optional parameter isn’t provided, the function will return a map object containing all exif tags and their values.
exif_geotag(path) : this function returns a point geometry from the exif geotags containing in the provided image file path.
Această funcționalitate a fost dezvoltată de Mathieu Pellerin
The geometry snapper is now blazingly fast after benefiting from another round of optimization work. Small snapping distance values hanging QGIS forever is now a thing of the past.
Această funcționalitate a fost finanțată de SwissTierras Colombia
Această funcționalitate a fost dezvoltată de Mathieu Pellerin
The ability to convert vertices to or from curved vertices is now supported with the Vertex tool, allowing users to convert vertices with the „C” and „O” keys.
Additionally, methods for convertVertex()
have been introduced for the QgsGeometry
and QgsCompoundCurve
objects in the QGIS API.
Această funcționalitate a fost finanțată de Swiss QGIS user group
Această funcționalitate a fost dezvoltată de Olivier Dalang
The QGIS Advanced Digitizing tools now support the entering of user-defined Z and M values, greatly improving the available control for newly digitized features such as components of 3D networks.
Această funcționalitate a fost finanțată de Métropole Européenne de Lille @Jean-Roc
Această funcționalitate a fost finanțată de Loïc Bartoletti
Users may now use Drag and Drop support on an external resource widget when an external storage has been defined and configured appropriately.
Această funcționalitate a fost finanțată de Lille Metropole
Această funcționalitate a fost dezvoltată de Julien Cabieces
The layer properties dialog’s information panel now shows the size and last modified date of file-based datasets, removing the need to retrieve these details from a file manager. These additional details are also visible in the browser panel’s information section. For datasets formed of more than a single file, the size will reflect the sum of all the auxiliary/ sidecar files forming the dataset.
Această funcționalitate a fost dezvoltată de Mathieu Pellerin
A rename action has been added to the manage submenu for files in the QGIS browser. If the renamed file corresponds to a spatial dataset with multiple auxiliary/ sidecar files, then these will be renamed accordingly.
Additionally, users are warned if the file is a layer which exists in the current project and are asked whether they want to automatically update all the layer paths accordingly.
Această funcționalitate a fost dezvoltată de Nyall Dawson
Functionality from the GPS tools plugin to add GPX layers has been moved to a new „Add GPS Data” page in the data source manager.
Această funcționalitate a fost dezvoltată de Nyall Dawson
Historically, when using drag and drop functionality with the GPKG format, only feature layers were represented to load into QGIS.
QGIS will now show projects embedded in a GPKG when the GPKG file is added to the QGIS canvas using the drag and drop functionality.
Această funcționalitate a fost dezvoltată de Nyall Dawson
QGIS now includes an External Storage API, in line with the proposal outlined in QEP 196.
The implementation includes the following features:
External storage API
Registry that contains all external storage backends
SimpleCopy external storage that stores the selected external resource on a specific location on disk
Suport WebDAV
In addition, a widget has been added to allow for the configuration and visualization of external storage backends and components. The storage mode (File or Directory) widget is not currently visible when an external storage is selected, and relative path settings are hidden as relative paths are not relevant to external storage data.
Această funcționalitate a fost finanțată de Lille Metropole
Această funcționalitate a fost dezvoltată de Julien Cabieces
Layer actions are now available in forms using the drag and drop designer
Această funcționalitate a fost finanțată de Kanton Solothurn, Amt für Geoinformation
Această funcționalitate a fost dezvoltată de Alessandro Pasotti
O nouă funcționalitate permite selectarea unei substitut de tip imagine, care poate fi folosit în legenda unor straturi vectoriale sau de tip raster. Acest lucru este foarte util în cazuri similare cu cel în care se utilizează straturi raster furnizate de servere QGIS, prevenindu-se, în acest mod, afișarea listelor ample de valori generate de cererile Getlegendgraphic și obținând în schimb un rezultat adecvat.
Această funcționalitate a fost finanțată de Cantonul Glarus
Această funcționalitate a fost dezvoltată de mhugent
A long awaited feature has been for QGIS to support simple if() statements in the raster calculator.
Although conditional statements have been supported in the raster calculator for a while, the syntax and structure of the expressions was often verbose and complex.
The raster calculator will now support simple conditional statements with the common syntax of if ( condition , option1 , option2 )
whereby if the condition evaluates to true, the first option will be used, otherwise the second option will be used.
Această funcționalitate a fost dezvoltată de Francesco Bursi
Virtual raster data provider support has been added to the QGIS raster calculator, which now allows users to perform raster calculator operations without specifying an output file or writing the resulting raster to disk.
This option is enabled via the UI by checking the „Create on-the-fly raster instead of writing layer to disk” checkbox in the raster calculator, and is also supported via the PyQgis API.
Resulting raster layers may be used in further analysis operations and allow for user specified raster names. Where a name is not provided for the resulting raster, it will be named according to the formula used to generate it.
Această funcționalitate a fost dezvoltată de Francesco Bursi
An annotation layer parameter type has been added to the QGIS Processing Framework, which includes a new algorithm for converting main annotation layer items to secondary annotation layers. This is useful for moving items created in the main layer to a secondary layer, so that the item placement can be adjusted within the layer stack.
Această funcționalitate a fost dezvoltată de Nyall Dawson
Add a choice between performing GET or POST requests when downloading a file using the FileDownloader processing tool.
If the POST parameter is specified, some DATA can be added in the query.
This is useful in many contexts, such as for sending longer requests to the Overpass API using POST to download OSM data.
Această funcționalitate a fost finanțată de 3Liz
Această funcționalitate a fost dezvoltată de Étienne Trimaille
New algorithms have been provided which allow users to select or extract features from one layer which are within a certain distance of features from another reference layer.
The distance checking is heavily optimized, using spatial indices to restrict the number of features retrieved, and also automatically handling off the check to the database server for layers using the PostGIS provider.
Additionally, the distance parameter may be a data-defined. property
Această funcționalitate a fost finanțată de QTIBIA Engineering
Această funcționalitate a fost dezvoltată de Nyall Dawson
A new point cloud parameter has been added to the QGIS Processing. Framework. this allows for the filtering of point cloud layers in the map layer and multiple layers parameters. This opens the door for native point cloud algorithms and improves point cloud support for 3rd party providers.
Această funcționalitate a fost dezvoltată de Alexander Bruy
The last of the GPS tools functionality has been ported to three new processing algorithms, namely:
Convertește datele GPS
Încărcare date GPS în dispozitiv
Descărcarea datelor GPS de pe un dispozitiv
As a result, the GPS importer plugin has been made redundant and has been completely removed from QGIS.
Această funcționalitate a fost dezvoltată de Nyall Dawson
The Convert GPX feature type tool has been ported from the GPS tools to a new processing algorithm, which uses the GPSBabel tool to convert GPX features from one type to another (e.g. converting all waypoint features to a route feature).
It is designed as a drop-in replacement for workflows which previously used this functionality from the GPS tools plugin, but with all the benefits and improvements that come automatically from being a part of of the QGIS Processing Framework.
Această funcționalitate a fost dezvoltată de Nyall Dawson
This algorithm allows the user to add a column with an integer that will be incremented from START to the limit, with the possibility of grouping to resume at the value of START following the group.
An option called „modulo counter” is included which will reset the counter to the starting value if the modulo value is reached. Using a value of 0 for the modulo option will disable it.
Această funcționalitate a fost finanțată de Loïc Bartoletti
A brand new duration parameter was added to the processing framework to facilitate the creation of temporal-related algorithms.
Această funcționalitate a fost dezvoltată de Mathieu Pellerin
QGIS 3.22 ships with a brand new spatiotemporal ST-DBSCAN clustering algorithm which clusters point features based on a 2D implementation of spatiotemporal density-based clustering of applications with noise (ST-DBSCAN) algorithm.
For more details, please see the following papers:
Ester, M., H. P. Kriegel, J. Sander, and X. Xu, „A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise”. In: Proceedings of the 2nd International Conference on Knowledge Discovery and Data Mining, Portland, OR, AAAI Press, pp. 226-231. 1996
Birant, Derya, and Alp Kut. „ST-DBSCAN: An algorithm for clustering spatial–temporal data.” Data & Knowledge Engineering 60.1 (2007): 208-221.
Peca, I., Fuchs, G., Vrotsou, K., Andrienko, N. V., & Andrienko, G. L. (2012). Scalable Cluster Analysis of Spatial Events. In EuroVA@ EuroVis.
Această funcționalitate a fost dezvoltată de Mathieu Pellerin
In line with the discussion in QEP 226, the SAGA, GRASS, and OTB providers have been separated into independent plugins.
This should prevent issues with the loading of the Processing plugin in cases where any one of these providers is broken. It will also make it easier to convert them into third-party plugins in the future.
The SAGA and GRASS plugins are enabled by default, leaving the UX unchanged. The OTB provider can be enabled in the Plugin Manager if necessary, however, the enabling or disabling of any of these providers is now performed via the Plugin Manager as with any other plugin.
This is mostly an internal change, with the only visible change on the part of end-users being that the Plugin Manager is used to activate or deactivate the SAGA, GRASS, and OTB providers.
Această funcționalitate a fost dezvoltată de Alexander Bruy
Historically, when exporting keyboard shortcuts to an XML file, QGIS would only export user-defined shortcuts. In instances where no customized shortcuts were found, an empty file would be created.
A new option has been provided to export all available keyboard shortcuts to the resulting XML file, or to generate a PDF output with a list of all defined QGIS shortcuts.
Această funcționalitate a fost dezvoltată de Alexander Bruy
The GPS babel configuration settings has been moved from a settings page in the deprecated GPS Tools plugin, to a new page in the main settings dialog.
Această funcționalitate a fost dezvoltată de Nyall Dawson
QGIS Desktop historically supported the definition of whether a particular project used an absolute or relative structure from the project properties, however, the default setting for this functionality was always configured to use relative paths.
A new setting has been exposed which allows users to set the default path structure to use either absolute or relative for new projects under the program options. In much the same way the default project format may be configured to use qgz or qgs, this is made available as a global property specific to each user profile.
Această funcționalitate a fost dezvoltată de mhugent
In the qgis_global_settings.ini
file, it’s possible to set the max image cache size in bytes.
The cache is used for caching symbology and layout images, If high resolution images are used for printing layout, then this value should be increased accordingly.
Default value is 100mb.
Această funcționalitate a fost finanțată de 3Liz
Această funcționalitate a fost dezvoltată de David Marteau
The delete action used from the QGIS browser has been improved in various ways, including:
The action is more consistent and applied to all file type items
Multiple file deletion is now supported by selecting multiple file items in the browser which includes a confirmation prompt
Before deleting files, the current project is scanned to see if it is using any of the files. If so, a prompt is shown asking users if they want to cancel the deletion, or delete and remove layers, or delete and retain layers.
Această funcționalitate a fost dezvoltată de Nyall Dawson
As a part of the ongoing efforts to port the table management functionalities from the DB Manager to the QGIS Browser, as detailed in QEP 205, a new SQL dialog is available from the browser panel which provides the ability to execute queries and SQL statements for the following elements:
DB connections
Schema items
Table items
The implementation also supports the following advanced functionalities:
A multi-threaded implementation for both API token fetching and row fetching results in non-blocking GUI operations
Fully interruptible API
Support for progressive loading of features in the results view (fetchMore API)
Această funcționalitate a fost dezvoltată de Alessandro Pasotti
Addition of transaction support to the MSSQL data provider.
There are no GUI-related changes, as users can enable transactional editing as with other providers. This is done by going to the Project Properties and checking „Automatically create transaction groups where possible” in the Data Sources tab.
By default, a running transaction in MSSQL will block other clients from accessing the same data. For example, if one client starts a transaction and adds or modifies a feature in a table, other clients will get blocked when trying to read any data from the table until the transaction is completed.
There is database-level configuration option, READ_COMMITTED_SNAPSHOT
, which is OFF
by default.
Activating this will change the behavior to function in a similar fashion as other RDBMS systems such as PostgreSQL, in that transactions do not cause blocking and enables the database to support multiple versions of data. This is a database-level property configured by the administrator and can not be automatically set by QGIS when connecting to the database, however it may be activated using the following query:
ALTER DATABASE my_db SET READ_COMMITTED_SNAPSHOT ON
In most instances where transactions are desired, activating this option is likely recommended to prevent freezing in QGIS or other clients.
Această funcționalitate a fost finanțată de ms.GIS
Această funcționalitate a fost dezvoltată de Lutra Consulting (Martin Dobias)
A check box has been added to the sublayer selection dialog to control whether system and internal tables should be shown. This will be turned off by default, but will be useful in instances where users have a particular need to load a system table into QGIS for viewing or manipulation purposes.
Această funcționalitate a fost dezvoltată de Nyall Dawson
Previously this was supported for File Geodatabases and shp.xml metadata, but it is now also supported for ESRI personal geodatabases (.mdb files)
Necesită GDAL 3.4+
Această funcționalitate a fost dezvoltată de Nyall Dawson
This provider uses the QgsProviderRegistry::querySublayers API to automatically create appropriate browser data items for all file based sources, regardless of the underlying provider whether it may be mdal, gdal, ogr, pdal, or ept.
This allows the merging of sources which can be handled by multiple different providers into single container items in the browser, which may be expanded to display all related or nested elements. It is common for many file types, such as GeoPDF or KML/KMZ files to may contain raster and vector layers, or .nc files which may be accessed as a mesh or raster depending on the data provider.
Această funcționalitate a fost dezvoltată de Nyall Dawson
QGIS Server historically only supported the provision of a single metadata URL, but will now allow multiple metadata endpoints to be specified in the service definition.
Această funcționalitate a fost finanțată de Ifremer
Această funcționalitate a fost dezvoltată de Étienne Trimaille
It’s quite a common practice to have arguments like -v
and --version
for tools accessed via command line interfaces (CLIs), so new --version
and it’s alias -v
have been added to identify QGIS version information for the following tools:
qgis_process
qgis_mapserv.fcgi
qgis_mapserver
Această funcționalitate a fost finanțată de 3Liz
Această funcționalitate a fost dezvoltată de Étienne Trimaille
An additional writeSingleTile
method in QgsVectorTileWriter
has been exposed to enable the encoding of a single vector tile to a memory buffer. This may support workflows for PyQgis and QGIS Server which include support for vector tiles.
Această funcționalitate a fost dezvoltată de David Marteau
The QGIS API has been extended to support encoding and writing vector tiles in a different CRS than EPSG:3857.
Note that according to the Mapbox Vector Tile specification, a Vector Tile represents data based on a square extent within a projection. A Vector Tile should contain information about its bounds and projection. The file format assumes that the decoder knows the bounds and projection of a Vector Tile before decoding it.
Această facilitate a fost finanțată de Ifremer
Această funcționalitate a fost dezvoltată de rldhont
An option has been added to QgsFeatureRequest to request features within a certain distance of a reference geometry
This is made possible by the new enum Qgis::SpatialFilterType which has been added to reflect whether a request uses no spatial filter, a BoundingBox filter (via setFilterRect), or the new DistanceWithin filter.
For example, the following request will retrieve all features within 50 map units of the provided linestring:
QgsFeatureRequest().setDistanceWithin(QgsGeometry.fromWkt('LineString(0 0, 10 0, 12 1)'), 50)
Distance within filters are treated like bounding box filters, in that they are independent of any attribute/id filters (such as feature ids or expressions).
Provider feature iterators can potentially delegate the distance within search to the backend. So, for example, the PostgreSQL data provider could use an ST_DWithin
query for optimal index use.
Această funcționalitate a fost dezvoltată de Nyall Dawson
An API has been added to allow a string parameter to show as a combobox with preset choices in processing GUI tools.
In some circumstances, it is desirable to restrict the values available when a user is asked to enter a string parameter that should match a list of predetermined „valid” values, yet these values will vary installation by installation.
For example, a „printer name” parameter, where it may be desired that users may pick a name value from a list of printers installed on the system, but since the printer names will vary between installations, an enum parameter is not a suitable choice.
This is now supported by setting the „value_hints” option in the widget wrapper metadata, as demonstrated below.
Whilst this provides a mechanism for guiding users to select from valid string values when running a Processing algorithm through the GUI, it does not place any limits on the string values accepted via PyQGIS codes or when running the algorithm via other means that do not use the GUI. Algorithms should gracefully handle other values accordingly.
param = QgsProcessingParameterString( 'PRINTER_NAME', 'Printer name')
# show only printers which are available on the current system as options
# for the string input.
param.setMetadata( {'widget_wrapper': { 'value_hints': ['Inkjet printer', 'Laser printer'] } })
Această funcționalitate a fost dezvoltată de Nyall Dawson
The QgsExifTools class can now retrieve individual exif tags from images using the readTag function.
E.g.: QgsExifTools.readTag('/my/photo/0997.JPG'), 'Exif.Image.DateTime')
Known exif tags representing time values are automatically converted to Q{Date,Time,DateTime} objects. This makes working with those tags much easier and integrates well with other parts of the QGIS API.
Această funcționalitate a fost dezvoltată de Mathieu Pellerin
Titlul Erorii |
URL issues.qgis.org (dacă a fost raportată) |
URL Commit (Github) |
3.16 backport commit (GitHub) |
Comentariu |
---|---|---|---|---|
WFS / GML parse issue, but QGIS loads GML as file fine? |
Nu este o eroare |
|||
POST request to modify timestamp does not respect defined format |
Wontfix / not a bug |
|||
Warning message «Cannot create temporary SpatiaLite cache» when adding many WFS-layers |
Duplicat |
|||
QGIS creates invalid filter for WFS GetFeature request |
||||
WFS Layer is not rendered when requested CRS is not matching project CRS and „Only request features overlapping the view extent” option is set |
||||
Adding a WFS layer with filter for non-existent attribute leads to broken layer |
||||
New Shapefile layer silently overwrite existing files |
||||
QGIS on linux crashes when opening many geopackages at once |
Nu |
|||
Crash in QgsPointCloudLayerRenderer when closing while rendering still active |
||||
Geoprocessing tools cause libgeos to throw SIGBUS |
N/A |
|||
QGIS crash after loading WMS layer via script and zooming in and out |
Nu |
Mostly a usage issue |
||
Integer unexpectedly large in GeoPackage |
Nu este o eroare |
|||
Attributes - Update All button - Creates Corrupted Fields - GeoJSON file |
N/A |
|||
WFS connection manager: GetCapabilities document’s URLs not being used consistently |
||||
QGIS crashes if network connexion is lost and a raster layer is loaded |
N/A |
Această corecție a fost finanțată de QGIS.ORG (prin programul de donații și susține)
Erori remediate de Even Rouault
Titlul Erorii |
URL issues.qgis.org (dacă a fost raportată) |
URL Commit (Github) |
3.16 backport commit (GitHub) |
Comentariu |
---|---|---|---|---|
Data Source Manager - ArcGIS REST Server - dialog/window closes when adding a layer |
nedisponibil |
|||
„Display no data value as” option is not available in raster layer properties |
Non critic |
|||
Raster layer not rendering after data-source change when combined with certain layout element |
||||
Update selected feature ids before emitting featuresDeleted |
Non critic |
|||
sample() and identify() from QgsRasterDataProvider don’t always provide the same value |
||||
Copying objects containing multiline strings into another project does not work properly |
Non critic |
|||
projecting label coordinates for multiPoint geometry crashes QGIS |
Nu |
|||
Copy/paste style category „Form” is missing some settings |
Maybe won’t fix, checking with m-kuhn and 3nids |
|||
Adding a new point onto a memory multipoint layer kills QGIS |
||||
Attributes - Update All button - Creates Corrupted Fields - GeoJSON file |
Nu |
|||
WMS parent layer added via QGIS Browser doesn’t use default style |
Nu |
|||
„Display nodata as” color widget is not automatically updated in layer styling panel |
nedisponibil |
|||
PostGIS error while changing attributes (field value and geometry): prepared statement „updatefeature” already exists |
queued |
|||
Attribute Table in Layout Manager Font Style Override Doesn’t Show Fields |
queued |
|||
WFS Layer from QGIS Server is not rendered because of an issue with coordinate axis order |
Non critic |
|||
Not rendering with identity transform raster created with rasterio |
Checked out, probably not a bug |
|||
SQL query from DB Manager is executed twice |
queued |
|||
can’t use layers where name starts with number in virtual layer |
queued |
|||
Show Feature Count counts null in zero category |
queued |
|||
Copying table by Drag&Drop in Browser (2) doesn’t copy the table structure correctly |
Nu |
|||
Wrong histogram plot if raster data type is byte |
queued |
|||
Inconsistency regarding pattern handling for QgsServerOgcApiHandler |
queued |
|||
QGIS Server - WMS Request GetPrint fails with ATLAS_PK |
queued |
|||
projectsInDatabase key is not stored to xml for PostGIS connections |
queued |
|||
Changing values in Form mode of attribute table doesn’t set active the Save button |
queued |
|||
Create spatialite trigger with DBManager do not work |
Nu |
Această corecție a fost finanțată de QGIS.ORG (prin programul de donații și susține)
Erori remediate de Alessandro Pasotti
Titlul Erorii |
URL issues.qgis.org (dacă a fost raportată) |
URL Commit (Github) |
3.16 backport commit (GitHub) |
Comentariu |
---|---|---|---|---|
QGIS 3.20 on Mac crashes when certain Qt signals are emitted |
nedisponibil |
|||
Unable to view LAS files written in WGS84 (EPSG:4326) coordinates |
duplicat al problemei #41765 |
|||
macOS: Symbol not found: __cg_jpeg_resync_to_restart when reprojecting raster layer with GDAL warp on macOS |
nu |
nu |
Not an issue with the nightly (qgis-deps-0.9) anymore |
|
Data Source Manager incorrectly identifies PostGIS raster extent on macOS |
queued |
|||
icons not visible in the Layer Notes |
nedisponibil |
|||
unable to open any ascii FLO-2D files in Mesh Layer |
neraportat |
nedisponibil |
||
encoding issue when using GRASS processing tool on macOS |
Not critical - workaround exists |
|||
Matplotlib QT backend imports not working on MacOS |
investigație |
Această corecție a fost finanțată de QGIS.ORG (prin programul de donații și susține)
Erori remediate de Lutra Consulting (Peter Petrik)
Titlul Erorii |
URL issues.qgis.org (dacă a fost raportată) |
URL Commit (Github) |
3.16 backport commit (GitHub) |
Comentariu |
---|---|---|---|---|
Make QgsGeos::prepareGeometry and QgsGeos::cacheGeos idempotent |
neraportat |
|||
Add a distanceWithin method to the QgsGeometryEngine virtual class |
neraportat |
|||
Allow calling testdata_pg.sh from any directory |
neraportat |
|||
Make TestPyQgsPostgresProvider.testGeneratedColumns idempotent |
neraportat |
|||
Improve PostgreSQL test DB setup documentation and script |
neraportat |
|||
Add GEOS DistanceWithin API |
||||
Make Postgres provider test idempotent |
||||
Use GEOSDistanceWithin when available |
neraportat |
|||
Reduce GEOS conversions and preparations of geometries |
neraportat |
|||
More heuristics to determine whether to iterate over target source |
neraportat |
Această corecție a fost finanțată de QGIS.ORG (prin programul de donații și susține)
Erori remediate de Sandro Santilli
Titlul Erorii |
URL issues.qgis.org (dacă a fost raportată) |
URL Commit (Github) |
3.16 backport commit (GitHub) |
Comentariu |
---|---|---|---|---|
More const in geometry |
Not reported / performance |
|||
QgsFeature::setId improve documentation with a warning |
||||
Geometry Checker: Enlarge FeatureID |
||||
VertexTool. Fixes move vertex on Z layer if CRS are differents (with Vincent Cloarec) |
Neraportat |
Not backported. Introduce new methods. |
||
Fix Z/M dimension URI via DB Manager. |
||||
[FIX] GeometryValidator init curve support |
Neraportat |
|||
Compile fails, «None» is not a member of «QgsField::ConfigurationFlags» |
Wontfix / not a bug |
|||
Union fails when using a point and a polygon layer |
Difference between GEOS 3.8 and 3.9 |
|||
Rings order in MultiPolygon WKT string may leave overlapping parts when deleting holes (native:deleteholes) |
Wontfix for now. We can use Geos to fix the issue, but will remove Z/M and segmentize arc. |
Această corecție a fost finanțată de QGIS.ORG (prin programul de donații și susține)
Erori remediate de Loïc Bartoletti
Titlul Erorii |
URL issues.qgis.org (dacă a fost raportată) |
URL Commit (Github) |
3.16 backport commit (GitHub) |
Comentariu |
---|---|---|---|---|
Regression: trying to run the multipart to singleparts algorithm throws a python error |
Această corecție a fost finanțată de QGIS.ORG (prin programul de donații și susține)
Erori remediate de Denis Rouzaud
Titlul Erorii |
URL issues.qgis.org (dacă a fost raportată) |
URL Commit (Github) |
3.16 backport commit (GitHub) |
Comentariu |
---|---|---|---|---|
Styles in database not working for postgres provider and non-geometric layers |
||||
„Layer notes” icon is not displayed when copy-pasting a style |
no need |
|||
Ambiguous JSON errors |
Failed to reproduce |
|||
Attribute table: missing features when copying/pasting from scratch layer |
Nu se poate reproduce (Închisă) |
|||
Form view shows wrong image attachments when scrolling through features |
Remediat deja |
|||
Build Virtual Raster tool creates an additional layer when selecting and reordering layers |
||||
Attachment widget options are reset when you reopen the field widget properties |
Duplicat |
|||
Cleared feature attributes not acting like they have been cleared, and preventing saving of layer |
||||
[Postgres] default value displayed instead of NULL |
||||
a feature copy/paste sets a NULL field to its „default value” in a geopackage |
Question: Do we evaluate default value on NULL field when copy-pasting feature ? |
|||
QGIS expression builder can not resolve PostgreSQL text arrays correctly |
Această corecție a fost finanțată de QGIS.ORG (prin programul de donații și susține)
Erori remediate de Julien Cabieces
Titlul Erorii |
URL issues.qgis.org (dacă a fost raportată) |
URL Commit (Github) |
3.16 backport commit (GitHub) |
Comentariu |
---|---|---|---|---|
Don’t reset mesh layer styling when changing data source for layer |
N/A |
|||
Fix crash when rendering clipped features and clipped shape results |
||||
Fix crash when using map label tools with projects containing vector tile layers |
||||
Fix symbol sizes in Meters at Scale cannot be negative |
Not suitable for backport |
|||
Fix overwriting default style of geopackage layers |
||||
Fix hang when rendering lines with dash patterns with all 0 values |
||||
Update default toolbar locations |
neraportat |
N/A |
||
Don’t overwrite existing data defined property expressions when an interactive map tool is used to move/rotate/edit labels |
N/A |
|||
Fix crash on exit with CAD dock open |
neraportat |
N/A |
||
Fix rule based symbology doesn’t work for columns with «-» in name |
||||
Avoid hangs when drawing symbol icons using inappropriate sizes in map units |
Not suitable for backport |
|||
Fix inappropriate display of z/m values in cad dock when non-z/m layer is selected |
neraportat |
N/A |
||
Implement more responsive cancelation of map render for maps using complex effects |
Not suitable for backport |
|||
Allow CAD dock to be used for geographic CRS, but only allow the x/y/z/m constraints to be set |
neraportat |
Not suitable for backport |
||
Fix crash when opening symbology properties of a layer set to embedded renderer which is not compatible with embedded renderers |
N/A |
|||
Fix QgsMapToolCapture coordinates when associated with a non-vector layer where the layer CRS != canvas CRS |
neraportat |
N/A |
||
Fix geometry generator rendering outside of vector layers |
Not suitable for backport |
|||
Fix color customisation is lost when configuring renderers using geometry generators |
Not suitable for backport |
|||
Fix rendering of interpolated line symbol layer outside of vector layers |
N/A |
|||
Fix QgsGeometry.fromPolygonXY docs |
N/A |
|||
Fix digitizing features using CAD dock when layer CRS != canvas CRS |
neraportat |
N/A |
||
Fix offset background when drawing rotated text |
pending |
|||
Correctly escape complex source strings in processing history log |
pending |
|||
Fix handling of ADF files in browser |
neraportat |
Not suitable for backport |
Această corecție a fost finanțată de QGIS.ORG (prin programul de donații și susține)
Erori remediate de Nyall Dawson