7363 Commits

Author SHA1 Message Date
Nyall Dawson
35f16f3f37 Fix disabled, broken test 2019-06-05 04:00:58 +10:00
Nyall Dawson
b5d0607bf7 Update test mask images 2019-06-05 04:00:58 +10:00
Nyall Dawson
942827ba52 Fix Travis build 2019-06-04 06:18:17 +10:00
Nyall Dawson
1bc716fc61 [labeling] Fix incorrect bounding box of labels used when
map is rotated

Fixes #24680
2019-06-04 06:18:17 +10:00
Nyall Dawson
004b7d879a [labeling] Fix cannot use labeling map tools when canvas is rotated
Fixes #25384
2019-06-04 06:18:17 +10:00
Nyall Dawson
70a07f930e Add some unit tests for labeling results 2019-06-04 06:18:17 +10:00
Nyall Dawson
fe4ea3318a Add method to retrieve grid details from a proj string 2019-06-03 16:46:54 +10:00
Nyall Dawson
56c265fa34 Update test results 2019-06-03 16:46:54 +10:00
Nyall Dawson
5db70523ec Whenever calculating proj coordinate operation strings, ALWAYS
base them on normalized operations

QGIS doesn't need (or want) to care about strictly following
projection definitions here, we ALWAYS want X/Y to be X/Y
2019-06-03 16:46:54 +10:00
Nyall Dawson
315e043754 Update test results for proj 6 2019-06-03 16:46:54 +10:00
Nyall Dawson
a4e5e6a598 [needs-docs] Append a local, user writable folder to proj 6 search paths
Now, proj will search in the current user profile "proj" folder (e.g.
.local/share/QGIS/QGIS3/profiles/default/proj" on linux) for
grid files and other proj helper files.

This allows users (and plugins) to install grid files and make them
available for use in QGIS without requiring administrator access
to the system.
2019-06-03 10:38:22 +10:00
Nyall Dawson
c82d3b643f Upgrade QgsCoordinateTransformContext for proj 6
This reworks (on proj 6 builds only!) QgsCoordinateTransformContext
to use proj strings of proj coordinate operations to handle the
users' preferred list of operations when transforming coordinates
between two CRSes.

Previously, the context heavily utilised internal transform ID
numbers, which were QGIS specific and relied on matching entries
from the QGIS srs.db file. This approach was undesirable because
it meant QGIS had to maintain and carry it's own table of
possible transform pathways between CRS pairs (which was difficult
to update, impossible to track, and most likely severely out of
date).

Now we can utilse Proj 6's (wonderful!) logic for determining the
best coordinate operation to utilise between two CRSes. All the
old API has been deprecated and no longer works under proj 6, but
that's unavoidable (and unlikely to be in use by plugins anyway,
it's VERY low level stuff).

A further bonus of this work is that QgsCoordinateTransform no
longer relies on proj strings of the source/dest CRS to build
the transform -- the issue with that approach was that proj
strings are lossy (and not always possible to generate), so
now by default we are generating better pathways between CRS
pairs.

This resolves issues with transforms which rely on pivot datums,
such as GDA94 - GDA2020 conversions.

Sponsored by ICSM
2019-05-31 10:38:08 +10:00
Nyall Dawson
0cf4ecf491 Deprecate a QgsCoordinateTransformContext members which don't
apply in proj >= 6.0 builds
2019-05-31 10:38:08 +10:00
Nyall Dawson
c61fb85ed6 Remove unused support for single source/dest settings in QgsCoordinateTransformContext
This has been #ifdef'ed out since it's original implementation,
and it has no meaning in the world of Proj >= 6.0
2019-05-31 10:38:08 +10:00
Nyall Dawson
0c590a1650 Indentation 2019-05-31 09:56:53 +10:00
Juergen E. Fischer
0597a8183a fix windows build 2019-05-31 01:11:35 +02:00
Even Rouault
50dab59a06 [OGR provider] Map GeometryCollection of TIN coming from multipart shapefiles to MultiPolygonZ (fixes #29376) 2019-05-31 06:32:59 +10:00
Alessandro Pasotti
2a2a4cd597 Copy test file before running the test
and make make check happy
2019-05-30 11:41:47 +02:00
Nyall Dawson
3cb3676329 Don't limit label distances to postive values
Sometimes it's useful to have negative distances, as a 0 distance
can still be quite far from line features for some font families.
2019-05-30 17:27:00 +10:00
Nyall Dawson
10c4bb9f9b [labeling] Fix curved labels sometimes placed below line even when
set to above line only
2019-05-30 17:27:00 +10:00
Nyall Dawson
b04374d46f Tweak curved label cost of placing away from center (increase cost slightly to encourage more central placements) 2019-05-30 17:27:00 +10:00
Nyall Dawson
328b0afa6e [labeling] Fix curved labeling fails when line feature geometry
begins with small segments

Fixes #28699
2019-05-30 17:27:00 +10:00
Nyall Dawson
e0aa09ce18 [labeling] Ensure "merge connected features" setting works correctly
with line networks that contains forks and branches

And simplify memory management

Refs #12173
2019-05-30 17:27:00 +10:00
Nyall Dawson
7213030ad9 [labeling] Fix missing labels when multilinestring features are used in
conjunction with the "merge connected lines" setting

Refs #12173
2019-05-30 17:27:00 +10:00
Even Rouault
e4582c9958 Fix GeoJSON output of MultiPolygon/MultiSurface
There was a lack of a JSon array around rings of a polygon.
This issue is not present in 3.4

Also fixes an issue with gcc 5.5 of Ubuntu 16.04 that doesn't behave
properly with C++11 brace syntax with code from nlohmann/json.hpp.
The code compiles but the result is invalid: `json foo{ json::array{} }`
is serialized as [[]] instead of []. So use old-style constructor
instead: `json foo( json::array() )`

This PR is on top of https://github.com/qgis/QGIS/pull/30010
2019-05-30 10:13:16 +10:00
Even Rouault
5d6917eb6c QgsGeometryUtils::segmentizeArc(): fix full circle segmentization (fixes #29895)
This fix display of full circles coming from PostGIS.
2019-05-30 10:13:16 +10:00
Alessandro Pasotti
bede19662e
Merge pull request #29970 from elpaso/bugfix-gh29767-server-wfs-double-virtual-fields
Server WFS fix describefeaturetype double virtual fields
2019-05-28 11:47:58 +02:00
Alessandro Pasotti
49b381f216 Add missing test control file 2019-05-28 10:59:11 +02:00
Nyall Dawson
7f8d43eb9b Fix offset labels from reprojected layers when map is rotated
Fixes #24796
2019-05-28 16:09:19 +10:00
Nyall Dawson
4cb1213efd Fix labeling ignores "label per part" setting when geometry parts
are adjacent

Fixes #26763
2019-05-28 15:49:45 +10:00
Even Rouault
9167cb4f33 QgsVectorFileWriter::writeAsVectorFormat(): return appropriate output layer name for GPX driver (github fixes #29819) 2019-05-28 09:09:14 +10:00
Even Rouault
29806b4385 testqgsvectorfilewriter.cpp: fix badly named variable, and remove useless code 2019-05-28 09:09:14 +10:00
Alexander Bruy
507c10c7c1 update tests and merge all color ramp tests into single file 2019-05-28 06:09:25 +10:00
Alexander Bruy
d83b01f5f0 add tests for QgsColorRamp 2019-05-28 06:09:25 +10:00
Even Rouault
06ab26ab3d
Merge pull request #29949 from rouault/fix_github_29858
[WFS provider] Support layers with GML field names only differing by cases (github fixes #29858)
2019-05-27 21:54:32 +02:00
Even Rouault
3dddfe4bbb
Merge pull request #29946 from rouault/fix_redmine_21768
WFS provider: fix issues with TYPENAME(S) and NAMESPACE(s) with WFS 2.0
2019-05-27 21:54:15 +02:00
Alessandro Pasotti
f37141d807 Server WFS fix describefeaturetype double virtual fields
Fixes #29767
2019-05-27 18:22:50 +02:00
Alessandro Pasotti
a33ab6fb3b Handle file:// links in identify text
Fixes #29879
2019-05-27 16:19:01 +02:00
Alessandro Pasotti
892ccfe69e Fix raster calculator invalid expressions
Tell the user that is invalid instead of
silently ignoring undefined functions.

Fixes #29824
2019-05-27 14:56:03 +02:00
Alessandro Pasotti
3f4b6d00d6
Merge pull request #15371 from elpaso/bugfix-21986-jsonarray-spatialite
Fix spatialite handling of JSON arrays
2019-05-27 12:48:50 +02:00
Alessandro Pasotti
f399d3f3cf Fallback to QVariant( QVariant::Type::Int ) 2019-05-27 11:39:43 +02:00
Alessandro Pasotti
403bacf25b Added test for isNull/isValid returns 2019-05-27 11:23:28 +02:00
Alessandro Pasotti
d5254eced2
Merge pull request #10036 from elpaso/bugfix-20848-issue-exporting-as-gpkg
Fix export raster as GPKG
2019-05-27 11:05:28 +02:00
Alessandro Pasotti
d7019cea0f More QVariant test fixes 2019-05-27 10:22:40 +02:00
Alessandro Pasotti
e6050b54b9 Fix QCOMPARE with variant lists in test 2019-05-27 09:55:21 +02:00
Alessandro Pasotti
564fd50e43 Fix spatialite handling of JSON arrays
Fixes #21986

plus:

- fix multiple string keys with commas in value relation widget
- more robust JSON and array (un)marshalling
- uniform array representation in value relation widgets
- lot of test coverage
- automatic QVariant type conversions in JSON utils
2019-05-27 09:20:34 +02:00
Alexander Bruy
5ef63dfb45 add tests for style URI retrieval 2019-05-27 10:20:12 +10:00
Nyall Dawson
270c605081 Make test resilent against future potential order changes 2019-05-27 08:26:34 +10:00
Nyall Dawson
63b5d5889a Explain test 2019-05-27 08:26:34 +10:00
Nyall Dawson
00f8ee693d Avoid some fragile tests 2019-05-27 08:26:34 +10:00