Skip to content

Instantly share code, notes, and snippets.

@3nids
Created February 7, 2020 09:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 3nids/4f6e948a94526515391899a5701cce47 to your computer and use it in GitHub Desktop.
Save 3nids/4f6e948a94526515391899a5701cce47 to your computer and use it in GitHub Desktop.
[
{
"node": {
"author": {
"login": "nyalldawson"
},
"bodyHTML": "<p>This algorithm compares two vector layers, and determines which features<br>\nare unchanged, added or deleted between the two. It is designed for comparing<br>\ntwo different versions of the same dataset.</p>\n<p>When comparing features, the original and revised feature geometries will be<br>\ncompared against each other. Depending on the Geometry Comparison Behavior setting,<br>\nthe comparison will either be made using an exact comparison (where geometries must<br>\nbe an exact match for each other, including the order and count of vertices) or a<br>\ntopological comparison only (where are geometries area considered equal if all of<br>\nthe their component edges overlap. E.g. lines with the same vertex locations but<br>\nopposite direction will be considered equal by this method). If the topological<br>\ncomparison is selected then any z or m values present in the geometries will not<br>\nbe compared.</p>\n<p>By default, the algorithm compares all attributes from the original and revised<br>\nfeatures. If the Attributes to Consider for Match parameter is changed, then only<br>\nthe selected attributes will be compared (e.g. allowing users to ignore a timestamp<br>\nor ID field which is expected to change between the revisions).</p>\n<p>If any features in the original or revised layers do not have an associated geometry,<br>\nthen care must be taken to ensure that these features have a unique set of<br>\nattributes selected for comparison. If this condition is not met, warnings will be<br>\nraised and the resultant outputs may be misleading.</p>\n<p>The algorithm outputs three layers, one containing all features which are considered<br>\nto be unchanged between the revisions, one containing features deleted from the<br>\noriginal layer which are not present in the revised layer, and one containing features<br>\nadd to the revised layer which are not present in the original layer.</p>",
"title": "Add new algorithm \"Detect Dataset Changes\"",
"url": "https://github.com/qgis/QGIS/pull/33832",
"mergedAt": "2020-01-16T06:35:51Z"
}
},
{
"node": {
"author": {
"login": "3nids"
},
"bodyHTML": "<p>This adds a new global option to define the preferred project file format</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://user-images.githubusercontent.com/127259/72597971-2bc75d80-390f-11ea-84af-7f2c25d5568a.png\"><img src=\"https://user-images.githubusercontent.com/127259/72597971-2bc75d80-390f-11ea-84af-7f2c25d5568a.png\" alt=\"image\" style=\"max-width:100%;\"></a></p>\n<p>sponsored by GEM foundation</p>",
"title": "[FEATURE] Add an option to set the default project file format (qgs/qgz)",
"url": "https://github.com/qgis/QGIS/pull/33872",
"mergedAt": "2020-01-17T11:12:03Z"
}
},
{
"node": {
"author": {
"login": "wonder-sk"
},
"bodyHTML": "<p>This adds support for background loading of data from vector layers into 3D map views. Until now, loading (and tessellation) would freeze the GUI completely - this could take many seconds depending on the complexity of input data.</p>\n<p>The basic vector layer renderer and rule-based renderer were converted to use QgsChunkedEntity which is already used for terrain rendering. There are two more improvements in addition to unlocking of GUI:</p>\n<ul>\n<li>loading process is multi-threaded instead of using just a single core</li>\n<li>loading is done in tiles - so it is possible to see the tiles with 3D data appearing while other data are still being loaded</li>\n</ul>\n<p>There is a new configuration option in 3D tab of vector layers - it determines how deep will be the quadtree. For example, one zoom level means there will be a single tile for the whole layer. Three zoom levels means there will be 16 tiles at the leaf level (every extra zoom level multiplies that by 4, so I have limited GUI to max. 8 levels which gives ~16K tiles which is already a lot).</p>\n<p>How a vector layer's tiling quadtree gets populated: all internal tree nodes are empty and thus the 3D map scene tries to immediately replace them with their children - this goes until leaf nodes are reached. Only nodes at the leaf level currently hold any data. This may change in the feature when we introduce more elaborate strategies - for example, internal nodes may contain a small percentage of features of the child nodes (this would allow us to show something while zoomed out a lot, not requiring to load all data).</p>\n<p>For debugging purposes, there is also a new configuration option \"show bounding boxes\". This allows you to see bounding box of each tile (especially useful if there are some issues with tiles not showing up when they should).</p>\n<p>This work has been sponsored by a QGIS.org grant.</p>",
"title": "[3d] Load 3D vector layer data in background + tiling",
"url": "https://github.com/qgis/QGIS/pull/33480",
"mergedAt": "2020-01-16T23:00:34Z"
}
},
{
"node": {
"author": {
"login": "PeterPetrik"
},
"bodyHTML": "<p>Allow customization of the items shown in browser. User can decide (in the Interface Customization dialog) to hide some of the root items in the browser panel (e.g. Favourites, or POSTGIS provider, ...)</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://user-images.githubusercontent.com/804608/72050388-466f5600-32c1-11ea-94f5-092cc8471243.png\"><img src=\"https://user-images.githubusercontent.com/804608/72050388-466f5600-32c1-11ea-94f5-092cc8471243.png\" alt=\"Screenshot 2020-01-09 at 09 17 05\" style=\"max-width:100%;\"></a></p>\n<p>Funded by Limerick City and County Council</p>",
"title": "[FEATURE] Allow customization of the items shown in browser",
"url": "https://github.com/qgis/QGIS/pull/33679",
"mergedAt": "2020-01-15T09:08:59Z"
}
},
{
"node": {
"author": {
"login": "nyalldawson"
},
"bodyHTML": "<p>Takes an input layer, existing field and a new name for the field, and<br>\noutputs a new layer with the selected field renamed.</p>\n<p>While this result could also be achieved with the Refactor Fields<br>\nalgorithm, Refactor Fields isn't particularly model friendly. It<br>\nrelies on a constant, fixed table structure, and can't adapt to<br>\ninput tables with different field structures.</p>\n<p>In constrast, this simple Rename Field algorithm adapts nicely for<br>\nmodel use, because it operates on a single field only and leaves<br>\nall the other fields untouched.</p>",
"title": "New algorithm \"Rename table field\"",
"url": "https://github.com/qgis/QGIS/pull/33807",
"mergedAt": "2020-01-15T08:56:11Z"
}
},
{
"node": {
"author": {
"login": "nyalldawson"
},
"bodyHTML": "<p>When a GPS device is connected, whenever the user moves the cursor over the canvas a live status bar message displays the distance and bearing from the cursor to the GPS fix position.</p>\n<p>Project distance and bearing settings are respected in this display.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://user-images.githubusercontent.com/1829991/72318360-cd6c6600-36e7-11ea-9f2d-9a47d8772623.gif\"><img src=\"https://user-images.githubusercontent.com/1829991/72318360-cd6c6600-36e7-11ea-9f2d-9a47d8772623.gif\" alt=\"Peek 2020-01-14 16-06\" style=\"max-width:100%;\"></a></p>",
"title": "Show distance from GPS lock position to current cursor ",
"url": "https://github.com/qgis/QGIS/pull/33780",
"mergedAt": "2020-01-15T08:55:28Z"
}
},
{
"node": {
"author": {
"login": "nyalldawson"
},
"bodyHTML": "<p>This allows for easy polygon-&gt;polygon joins, where you expect there to be<br>\nonly a single matching feature and don't want to include features which<br>\nare just touching or have just tiny sliver polygon overlaps.</p>\n<p>Sponsored by SMEC/SJ</p>",
"title": "Add new mode to \"Join Attributes by Location\" to take attributes from matching feature with largest area of overlap only",
"url": "https://github.com/qgis/QGIS/pull/33754",
"mergedAt": "2020-01-14T08:28:32Z"
}
},
{
"node": {
"author": {
"login": "nyalldawson"
},
"bodyHTML": "<p>This new item type allows for creation of tables with contents manually entered by users (i.e. spreadsheet style), so that users can create completely custom tables.</p>\n<p>Supports control custom cell contents, foreground and background colors (and soon, preset row and column heights).</p>\n<p>A brand new table designer dialog has been added which allows for customization of these tables.</p>\n<p>TODO:<br>\n[x] More unit tests for designer dialog<br>\n[ ] Add icons to designer (post merge)<br>\n[x] Final tweaks for designer UX (likely to be more post merge, pending user feedback)<br>\n[x] Expose row/column height settings to designer</p>\n<p>Should be easy to expand in future, and there's tons of possibilities for what we could add here:</p>\n<ul>\n<li>Expression based cells!</li>\n<li>Control over cell text alignment</li>\n<li>Merged cells</li>\n<li>Import and export table contents (e.g. from map layer, CSV, ...)</li>\n<li>Clipboard functionality.</li>\n</ul>\n<p>Sponsored by City of Canning</p>",
"title": "New layout item type: manually created fixed tables",
"url": "https://github.com/qgis/QGIS/pull/33734",
"mergedAt": "2020-01-14T06:08:21Z"
}
},
{
"node": {
"author": {
"login": "troopa81"
},
"bodyHTML": "<h2>Description</h2>\n<p>This PR adds edition support for Oracle following geometry type:</p>\n<ul>\n<li>CircularString(Z)</li>\n<li>CompoundCurve(Z)</li>\n<li>MultiCurve(Z)</li>\n<li>CurvePolygon(Z)</li>\n<li>MultiSurface(Z)</li>\n</ul>\n<p>I remove the limitation (<a class=\"commit-link\" data-hovercard-type=\"commit\" data-hovercard-url=\"https://github.com/qgis/QGIS/commit/86269c6a722adfa53199be83cfb465aa1e87ea89/hovercard\" href=\"https://github.com/qgis/QGIS/commit/86269c6a722adfa53199be83cfb465aa1e87ea89\"><tt>86269c6</tt></a>) on editing and adding geometry with Z coordinates. Is the limitation still relevant? Why it would \"lead to corruption of measure\"? <a class=\"user-mention\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/jef-n/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https://github.com/jef-n\">@jef-n</a></p>\n<p>It's also fixes 3 issues :</p>\n<ul>\n<li><a class=\"commit-link\" data-hovercard-type=\"commit\" data-hovercard-url=\"https://github.com/qgis/QGIS/commit/7a120eeaa72247785d1b56c4a8903687245fc6cb/hovercard\" href=\"https://github.com/qgis/QGIS/commit/7a120eeaa72247785d1b56c4a8903687245fc6cb\"><tt>7a120ee</tt></a> Fix multipolygons with only one polygon</li>\n<li><a class=\"commit-link\" data-hovercard-type=\"commit\" data-hovercard-url=\"https://github.com/qgis/QGIS/commit/a32dec955745dc6a90f372c1201dbd75c4628d9c/hovercard\" href=\"https://github.com/qgis/QGIS/commit/a32dec955745dc6a90f372c1201dbd75c4628d9c\"><tt>a32dec9</tt></a> Fix read for oracle curve polygon with Z coordinates</li>\n<li><a class=\"commit-link\" data-hovercard-type=\"commit\" data-hovercard-url=\"https://github.com/qgis/QGIS/commit/f2ffbec507b085d45736eb071feb71828c4eb832/hovercard\" href=\"https://github.com/qgis/QGIS/commit/f2ffbec507b085d45736eb071feb71828c4eb832\"><tt>f2ffbec</tt></a> When reading elem info array with compound curve in multiline, we skip some elem info triplet when incrementing too much <strong>iElem</strong>.<br>\nThe commit also fixes the tests. Indeed when defining a multiline (DL06), it's possible to use compound line string with SDO_ELEM_INFO triplet equals to offset,4,n <a href=\"https://docs.oracle.com/database/121/SPATL/sdo_geometry-object-type.htm#GUID-270AE39D-7B83-46D0-9DD6-E5D99C045021__BGHDGCCE\" rel=\"nofollow\">where n must be greater than 1</a>. This was not always the case in test data. These instructions are not valid (regarding oracle documentation) and hide the issue.<br>\nI also change EPSG code for lines from 4326 to 3857 to avoid this message: <code>ORA-13035: Invalid data (arcs in geodetic data) in the SDO_GEOMETRY object</code></li>\n</ul>\n<p>I'm planning to backport this 3 commits once I have backported <a class=\"issue-link js-issue-link\" data-error-text=\"Failed to load issue title\" data-id=\"510508855\" data-permission-text=\"Issue title is private\" data-url=\"https://github.com/qgis/QGIS/issues/32337\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/qgis/QGIS/pull/32337/hovercard\" href=\"https://github.com/qgis/QGIS/pull/32337\">#32337</a></p>\n<p><a class=\"user-mention\" data-hovercard-type=\"user\" data-hovercard-url=\"/users/Jean-Roc/hovercard\" data-octo-click=\"hovercard-link-click\" data-octo-dimensions=\"link_type:self\" href=\"https://github.com/Jean-Roc\">@Jean-Roc</a></p>\n<h2>Checklist</h2>\n\n<ul class=\"contains-task-list\">\n<li class=\"task-list-item\"><input type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"> Commit messages are descriptive and explain the rationale for changes</li>\n<li class=\"task-list-item\"><input type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\"> Commits which fix bugs include <code>Fixes #11111</code> at the bottom of the commit message</li>\n<li class=\"task-list-item\"><input type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"> I have read the <a href=\"https://docs.qgis.org/testing/en/docs/developers_guide/codingstandards.html\" rel=\"nofollow\">QGIS Coding Standards</a> and this PR complies with them</li>\n<li class=\"task-list-item\"><input type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"> New unit tests have been added for core changes</li>\n<li class=\"task-list-item\"><input type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"> I have run <a href=\"https://github.com/qgis/QGIS/blob/master/.github/CONTRIBUTING.md#contributing-to-qgis\">the <code>scripts/prepare-commit.sh</code> script</a> before each commit</li>\n<li class=\"task-list-item\"><input type=\"checkbox\" id=\"\" disabled=\"\" class=\"task-list-item-checkbox\" checked=\"\"> I have evaluated whether it is appropriate for this PR to be backported, backport requests are left as label or comment</li>\n</ul>",
"title": "Support for Oracle curves and surfaces",
"url": "https://github.com/qgis/QGIS/pull/33629",
"mergedAt": "2020-01-13T00:24:26Z"
}
},
{
"node": {
"author": {
"login": "nyalldawson"
},
"bodyHTML": "<p>Amongst other follow ups to the recent numeric format API support, this exposes the option for controlling the numeric format used by a layout scalebar.</p>\n<p>It gives users control over all the formatting properties for the numbers in scalebars, including whether they want thousand separators, decimal places, scientific notation, etc. Very useful in the case of making maps for audiences outside of the current QGIS locale, or when you'd just prefer to vary the style from the locale defaults (e.g. adding thousands separators when the locale default is to hide them)</p>",
"title": "Add user control over scalebar numeric formats ",
"url": "https://github.com/qgis/QGIS/pull/33657",
"mergedAt": "2020-01-09T06:51:51Z"
}
},
{
"node": {
"author": {
"login": "nyalldawson"
},
"bodyHTML": "<p>The Settings - Options - Map Tools tab contains a new setting for controlling the default format to use for displaying angular bearings for newly created projects. Whenever a new project is created, it will<br>\ninherit this default settings.</p>\n<p>The Project Properties dialog also has a new setting for the project-specific bearing format.</p>\n<p>The intention is that whenever angular bearings are shown in QGIS, they will be formatted using the current project's bearing format settings. In this PR I've done this for the status bar pan direction message.</p>\n<p>Also includes lots of nice API additions providing a stable, easy to discover place to set and retrieve settings like the bearing format.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://user-images.githubusercontent.com/1829991/72029046-5fcbce80-32d0-11ea-8571-0ae8fa8e3bb0.gif\"><img src=\"https://user-images.githubusercontent.com/1829991/72029046-5fcbce80-32d0-11ea-8571-0ae8fa8e3bb0.gif\" alt=\"Peek 2020-01-09 11-08\" style=\"max-width:100%;\"></a></p>",
"title": "Add setting for format to show angular bearings to projects",
"url": "https://github.com/qgis/QGIS/pull/33674",
"mergedAt": "2020-01-09T04:10:31Z"
}
},
{
"node": {
"author": {
"login": "nyalldawson"
},
"bodyHTML": "<p>When the new \"Apply layer conditional styling colors\" option is enabled in the<br>\nlayout attribute table settings, any conditional styling rules present in the<br>\nlayer will be applied inside the layout attribute table (foreground and<br>\nbackground colors only, for now!).</p>\n<p>Refs <a class=\"issue-link js-issue-link\" data-error-text=\"Failed to load issue title\" data-id=\"448436101\" data-permission-text=\"Issue title is private\" data-url=\"https://github.com/qgis/QGIS/issues/25712\" data-hovercard-type=\"issue\" data-hovercard-url=\"/qgis/QGIS/issues/25712/hovercard\" href=\"https://github.com/qgis/QGIS/issues/25712\">#25712</a></p>\n<p>Sponsored by City of Canning</p>",
"title": "Allow layout attribute tables to be styled using the foreground and background colors of matching conditional styles ",
"url": "https://github.com/qgis/QGIS/pull/33638",
"mergedAt": "2020-01-08T02:31:25Z"
}
},
{
"node": {
"author": {
"login": "nyalldawson"
},
"bodyHTML": "<p>Fixes an api break in the rasterize algorithm, and then adds a proper dedicated parameter type for map theme selection</p>",
"title": "New parameter type for map themes",
"url": "https://github.com/qgis/QGIS/pull/33608",
"mergedAt": "2020-01-05T10:50:06Z"
}
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment