1
0
mirror of https://github.com/qgis/QGIS.git synced 2025-03-31 00:03:42 -04:00

2488 Commits

Author SHA1 Message Date
Nyall Dawson
50e41c8133 New utility class QgsAggregateCalculator, simplifies calculating
aggregates from vector layer fields and expressions
2016-05-17 10:53:24 +10:00
Nyall Dawson
1c45b940a8 Add calculation of number of null values to QgsStatisticalSummary 2016-05-17 10:53:04 +10:00
Nyall Dawson
4dea723cae Add methods to stats calculators to accept values one at a time
This can be more efficient for large quantities of values, since
it avoids the need to create a list of all values in advance
2016-05-17 10:52:06 +10:00
Even Rouault
902953ca9a Delimited text provider: fix parsing of subset URL parameter with QT 5 and fix tests
In Qt 4, QUrl::queryItemValue() decodes a value that contains %25 as %, whereas
it doesn't with Qt5.
2016-05-16 23:41:00 +02:00
Juergen E. Fischer
c198b1afe9 indentation fix 2016-05-16 16:59:29 +02:00
Nyall Dawson
858914eef5 Ensure that providers fetch geometry for a QgsFeatureRequest
with an expression filter which requires geometry
2016-05-16 23:09:18 +10:00
Juergen E. Fischer
b514f521e6 cppcheck fixes 2016-05-16 14:14:14 +02:00
Matthias Kuhn
ee533a7dea Add test for attribute table sorting 2016-05-16 11:16:13 +02:00
Nyall Dawson
5c7f4c7664 Merge pull request from rouault/qt5_fix_testqgsfield
Make qgis_fieldtest all Qt 5.X compatible
2016-05-16 07:04:43 +10:00
Even Rouault
c4819adea4 Merge remote-tracking branch 'rouault/fix_qt5_wfs_ogcutils_tests' 2016-05-15 21:30:56 +02:00
Even Rouault
202420c70a Make qgis_fieldtest all Qt 5.X compatible
In https://codereview.qt-project.org/#/c/99815/ implemented in QT 5.5,
doubles are converted to strings using '%.17g', so short decimal values
might be expanded to long strings depending on their values.
https://wiki.qt.io/New_Features_in_Qt_5.7 has a logic to avoid this, but
if we select carefully the double to have both an exact binary and decimal
representation, that can work will all versions.

$ python -c "print('%.17g' % 9.7)"
9.6999999999999993

$ python -c "print('%.17g' % 1.25)"
1.25
2016-05-15 19:44:13 +02:00
Even Rouault
9a49c6aace Make ogcutils and WFS tests Qt 5 compatible 2016-05-15 19:17:58 +02:00
Nyall Dawson
a3d6227e2e Avoid detaching temporary containers 2016-05-15 20:50:44 +10:00
Nyall Dawson
57d114e2e2 Update test masks for Qt5, enable labeling tests 2016-05-15 20:38:38 +10:00
Even Rouault
abd182c50c Merge pull request from rouault/saveas_human_readable_values
[FEATURE] Export vector layer with "human-readable" values from edit widgets
2016-05-14 14:23:10 +02:00
Even Rouault
90cc0ed495 QgsVectorLayerSaveAsDialog: add checkboxes to decide which fields should be exported with their displayed values, and bind it in QgisApp with QgsVectorFileWriter 2016-05-14 12:33:10 +02:00
Even Rouault
038b3b7950 QgsVectorFileWriter: add capability to export displayed values of fields (typically coming from edit widgets) instead of their raw values 2016-05-14 12:33:10 +02:00
Matthias Kuhn
10134587ed Add note for failing Qt5 test 2016-05-14 00:38:19 +02:00
Matthias Kuhn
af1de6e3e0 Migrate more tests to Python3 2016-05-14 00:02:20 +02:00
Matthias Kuhn
7dfc69657f Migrate provider test to python 3 2016-05-13 22:23:03 +02:00
Even Rouault
8259b3fcc9 QgsSQLStatement::quotedIdentifierIfNeeded(): make it quote SQL reserved keywords 2016-05-12 23:24:39 +02:00
Even Rouault
84a797ea86 [FEATURE] [WFS provider] Add support for WFS 2.0 joins and other improvements
Second part of 
(QEP 35: WFS provider enhancements)

- URI parameter with sql with SELECT / FROM / JOIN / WHERE / ORDER BY clauses
- handle WFS 2.0 joins
- handle DateTime fields
- enable "Only request features overlapping the view extent" by default (and memorize the settings)
- rework DescribeFeatureType parsing to handle responses with several documents, and some support for attribute types being complexType
- rework feature transfer between downloader and iterator so as to avoid uncontrolled RAM usage when the iterator cannot keep up with the downloader
- turn on WAL journaling for better reader / writer concurrency
- add retry logic based on the 'Max retry in case of tile request errors' setting (renamed 'Max retry in case of tile or feature request errors')
- error to MessageBar in case of failed download
- in progress dialog, add a "Hide" button to mask the dialog
- improve automated testing
- add testing of the GUI of QgsWFSSourceSelect
2016-05-12 23:24:39 +02:00
Even Rouault
1da1c278e7 QgsOgcUtils: add conversion from QgsSQLStatement to OGC filters 2016-05-12 23:24:39 +02:00
Even Rouault
84129604a9 Add a QgsSQLComposerDialog GUI to edit QgsSQLStatement 2016-05-12 23:24:39 +02:00
Even Rouault
9df19e0133 Add QgsSQLStatement class to parse SELECT statements 2016-05-12 23:24:39 +02:00
Even Rouault
12a630f050 QgsGML: extend to be able to parse WFS 2.0 GetFeature response with join layers
And also fix handling srsDimension=3 on main GML geometry objects and not only posList
2016-05-12 23:23:44 +02:00
Even Rouault
b38a16fe2e Implement representValue() for Relation Reference widget 2016-05-12 19:52:26 +02:00
Blottiere Paul
b930a4b5e2 fix extent 2016-05-12 17:42:55 +02:00
Nyall Dawson
79f3d4221b Add equality operator for gradients, ensure stops are always in order 2016-05-12 20:55:27 +10:00
Blottiere Paul
9a62613b6b [FEATURE] add a map canvas magnifier 2016-05-12 09:42:51 +02:00
Nyall Dawson
b053ad8769 New class QgsDateTimeStatisticalSummary
Calculates summary statistics on lists of datetime values, such
as count, count distinct, min, max and range
2016-05-11 23:02:33 +10:00
Nyall Dawson
5177d93b5a Add time field filter option for QgsFieldComboWidget (also add docs) 2016-05-11 11:59:39 +10:00
Nyall Dawson
b4029dc7f0 Fix datetime fields not shown in QgsFieldComboWidget when set to date filter 2016-05-11 11:59:39 +10:00
Nyall Dawson
0f6838df2a Merge pull request from rouault/ogr_concurrent_opening
[BUGFIX / FEATURE] [OGR] Allow concurrent edition of Shapefiles and Tabfiles in QGIS & MapInfo
2016-05-11 05:07:57 +10:00
Nyall Dawson
7ae80b106d Fix sip bindings for QgsStringStatisticalSummary 2016-05-10 20:14:51 +10:00
Marco Hugentobler
daabda8ca7 Add test to make sure the curve point is part of the segmented result 2016-05-10 11:53:06 +02:00
Nyall Dawson
0493cbfc21 New class QgsStringStatisticalSummary, for calculating statistics
on lists of strings
2016-05-10 19:06:13 +10:00
Nyall Dawson
ceba5264f7 New class QgsInterval for storing durations between datetimes
Move the QgsExpression::Interval class out to its own QgsInterval
class, extend with new methods and add tests

Add a typedef to keep API compatibility for 2.16
2016-05-10 19:00:33 +10:00
Nyall Dawson
3340d8ea70 Fix feature fields does not include virtual or joined fields when
feature is requested using a QgsFeatureRequest with FilterFid
2016-05-10 17:04:37 +10:00
Nyall Dawson
56783c915e Merge pull request from nyalldawson/cad_fixes
Improvements and fixes to advanced digitising dock
2016-05-09 21:38:37 +10:00
Nyall Dawson
81e72b782f Merge pull request from nyalldawson/filled_marker
New "Filled marker" symbol layer type
2016-05-09 21:23:59 +10:00
Nyall Dawson
794ab065dc [FEATURE] Embed atlas feature into composer HTML source as GeoJSON
This change makes the current atlas feature (and additionally all
attributes of related child features) available to the source of
a composer HTML item, allowing the item to dynamically adjust
its rendered HTML in response to the feature's properties. An
example use case is dynamically populating a HTML table with
all the attributes of related child features for the atlas
feature.

To use this, the HTML source must implement a "setFeature(feature)"
JavaScript function. This function is called whenever the atlas
feature changes, and is passed the atlas feature (+related attributes)
as a GeoJSON Feature.

Sponsored by Kanton of Zug, Switzerland
2016-05-09 21:19:29 +10:00
Nyall Dawson
c3d6c796f4 [FEATURE] Allow copying features from QGIS in GeoJSON format
The previous setting for include WKT when copying features has been
replaced with a choice of copying features as "Plain text, attributes
only", "Plain text, WKT geometry" and a new "GeoJSON" option.

When set to "GeoJSON", copying features in QGIS will place a GeoJSON
text representation of the features on the clipboard for easy
pasting into other applications/javascript code.

Sponsored by North Road
2016-05-09 21:19:29 +10:00
Nyall Dawson
ca2c6290b1 Always export GeoJSON features in WGS84 (match specifications) 2016-05-09 21:19:28 +10:00
Nyall Dawson
55793a4534 Always create valid GeoJSON (both geometry and properties members
are required
2016-05-09 21:19:28 +10:00
Nyall Dawson
3681e2ceeb Add method for exporting QgsFeatureList to GeoJSON featurecollection 2016-05-09 21:19:28 +10:00
Nyall Dawson
5c1a05c8a1 Support including attributes of related (child) features in
GeoJSON feature export

Sponsored by Kanton of Zug, Switzerland
2016-05-09 21:19:28 +10:00
Nyall Dawson
34d468e64b Allow setting list of attributes to exclude from json exports 2016-05-09 21:19:28 +10:00
Nyall Dawson
9041c95464 Allow injecting extra properties into feature's GeoJSON export
Sponsored by Kanton of Zug, Switzerland
2016-05-09 21:19:28 +10:00
Nyall Dawson
c3f6c39784 Refactor to move JSON exporter to its own class 2016-05-09 21:19:28 +10:00