Update of map core (2019)

Started by Menion, February 16, 2019, 13:05:25

0 Members and 3 Guests are viewing this topic.

slarti76

Quote from: menion on April 26, 2019, 11:59:38
Hmm to be true, I see no simple solution here.
The current system as is, is itself a lot better than was before. Anyway, in these cases, when the text that appears in the second tile should be drawn over already visible map tile, it is a problem. For now ...
Correct me if I understand the current system incorrectly: Everything is rendered "by tile", including texts. So this would also be the reason that https://help.locusmap.eu/topic/vector-maps-dont-rotate-labels-and-icons is difficult to do? Or is there any chance this will be easier with new system? I noticed that in new beta, when zooming in and out, text labels usually appear after the rest of the map, implying they're now rendered separately?
  •  

slarti76

#106
My first thoughts of the new system:

  • Vector maps look much nicer
  • Overall feels slower, also had the odd crash, but mostly some missing tiles. Is to be expected, I suppose, but stability has to be improved.
  • "Increase map resolution" on vector maps muuuch better due to not just enlarging the tiles. That said, it is a little confusing: My standard setting was 250%. But not all elements seem to be zoomed by 2.5. Streets get only about 50% wider, labels are perhaps double the size. That's at least confusing. Furthermore, now that vector and raster maps are handled differently, "map resolution" seems not the right term for both operations. For vector, resolution may be right, but for raster maps, it's more an "enlarge map".
  • Clickable POIs from my vector maps now also appear on my downloaded raster maps. That's kinda nice, but I don't see where that could be turned off - icons may overlay icons within the map, which is not great. Also, icon size seems to be fixed.
  • Love the fact that you can now overlay anything other anything. I had some overlays that I couldn't use before (like hiking trails), which work great now. However, now that I copied them back to my phone, they clutter up the "Quick Map Switch" menu. As they're only overlays (with alpha channel), they make no sense to use on their own. Please add a flag to mark a map  as "overlay only". Or at least a "Don't show in Quick Map switch".
  • Like the tilting, but as I wrote in main thread for current version, user should be somehow informed about the functionality. Easily confusing.
  • The "zoom lock" restructions also bother me a little. As I wrote in main thread, I think user should not be restricted for no reason to zoom to lower than 50%. Sure, things get slower, but that's up to the user to decide whether it's OK still. On my HDPI devices, I love the overview+details I can get by zooming out with zoom lock.
Apart from that, I must admit, the whole MapForge V3, V4, V5 discussion has me confused. By now, I seriously wonder if I'm missing out on functionality that would be possible if I just used the right maps/themes. I can't even seem to figure out what the default Locus Maps + Internal Themes combination uses. Perhaps it doesn't matter much, but I'm wondering if I would gain a lot by using OpenAndroMaps plus their themes again. Perhaps some Knowledge Base article would be nice together with the next version - or did I miss something?

john_percy

I'd just noticed the same issue with "increase map resolution" on a vector map. If I lock the zoom then magnify the map, everything grows in size, which is correct and expected. If I "increase map resolution" to 200% the texts grow by 200% (linearly) but the map otherwise goes to an enlarged  version of the next lower zoom level, displaying exactly the same map area. The road widths are only slightly greater.
What's more, I'm fairly certain that the change from one zoom level to the next is not 200% (2×) but ✓2×. Two steps of zoom are needed to change a linear distance by a factor of two. If I'm right, I suspect the percentage zoom displayed in the top bar when I do a two finger zoom is incorrect.


Sent from my moto g(6) plus using Tapatalk

Voluntary and Velocity themes - https://voluntary.nichesite.org
  •  

slarti76

Quote from: john_percy on April 29, 2019, 10:27:20
I'd just noticed the same issue with "increase map resolution" on a vector map. If I lock the zoom then magnify the map, everything grows in size, which is correct and expected. If I "increase map resolution" to 200% the texts grow by 200% (linearly) but the map otherwise goes to an enlarged  version of the next lower zoom level, displaying exactly the same map area. The road widths are only slightly greater.
As I wrote above, I also think the factor is wrong - but the fact that the map area is unchanged to me is exactly as expected. Actually, that's what I ind great about the new system, the decoupling of two different aspects: Zoom (determining what area is shown) and resolution (size of the elements on the map). Also as I wrote, "resolution" may be a misleading word, because now with vector maps, we always have, one could say, ideal resolution. So perhaps for vector maps, it's also rather "enlarge map content sizes" (while for raster maps, it's "enlarge map"). Doesn't roll off the tongue that easily, granted...
  •  

john_percy

@slarti76 But wouldn't you expect road widths to increase in the same way as texts do?

Sent from my moto g(6) plus using Tapatalk
Voluntary and Velocity themes - https://voluntary.nichesite.org
  •  

slarti76

Quote from: john_percy on April 29, 2019, 10:46:39
@slarti76 But wouldn't you expect road widths to increase in the same way as texts do?
Tbh, I find the way it currently behaves quite balanced - I do think that road widths have to increase, too. When I choose "Increase resolution" (or whatever we call it in the end), I want to be able to also better see small roads/tracks. So say your feeling is right that when texts increase by factor x, widths increase by sq(x), to me, visually, that looks good. Apart from the fact that I chose 250% and am pretty sure that even texts only increase by factor 2. But it is kinda confusing (why not everything with same factor?) and will have to be according to some fixed rule (what element uses which f(x)).
  •  

zossebart

Quote from: menion on April 19, 2019, 08:19:59
@zossebart
WMS maps: any map for test?
EDIT: wms sample not needed, I see one big problem, thanks!

Should this problem be fixed in current beta? Because I still have problems with some WMS maps.
If beta should be fixed already, I should provide a WMS URL to reproduce it...
  •  

Menion

@john_percy
what you mean by "adding 54 POIs to Locus"? Just ordinary points from own database? If not, how to simulate this slowdown caused by points? 54 points should really have absolutely no impact on performance, weird.

Why do you think that scale x2 is not correct? Simply check scale line on the bottom of the map to confirm that distance factor really scale x2.

@michaelbechtold
scaling of maps may be a problem because I do not expect, other apps will do the same as Locus Map now do.
Look on this please from the overview: display any common online map (like OSM classic) and any vector map in older Locus Map version and do the same in current Beta version. You will see the difference.
With higher DPI of your device, online (generally any raster) map are more and more useless (the difference between vector map and raster map is bigger). In the beta version, these raster maps should give the same resolution of texts, symbols etc. as vector maps.

You created these world maps some time ago and they itself are scaled a little bit to solve the problem with non-scaled raster maps on its own. Am I right? And this is the problem. If you do world maps with the same scale as are all other raster maps (also Google Maps and other online web maps), this won't be a problem.

Anyway possible solutions:
a) every map may have own parameter in the app UI to set custom scale > something I would like to avoid as it may not be needed. Also, it will need extra work on the users side to optimize it.
b) custom parameter that may be defined directly in SQLite/MBT map that allows telling Locus Map "hey, this map should be scaled little bit different". It will anyway need to modify map itself, so users will need to download a new version.

Is version b) usable for you?

@slarti76
texts are drawn on the tile so yes, the mentioned topic is a problem because of this. In latest MapsForge versions are some attempts to render texts separately, but how exactly it works and mainly if this may be used by maps like Locus Map: do not know yet. Anyway, texts are still drawn directly into the tile. What you see is a small alpha effect I made, that just do small interpolation during drawing between old and new map tile.

"Increase map resolution" should have the same effect on both raster and vector maps. You see a difference there? Weird. Maybe raster maps look sooner little blurred. It is as I wrote to Michael before. Raster maps itself are already little scaled by device DPI.

(Also to John's post): it is correct that the visible area remains the same. Usage of this feature is to see bigger content in the same area. So rescale maps by 200% result in using lower zoom level scale to 200% (to keep same visible area).

Anyway as I see, John is correct that result is ok for raster maps, but not exact for vector maps. Most probably because the road in lower zoom level X is thinner than in next zoom level Y, so "road width X times 200%" is not same as expected "road width Y times 200%". Hmm, an alternative solution should be using still the same zoom level rescaled by X% and display a smaller area
...

Clickable POIs are a little funny. I noticed this also a few days ago. It is not my intent, it is more a side effect that happens if you enable LoMaps and then any other map. Anyway, I found it really useful so maybe we may consider adding LoPoins into side menu > layers and allow to enable/disable them independent on LoMaps? Hmm ...

Exclude certain maps from "quick map switch" ... the ideal candidate for voting? (mainly because it's not a 5-minute task)

The scale below 50% ... there are two features we may talk about
a) "increase map resolution" that may allow setting value below 100% (as suggested by @michaelbechtold)
b) and "zoom lock" after which you may scale below 50%

I personally think that a) should not be needed as all maps should be correctly optimized to 100% scale now. But I may be convinced to 75% if there really be an interest :). But still ... I see quite well on a short distance and with the resolution set to 100% (so this option disabled), I sometimes have real problems in the terrain to read something on the map. Big difference compares to the sofa.
b) slowness, possible crashes with scale 10%? Locus Map is quilty, definitely not the user. So consider this as small "Locus Map good name protection".

Just a few days ago I also had a small weird feeling from this which map to which theme etc. So Michal (from our team) already has on table idea for a blog post related to vector maps & it's themes.

@zossebart
yes please. If any WMS does now work correctly (please check if any change in defined CRS has an effect), provide me Url to test.

Uff, sorry for the long post ...
- Official help (ideas, questions, problems): help.locusmap.eu
- Advanced topics, sharing of knowledges: you're here!
- LM 4 Beta download, LM 4 Release download
  •  

john_percy

@menion
Quote from: menion on April 30, 2019, 14:30:56
@john_percy
what you mean by "adding 54 POIs to Locus"? Just ordinary points from own database? If not, how to simulate this slowdown caused by points? 54 points should really have absolutely no impact on performance, weird.
I manually entered the co-ordinates, moved to the location, added point, edited name and icon 54 times. 54 points normally don't slow down Locus (much) but maybe the adding and editing process did. I don't know. Anyway something did and restarting the phone didn't help, only turning the points off and then on again!

Quote from: menion on April 30, 2019, 14:30:56
Why do you think that scale x2 is not correct? Simply check scale line on the bottom of the map to confirm that distance factor really scale x2.
You are absolutely right, sorry. For some reason I was convinced that two zoom operations were needed to scale the map by 2. Maybe connected with the way vector road widths scale by 1.5x (or whatever) on each zoom operation.
Quote from: menion on April 30, 2019, 14:30:56
(Also to John's post): it is correct that the visible area remains the same. Usage of this feature is to see bigger content in the same area. So rescale maps by 200% result in using lower zoom level scale to 200% (to keep same visible area).

Anyway as I see, John is correct that result is ok for raster maps, but not exact for vector maps. Most probably because the road in lower zoom level X is thinner than in next zoom level Y, so "road width X times 200%" is not same as expected "road width Y times 200%". Hmm, an alternative solution should be using still the same zoom level rescaled by X% and display a smaller area
(a) As I see it, with raster maps "increase resolution" actually mimics a lower resolution device showing the same map area. It may have some use, but what I would have expected is a magnifying effect a bit like Zoom Lock provides. So I prefer your alternative solution. (As it stands, for some of my custom raster maps at some zoom levels it has no effect at all, depending on what real zoom levels the online map provides.)
(b) For vector maps also I would prefer your alternative solution. Some days in the field it is difficult to see the detail on the map and I just want to be able to magnify the display. The current arrangement is little help to me for this. I know Zoom Lock will do this but it does just that and locks the zoom. I want the flexibility to be able to turn on Increase Resolution (screen magnification really) by a click in my Quick Settings menu and still be able to zoom in and out of the map at will.
Voluntary and Velocity themes - https://voluntary.nichesite.org
  •  

slarti76

Menion, don't worry about long post, appreciate the extensive reply!
Quote from: menion on April 30, 2019, 14:30:56
@slarti76
texts are drawn on the tile so yes, the mentioned topic is a problem because of this. In latest MapsForge versions are some attempts to render texts separately, but how exactly it works and mainly if this may be used by maps like Locus Map: do not know yet. Anyway, texts are still drawn directly into the tile. What you see is a small alpha effect I made, that just do small interpolation during drawing between old and new map tile.
I see, makes sense looking at it again. I totally see the technical difficulties here, it's just - as the comments in the Idea also show - one of the few aspects where Locus is really not state-of-the-art anymore.
Then again, point icons are always shown "upright", so there is a layer above the tiles that is updated all the time. Can't the texts go there?

Quote"Increase map resolution" should have the same effect on both raster and vector maps. You see a difference there? Weird. Maybe raster maps look sooner little blurred. It is as I wrote to Michael before. Raster maps itself are already little scaled by device DPI.
Yeah, I still didn't do a direct comparison, but my gut feeling is also that raster maps look worse.
Which brings my to a question I always wanted to ask: How are tiles stored when you do "Download Map"? As JPG? Because I have a raster map that was created by someone else which looks much better when zoomed compared to Google Maps downloads by Locus. With the latter, I'm pretty sure I see JPG artifacts, whereas the other map probably uses PNG.
Is that correct/possible? Would it perhaps make sense to offer a PNG option for the Map Download? Shouldn't be such a biggie, the libraries are all there in Android. Maps get bigger, I presume, but phones with SD cards don't really have a problem there...

Quote(Also to John's post): it is correct that the visible area remains the same. Usage of this feature is to see bigger content in the same area. So rescale maps by 200% result in using lower zoom level scale to 200% (to keep same visible area).

Anyway as I see, John is correct that result is ok for raster maps, but not exact for vector maps. Most probably because the road in lower zoom level X is thinner than in next zoom level Y, so "road width X times 200%" is not same as expected "road width Y times 200%". Hmm, an alternative solution should be using still the same zoom level rescaled by X% and display a smaller area
(also to Johns answer) While I like the current effect with vector maps, I do see his point and would actually prefer if both map types behave the same way here.
But tell me if I got the behaviour of "Increase Map Resolution" correct:
With raster maps, you take a tile and just enlarge it by X %.
With vector maps, in the old system, you also render a tile at 100% and then enlarge it.
With vector maps in the new system, what exactly happens? Is there still enlarging (with loss in precision/resolution) involved? Or is it always rendered with best precision?

In fact, two factors involved. Example for 250%:

  • 1a) Take current zoom level and multiply all sizes by 2.5
  • 1b) Take closest zoom level (here: +1) and then multiply all sizes by 1.5
  • 2a) Keep field of view identical to 100%
  • 2b) Make field of view smaller by factor 2.5
Right now, it seems to be 1b)+2a), John proposes 1a)+2b), do I understand that correctly?


QuoteClickable POIs are a little funny. I noticed this also a few days ago. It is not my intent, it is more a side effect that happens if you enable LoMaps and then any other map. Anyway, I found it really useful so maybe we may consider adding LoPoins into side menu > layers and allow to enable/disable them independent on LoMaps? Hmm ...
Please do that! Much simpler and less in-your-face (smaller icons) then having to activate those POIs in the POI menu. Always wanted to be able to use the POI the same in all map types.

QuoteExclude certain maps from "quick map switch" ... the ideal candidate for voting? (mainly because it's not a 5-minute task)
Fair enough, will do.

Lastly, @scale belo 50%:
I see your point about 10% and the "good name protection", I just think for both cases, not allowing it at all is too much of a restriction, what with modern fast phones. My personal compromise suggestion would be 50% minimum for a) and 25% for b).
  •  

michaelbechtold

Yes, Menion, in the initial versions of the world maps, I set the label sizes for Maperitive so that in Locus (old version) as well as some other Apps, the labels were readable easily.
With Locus (new) there exists no label size that would fit Locus as well as other Apps.
Your suggestion to add a scale parameter into the map DB itself I can handle easily. Yet, this would imply that I have to make a choice for all users. I'm not known to be shy, but nevertheless I prefer that every user has his/her own say adn choice, hence a parameter inside Locus would be better. Not everybody dares to patch sqlitedbs, aklthough it is pretty easy with SqliteBrowser.
  •  

zossebart

Quote from: menion on April 30, 2019, 14:30:56
@zossebart
yes please. If any WMS does now work correctly (please check if any change in defined CRS has an effect), provide me Url to test.

Please try if "https://geodienste.sachsen.de/wms_geosn_flurstuecke/guest?" (parcel info of saxony) displays anything for you. I see nothing regardless of the CRS (did not test all, but many).
However, the data query button seems to work...
  •  

Menion

@john_percy
so hiding and showing points back solved this problem and now it's fast as before? Good to hear. It may be then small slowdown caused by automatic map loading I found yesterday. So hope it won't repeat with next Beta version.

@slarti76
it is correct, all points, tracks etc. are in layer above map. Imagine whole system as many many layers placed in row.
At the bottom is the base map, in this case, MapsForge map created by MapsForge library. And this library provides to Locus simple method "give me a map tile X, Y, Z. And this library also take care not just about the background of map and roads, but also about the correct placing of labels. So what Locus receive, is complete ready-to-use map tile. I'll look at this anyway later if there isn't any method how to extra labels and work with them manually out of this MapsForge library. But really, later ...

JPEG/PNG compression
I'm surprised by your discover, nice. Check topic and mainly my post here: https://help.locusmap.eu/topic/sqlite-maps-compression-png-vs-jpeg#comment-26019 . It explains all.

Agree that with new rescale of raster maps, this topic may be re-open to the discussion.

Rescale of tiles: it's same for raster/vector maps. App prepares map tile in 100% and then rescale it to the required map scale.

Difference we talk about: situation > "scale resolution = 400%" and zoom 16
1) that current beta pick zoom 14 and draw it 4x bigger. You see the same area, but a map from lower zoom.
2) old system and system John talk about: app pick zoom 16 and draw it 4x bigger. You see the 4x smaller area but from the same zoom. So it mimic "zoom lock" function.

I'll look at it how complicated may be to switch from 1. to 2. But if you do not fight against, I also think that v2 will be better.

@michaelbechtold
"I prefer that every user has his/her own say adn choice" > you already made a choice when you created these maps. There also was no setting in Locus Map to rescale map labels and you decided to create them a lot bigger than are in almost all other online maps!

So what I offer, is to create a new map with the included parameter, that will say to Locus Map "scale this map only to 50% compare to other online maps".

You "fight" for an additional parameter that allows setting the custom scale to every map. I do not want to say "never", but for now, this is the second case when someone wants this (one guy on help desk as well) and in both cases, we talk about custom hand-made maps. Based on this, I still think that such setting is not needed.

@zossebart
interesting. Added, enabled all found layers, left 3857 CRS and it works well. Hmm maybe you may try to delete Locus/cache directory, just for sure, there aren't any cached tiles from the old version.
- Official help (ideas, questions, problems): help.locusmap.eu
- Advanced topics, sharing of knowledges: you're here!
- LM 4 Beta download, LM 4 Release download
  •  

john_percy

Quote from: menion on May 02, 2019, 16:12:33so hiding and showing points back solved this problem and now it's fast as before? Good to hear. It may be then small slowdown caused by automatic map loading I found yesterday. So hope it won't repeat with next Beta version.
It's working fine now, thanks.
Voluntary and Velocity themes - https://voluntary.nichesite.org
  •  

michaelbechtold

Quote from: menion on May 02, 2019, 16:12:33
@michaelbechtold
"I prefer that every user has his/her own say adn choice" > you already made a choice when you created these maps. There also was no setting in Locus Map to rescale map labels and you decided to create them a lot bigger than are in almost all other online maps!

So what I offer, is to create a new map with the included parameter, that will say to Locus Map "scale this map only to 50% compare to other online maps".

I made a choice in the past indeed, and it more or less worked for all Apps and all devices. With the new Locus approach there is a FACTOR of 4 that breaks everything, and it triggered a more fundamanetal rethinking :-) Anyway, I do not want to fight philosophy battles.
And your proposal should do the job, although I do not exactly understand the mechanics (will 50% be hardcoded in Locus ? Will it be a parameter for the world maps ?).

TXs and cheers
Michael
  •