1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2024-11-30 22:51:16 +01:00
Commit Graph

951 Commits

Author SHA1 Message Date
aa892f6c3f Limit the overzoom by the resulting tile size rather than number of levels
Huge sizes may cause broken rendering and cache ping-pong. Do not allow
resulting tile sizes > 4096x4096px.
2023-12-18 20:32:00 +01:00
c1c8f6303c Code cleanup 2023-12-11 21:13:11 +01:00
5fcc27c176 Fixed broken TMS maps rendering 2023-12-11 20:31:13 +01:00
77e9fae19d Asynchronous rendering of online vector maps 2023-12-11 20:11:16 +01:00
148fc76d5a Added support for online vector maps overzoom 2023-12-11 18:54:46 +01:00
6f1f5fd965 Limit the overzoom to max 3 levels 2023-12-10 15:34:39 +01:00
58cd2a826d Added support for MVT overzoom
Requires QtPBFImagePlugin version 2.7
2023-12-10 15:24:39 +01:00
5525ba6e8c Code cleanup 2023-12-10 08:51:18 +01:00
63d3558b14 Provide the zoom level to QImageReader when fetching the tile size
Although technically not needed here, it workarounds the issue with the broken
Qt SVG imageformat plugin (QTBUG-119910).
2023-12-10 08:46:26 +01:00
eee4f31369 Cosmetics 2023-12-09 18:48:44 +01:00
bac55e317b Added workaround for broken Qt SVG image plugin colliding with the MVT plugin 2023-12-09 18:00:24 +01:00
c4bd3d39d1 Fixed possible double delete
QCache takes ownership (deletes the object) even if insert returns false!
2023-11-26 12:32:14 +01:00
6d03834167 Improved error reporting 2023-11-26 10:51:37 +01:00
cbca92513b Fixed crash on empty MBTiles files 2023-11-26 09:07:08 +01:00
0a5d5315c0 Code cleanup 2023-11-20 23:31:42 +01:00
95d354f10c Fixed map bounds limiting 2023-11-18 23:55:58 +01:00
aedbc99a6c Improved MBTiles map loading performance when metadata table present
+ Fixed zoom limiting
2023-11-18 23:29:18 +01:00
04f9457085 Fixed bounds limiting 2023-11-18 21:32:30 +01:00
bbc03ae59f Render MBTiles maps asynchronous if they include vector tiles 2023-11-17 17:39:33 +01:00
059ed3aa14 Dothe QImage -> QPixmap transformation in parallel 2023-11-17 16:17:53 +01:00
6c50402423 Display ferry line names 2023-10-23 21:57:01 +02:00
f24e70dc91 Fixed maximal lines angle check 2023-10-22 23:45:10 +02:00
e1e0392917 Discard empty segments 2023-10-22 20:42:05 +02:00
e63fbffe08 Silenced compiler warnings 2023-10-10 23:05:15 +02:00
78240787ab Fixed line splitting algorithm 2023-10-10 08:11:08 +02:00
197c3b91be Fixed/improved path label layout algorithm 2023-10-09 21:58:03 +02:00
b123981dde Fixed llBounds() functions with broken signatures 2023-09-25 18:20:37 +02:00
0531389cd8 Fixed storing of WMTS tiles with file system incompatible tile matrix names 2023-09-16 14:29:09 +02:00
a281a68cbd Decreased map zoom level treshold to 80%
There are evidently more maps that have bigger diferences in bounding box
latitudes which lead to differnt resolutions for the same zoom level in
Mercator projection than maps that would have zoom level differences < 20%.
2023-09-15 23:28:55 +02:00
2e7f8dc341 Fixed map resolution computation for maps > world/2 2023-09-15 23:28:16 +02:00
d310399b4f Fixed Qt6 build 2023-09-14 19:02:19 +02:00
845a4b2921 Yet another TrekBuddy compatability enhancement & fixes
+ related map API refactoring
2023-09-14 18:36:03 +02:00
00fff55cd3 Check for bounds overflow in the computed/approximated case 2023-09-13 22:33:14 +02:00
722f3acb1e Support all variants of TrekBuddy maps/atlases
Added support for gmi calibration files and arbitrary named tba/map/gmi files.
2023-09-13 20:02:24 +02:00
b38cf31920 Allow arbitrary .map file names in TrekBuddy TAR maps 2023-09-12 22:05:42 +02:00
2884c39367 Contiguous zones 2023-09-12 08:47:39 +02:00
1124a1adb4 Distinguish silos and tanks 2023-09-10 11:41:38 +02:00
d1e632523a Refactoring 2023-09-08 19:26:46 +02:00
b1f104c2ec Added support for ENC atlases (catalogues) 2023-09-07 09:31:23 +02:00
0f26114f5d Two-way radio reporting points 2023-09-03 10:59:43 +02:00
e34f77f1a1 Use the real file names for suffix extraction on Android
Many file URLs/paths that are passed to GPXSee on Android are unusable for
extracting the file suffix due to the Android file name mangling. Use
the converted "display names" for suffix extraction where possible.
2023-08-28 20:18:38 +02:00
128ce8d78c Added missing windmill and flagstaff landmark icons 2023-08-24 09:07:01 +02:00
04ef7ba092 If there are multiple labels for a point, use the one with the highest priority 2023-08-19 13:36:20 +02:00
03711ede97 Re-introduce the zoom level offset
Most Mapsforge themes expect the zoom levels to be offset by one from
the standard OSM zoom levels. Additionally, the rendering is much faster
which always helps when dealing with a format that slow like Mapsforge...
2023-08-13 13:00:05 +02:00
7e10e6640c Added support for the "base-stroke-width" rendertheme parameters 2023-08-09 01:19:41 +02:00
97b61451b1 Removed the zoom level offset hack
In the Mapsforge library the offset is dependent on the tile size which is
in turn dependent on whether the tiles are hidpi or not. In other words
the Mapsforge library is broken and inconsistent between hidpi/non-hdpi
displays. GPXSee is consistent here and we have thus tochoose one zoom level
mapping (i.e. what zoom level corresponds to what resolution). Lets choose
"no offset" = more details on a given zoom level/resolution.
2023-08-09 01:12:42 +02:00
d064cedbbe Apply the Mapsforge maps zoom levels offset
Offset the Mapsforge zoom level when fetching data/rendering the tiles to get
the expected data/sizes/widths for the tiles at the given zoom level.
2023-08-05 18:56:55 +02:00
4bf81e020f Yet another code cleanup 2023-08-03 00:39:56 +02:00
e07e109c7d Code cleanup 2023-08-01 23:38:33 +02:00
dcf45475ba Show the arrows even when no label is set 2023-08-01 23:21:49 +02:00
3e8b54f605 Added hi-dpi one-way street (+ water ways) arrows 2023-07-31 23:36:14 +02:00
96e762beb5 Properly mark one-way streets in data from NET links 2023-07-14 09:52:27 +02:00
b4be5ea206 Display one-way streets info in IMG maps 2023-07-13 11:59:53 +02:00
cd220216dd Do not affect the map object scaling when resizing the tiles 2023-07-04 20:27:41 +02:00
0d6b02f466 Removed obsolete include 2023-06-30 09:55:35 +02:00
688861bf65 Code cleanup 2023-06-23 09:30:44 +02:00
41188360bf Make the Mapsforge tiles sufficient large for the layout 2023-06-14 00:40:00 +02:00
9afeaf672a Properly match symbols to captions 2023-06-10 08:11:18 +02:00
5ddd63e697 Do not limit text that was not inserted 2023-06-06 07:32:42 +02:00
88fa1ed786 Some more Mapsforge maps rendering improvements 2023-06-06 07:18:31 +02:00
1233d20a21 Added support for lineSymbols in Mapsforge maps 2023-06-04 23:56:00 +02:00
1746eddb8d Code cleanup 2023-06-03 13:35:29 +02:00
ecda5103c8 Properly handle Mapsforge style menus 2023-05-31 01:01:42 +02:00
2b300fab54 Code cleanup 2023-05-29 23:19:16 +02:00
961061b643 Added rescue station 2023-05-28 11:28:12 +02:00
8bebea53ad Added LNDELV elevation values 2023-05-28 10:40:39 +02:00
c3b484bb75 Properly include std::isnan() 2023-05-26 21:57:45 +02:00
d6d43baec5 Optimization 2023-05-26 21:30:27 +02:00
c6c3e0978c Use generic icon rotate instead of special icon draw functions 2023-05-26 21:28:44 +02:00
320b04c3fa Added support for line "dy" parameter 2023-05-22 23:29:04 +02:00
822a0c2866 Tile search can be done lock-free 2023-05-21 09:14:19 +02:00
a92d6efec6 Do not do any time consuming actions in the mapview redraw callback
On all vector maps (ENC, IMG and Mapsforge), do the data loading
asynchronous like the tile rendering.
2023-05-19 19:33:22 +02:00
8a72b20af8 Added support for all paths scaling modes 2023-05-19 01:30:54 +02:00
e351eb6370 Only preallocate the memory when usin moveto/lineto 2023-05-17 23:10:45 +02:00
81e967f20d Only fetch data when the rect is valid 2023-05-17 23:08:17 +02:00
cf81a90865 Some more micro-optimizations & code cleanup 2023-05-16 23:03:07 +02:00
d0cea97c90 Added support for custom HTTP headers in map tile requests 2023-05-13 15:01:35 +02:00
ddc7eb7149 Do not outline soundings like in ENC maps 2023-05-12 10:19:52 +02:00
bb22ad95b7 Use the point label as additional source for the id hash
Some (marine) maps have different points with the same type on the same
position.
2023-05-11 22:57:35 +02:00
60e83b24f9 Use as much as possible of the 64b hash in Qt6 2023-05-11 21:31:10 +02:00
d9c0770b51 Code cleanup 2023-05-06 21:53:40 +02:00
ca6c7247c0 Added missing cache insert 2023-05-06 16:14:49 +02:00
ccfb748404 Fixed KMZ maps bounds computation 2023-05-04 21:14:52 +02:00
a4a54101a3 Removed forgotten debug stuff 2023-05-04 09:51:42 +02:00
97e12d809f Map API refactoring
Including several map providers refactoring/rewrite
especial KML, JNX and TrekBuddy atlases.
2023-05-04 09:38:35 +02:00
62aabe0c56 If there are broken matrix limits, ignore them 2023-04-27 00:16:54 +02:00
2bd25dd9b0 Fixed build with Qt < 5.13 2023-04-25 23:33:54 +02:00
8cea06f2ad Improve SQLite-based maps error reporting 2023-04-25 22:52:55 +02:00
1d589e25d8 Some more Mapsforge microoptimizations + code cleanup 2023-04-25 22:11:47 +02:00
1eaaf719fd Code cleanup 2023-04-25 00:02:50 +02:00
6c91060cbb Some more Mapsforge micro-optimizations 2023-04-23 11:01:18 +02:00
ce4f0472c0 Use integers as tag keys in Mapsforge maps 2023-04-22 17:28:32 +02:00
229af4c749 The coordinates and the point type are sufficient for a unique ID 2023-04-19 00:33:04 +02:00
a928cc4ccb Cosmetics 2023-04-16 09:42:00 +02:00
2824751615 Allow advanced CSV formating in CRS files 2023-04-15 03:18:52 +02:00
e5199f8648 Redesigned CRS logic (including CSV files structure) 2023-04-13 08:39:33 +02:00
b6ca28e159 Render circles 2023-04-08 00:34:33 +02:00
648627b17f Use style-defined priorities
+ code cleanup
2023-04-06 23:29:05 +02:00
2aa759a4bc Filter all way references, not only "ref"s 2023-04-06 09:41:31 +02:00
84dc58da71 Code cleanup 2023-04-05 21:50:19 +02:00
25838ad02d Removed obsolete header include 2023-04-05 21:02:20 +02:00
6cd122f59b Fix/improve Mapsforge tiles rendering 2023-04-05 19:28:17 +02:00
981bd33680 Properly encapsulate the ENC-specific text point 2023-04-05 19:27:25 +02:00
8b24aa17e2 Increase path render instructions cache 2023-04-04 00:29:50 +02:00
6fc5a2f67d Added support for the "text-transform" attribute 2023-04-04 00:22:15 +02:00
d794de5818 Added support for curved lines 2023-04-03 23:53:57 +02:00
81f695a672 Fixed crash on empty IMG/GMAP maps 2023-04-03 23:29:35 +02:00
84a592998d Only tile big (> Qt OpenGL cache size / 2) images 2023-04-02 14:36:03 +02:00
c114383c85 Do not outline countour height entries 2023-04-01 12:04:21 +02:00
164e59602e Added missing BCNCAR rendering 2023-03-30 00:00:45 +02:00
b80cd05d4b Added currents rendering 2023-03-25 13:31:15 +01:00
46109d0ce0 Render masts as pylons 2023-03-25 10:55:32 +01:00
cd1f80f2c1 Label sizes adjustment 2023-03-25 00:12:06 +01:00
dbe407d9d9 Various ENC rendering improvements 2023-03-24 22:54:53 +01:00
54d6016b1a A better point items layout algorithm 2023-03-24 09:18:13 +01:00
f057ebdbb7 Added fog signals rendering 2023-03-23 01:05:44 +01:00
416bd3472f Render lights merged with the root objects, not as separate objects 2023-03-22 00:41:03 +01:00
048198dfe1 Removed duplicit map error debug output 2023-03-18 10:11:11 +01:00
152f17f15a Do not try to load the style when it does not exist 2023-03-18 09:04:55 +01:00
62f3343f75 Render international border lines 2023-03-16 21:37:27 +01:00
07581f027b Fixed header length check 2023-03-16 20:58:28 +01:00
6105783a6d Redesigned marine icons
Added marine icons outlines to make the icons visible on dark backgrounds.
2023-03-02 00:43:20 +01:00
00a349575c Marine maps draw order fix 2023-02-28 23:58:03 +01:00
f026387d76 Fixed broken handling of IMG "multi-maps" (maps with overviews) 2023-02-27 22:06:31 +01:00
108444d29b Fix multiple MSVC warnings 2023-02-25 11:06:14 +01:00
ed638bb5fc Fixed marine charts rendering 2023-02-24 20:00:50 +01:00
ae3d190e08 Do not unnecessary convert the image tiles to pixmaps 2023-02-23 22:46:45 +01:00
a5916cad90 Make the MSVC2019 Debug builds compile 2023-02-23 22:45:42 +01:00
7a53fb8e01 Remove the qpainter/qimage draw workaround
Seems to be fixed in newer Qt versions and it did not properly work in older
Qt versions anyway...
2023-02-22 23:22:18 +01:00
9538d15d79 Fixed centroid computation 2023-02-19 14:47:57 +01:00
bfeb6d266e Some more iso8211 code cleanup 2023-01-26 01:13:15 +01:00
af3e5d41c2 Split the config header to config+hash headers 2023-01-26 01:11:56 +01:00
ab76521990 ISO8211 API cleanup 2023-01-19 10:08:17 +01:00
ee73908231 Do not treat Ozimaps as directories
Directory parsing was stopped at the level of the map which is not what we
want - users would have to create separate directories for every Ozimap.
2023-01-19 10:04:03 +01:00
3af98b6785 Fixed typo 2023-01-16 21:16:20 +01:00
21c02010f7 Improved marine charts render style 2023-01-14 13:00:36 +01:00
c209e24db8 Optimization/code cleanup 2023-01-14 08:45:18 +01:00
9ff7ecea97 ENC signal stations 2023-01-11 23:03:54 +01:00
78e3c78197 Added safety zone lines 2023-01-09 23:58:03 +01:00
65515143eb Added missing include guard prefix 2023-01-05 21:44:03 +01:00
88f7e13500 Added alignment check 2022-12-23 08:35:59 +01:00
ae49e9f2fd Turbulences and pilot boarding places 2022-12-10 18:41:35 +01:00
ca3e0eda49 Yet another ENC style improvement 2022-12-10 11:59:48 +01:00
d33716e3af Various ENC render style enhancements 2022-12-08 00:29:39 +01:00
ff2dd6cdec Code cleanup 2022-12-05 08:52:27 +01:00
7900e88907 Some more ENC style improvements 2022-12-04 23:09:59 +01:00
9b90cf5783 Fixed display order 2022-12-04 19:32:55 +01:00
b7ea02bc44 Some more ENC style improvements and fixes 2022-12-04 12:39:47 +01:00
07954b7d1a Prohibited areas 2022-11-26 19:22:09 +01:00
08dbb315cb Turning basins 2022-11-26 16:51:12 +01:00