Also I think it's very important to continue providing Maven support, as there are many who do not migrate to Gradle build system.
Ludwig I may complement at the Wiki if there are more things / features to describe for the new release.
--
You received this message because you are subscribed to the Google Groups "mapsforge-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapsforge-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mapsforge-dev/542FBBF9.5040101%40gmail.com.
For more options, visit https://groups.google.com/d/optout.
I'm thinking what we should do with Osmarender theme.
Unfortunately we don't have a new one ready for integrating it into 0.5 release.
How about modifying a bit the existing v3 theme?
In Cruiser / Atlas I already provide Osmarender modified with some v4 features, most notably the replacement of 'dy' with 'position' tags.
Additionally in Cruiser I use svg icons in Osmarender, but that's probably not advisable here as mapsforge is used also in Java.
As a side note we should add SVG support in Java too.
It will be far to easier for building SVG themes if there is the possibility to test them in desktop, directly without having first to convert svg to png.
I will look at fixing maybe a few more code quality violations, but most importantly write a bit more documentation on the new features.
So far I only read this page https://code.google.com/p/mapsforge/wiki/RenderthemeV4I was convinced that it was possible to fit an SVG pattern "n" times in a tile, but if I read correctly the only option is to have it fill the whole tile. Is this right?
I don't know if Cruiser/Atlas beta have been already updated with the RC
On a side note in Atlas-Beta-1.1.20 on Win 7 64bit I have severe problems of tiles disappearing in random fashion, during/after panning. Atlas-Beta-1.1.6 doesn't have the problem. Cruiser works, so I think this is not a problem with the library.
Well, it depends from the point of view. Having a single big tile means you have more space to randomize the pattern, avoiding the obvious repetition effect that most simple patterns suffer from, that's good for sure. There are however drawbacks and missed opportunity.The drawback is size. The average size for my patterns is 64x64, which means that to keep the current look I would have to repeat that 64 times to fill a 512x512px tile. The SVG file size, just like the cached rendered copy, grows accordingly. Multiply that for the number of patterns, that's gonna be heavy.
The missed opportunity is scaling patterns with a single file. Currently almost all of my patterns have 2 or 3 sizes to make the graphics grow with zoom level, keeping a bit of proportion with other stuff. If I recall correctly Tobias started doing the same a while ago. Right now this means supplying separate files, with SVG we could use only one file just changing the number of repetitions according to the zoom level.
Moreover we now have the variable tile size to account for. Moving to SVG is much more needed for patterns than for symbols, from this point of view. With 0.3 it was easy, you just had to divide 256 for any integer to get the right size. With 0.5 you don't know the final tile size, so with bitmaps you can never be sure that you end up with a seamless pattern.
Since I had myself forgotten about half of this, I have added it to the wiki at https://code.google.com/p/mapsforge/wiki/RenderthemeV4
--
You received this message because you are subscribed to the Google Groups "mapsforge-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapsforge-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mapsforge-dev/54357043.70001%40gmail.com.
This is already supported as it is possible to set a tile size multiple, e.g. 64, that is then used as the size for rendering SVG files (defining a fixed multiple means that only tile sizes that are a multiple of this number will be used when calculating the tile size, e.g. if the strict calculations would arrive at a tile size of 268, using the fixed multiple means that 256 will be used. This avoids the problem that otherwise we would have tile sizes that we cannot scale into (no subpixel rendering)).
SVG tile sizes do not actually have to grow linearly with the amount of data rendered in them as you can and should reuse elements. This works correctly in the new SVG library we are using, e.g.
The missed opportunity is scaling patterns with a single file. Currently almost all of my patterns have 2 or 3 sizes to make the graphics grow with zoom level, keeping a bit of proportion with other stuff. If I recall correctly Tobias started doing the same a while ago. Right now this means supplying separate files, with SVG we could use only one file just changing the number of repetitions according to the zoom level.I think at this point you miss the goal of varying tile sizes. Varying tile sizes are used to keep the physical size of a tile (in cm) roughly the same regardless of device resolution. So the user perception should be about the same if he sees a 256 tile on a low res device or a 768 tile on a high res Nexus 5. So you should not actually change repetitions of symbols if you have a higher tile size as they will then simply become too small to be visible.
On a side note in Atlas-Beta-1.1.20 on Win 7 64bit I have severe problems of tiles disappearing in random fashion, during/after panning. Atlas-Beta-1.1.6 doesn't have the problem. Cruiser works, so I think this is not a problem with the library.
Can you tell us the monitor's resolution and the size of the Atlas window (i.e. is it full screen) ?
It's 1920x1200. But it always worked well.
Il giorno mercoledì 8 ottobre 2014 17:37:26 UTC+2, Ludwig ha scritto:This is already supported as it is possible to set a tile size multiple, e.g. 64, that is then used as the size for rendering SVG files (defining a fixed multiple means that only tile sizes that are a multiple of this number will be used when calculating the tile size, e.g. if the strict calculations would arrive at a tile size of 268, using the fixed multiple means that 256 will be used. This avoids the problem that otherwise we would have tile sizes that we cannot scale into (no subpixel rendering)).An external theme developer has no control on this, AFAIK.
SVG tile sizes do not actually have to grow linearly with the amount of data rendered in them as you can and should reuse elements. This works correctly in the new SVG library we are using, e.g.This is "clones" in Inkscape lingo. It can be done, but it's mostly a pain. In any case a pattern should not have repetitions in itself, it's just against the basic idea of a pattern.
The missed opportunity is scaling patterns with a single file. Currently almost all of my patterns have 2 or 3 sizes to make the graphics grow with zoom level, keeping a bit of proportion with other stuff. If I recall correctly Tobias started doing the same a while ago. Right now this means supplying separate files, with SVG we could use only one file just changing the number of repetitions according to the zoom level.I think at this point you miss the goal of varying tile sizes. Varying tile sizes are used to keep the physical size of a tile (in cm) roughly the same regardless of device resolution. So the user perception should be about the same if he sees a 256 tile on a low res device or a 768 tile on a high res Nexus 5. So you should not actually change repetitions of symbols if you have a higher tile size as they will then simply become too small to be visible.No, I know exactly the goal of varying tile sizes. In fact if you re-read you will notice that I don't want to change the repetitions according to tile size, but according to *zoom level*, it's stated two times and I'm already doing this using multiple files for the same pattern. The reason is that in most cases if you draw a pattern that looks good at ZL 16 it will look grossly oversized at ZL 14 and ridiculously small at ZL 20. The solution is simple: fit it 7x7 times at ZL 14, 6x6 times at ZL15, 5x5 at ZL 16 and so on. A *single* SVG file would scale beautifully, if you can control the number of repetitions. But you can't, either you blow it up to tile size or you have to supply a precise size that will not be seamless. So the solution with 0.3 is to have multiple files, and the solution with 0.5 is... the same.
--
You received this message because you are subscribed to the Google Groups "mapsforge-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapsforge-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mapsforge-dev/5436B8E7.8080903%40gmail.com.
I have just committed a change to 64. I think it is a good number for area tiles (not too small, not too large).
--
You received this message because you are subscribed to the Google Groups "mapsforge-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapsforge-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mapsforge-dev/54378213.1010600%40gmail.com.
What do you think?
Thanks for the feedback Maki, I'll investigate it more.
What Java are you using, 32bit or 64bit and what version (7 or 8)?
If you're using 64bit Java, try also with 32bit (beware the full path of the java.exe).
What do you think?
7) "Explicit width" only sets symbol-width and doesn't work. At least I would expect it to scale the height proportionally, but it doesn't and everything is painted very small. Bug?
So, problem solved? I don't know. In most cases by all practical purposes it's possible to seamlessly repeat a pattern "n" times in a tile. But I wonder what happens if the app fixes the tile size (Oruxmaps for example). Is the device scale factor applied? I have this doubt because I've seen odd behaviors on Oruxmaps, in particular on an GS4 the line widths (in pixels) were larger than on a Galaxy Nexus, while the length was shorter due to the fixed tile size (512 px). Can someone test this?
Maki,
The suggestion with an absolute reference point makes a lot of sense. The absolute ref point would be 0,0 and we would just have to calculate how many times we are away from that point. The tricky bit will be manipulating the paint to conform.
I will investigate later today.
Ludwig
--
You received this message because you are subscribed to the Google Groups "mapsforge-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapsforge-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mapsforge-dev/543A4E8C.4070600%40gmail.com.
Layers are combinations of categories that can together be toggled on and off. In general, categories are not visible to a map user, but layers are. To make layers more user friendly, they can be named with the name tag in various languages.
So, problem solved? I don't know. In most cases by all practical purposes it's possible to seamlessly repeat a pattern "n" times in a tile. But I wonder what happens if the app fixes the tile size (Oruxmaps for example). Is the device scale factor applied? I have this doubt because I've seen odd behaviors on Oruxmaps, in particular on an GS4 the line widths (in pixels) were larger than on a Galaxy Nexus, while the length was shorter due to the fixed tile size (512 px). Can someone test this?
The fixed tile size is independent of the elements scale calculations e.g. symbols .
The device scale factor is always applied to the values metrics.
BTW, I agree with Klaus, the map-style menu should be more accessible than the theme chooser, I think it is supposed to be used more.
The fixed tile has very specific uses, such as raster maps (where the scaling needs not adjustments).
Now for change it and affect the scaling, let's wait also for Ludwig's thoughts.
About the map styles, I have not managed to use properly the 2nd test.
Yes there is need for correcting the xml, but even after that I remember seeing only empty white map.
My worry was that the 256/N trick for patterns was going to break, but since it isn't needed any more... problem solved.
Maybe your map hasn't the sea?
One note about the map-styles. There should be a check for the default layer to make sense. If you look at the second pattern test that I posted you'll see that at the first opening the three styles in it are drawn each on top of the other, because I misspelled the default name. Since layers are meant to be mutually exclusive drawing one on top of the other should be avoided at all cost. I'd rather have a blank screen, at least it's immediately obvious that something is going wrong.
--
You received this message because you are subscribed to the Google Groups "mapsforge-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapsforge-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mapsforge-dev/543E2EB7.8070801%40gmail.com.
I have just pushed a change to dev that uses the aspect ratio if only one of width or height are set in the rendertheme. I agree that makes sense and makes styles easier to write.
Ludwig have you pushed also at GitHub (I don't see it) ?
--
You received this message because you are subscribed to the Google Groups "mapsforge-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapsforge-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mapsforge-dev/543E3E19.4060403%40gmail.com.
The point is that a tile should look the same at every dpi, fixed or variable. In other words a 768px tile should be identical whether if generated because of automatics tile size or fixed. And the same tile generated at 768px when downsampled to 256px should should be "identical" to one generated directly generated at 256px. On any device.
--
You received this message because you are subscribed to the Google Groups "mapsforge-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapsforge-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mapsforge-dev/543E3FB0.2070608%40gmail.com.
For setting the scale factor through a fixed tile size, yes, it should also work that way around, it is just nowhere on my list of priorities and I dread the can of worms we will be opening again.
It is usually best to send me screenshots to illustrate a problem.
--
You received this message because you are subscribed to the Google Groups "mapsforge-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapsforge-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mapsforge-dev/543E4743.9060407%40gmail.com.
Do will still want to set a tile size multiple of 64? It is technically not needed anymore, the only advantage being more predictable tile sizes.
> I have looked also what happens here, where we had the misspelled 'defaultvalue'.
> In that case the returned active categories set is empty/null (handled by the app).
> From the source I copy the way we handle the various cat cases:
> "a rule is visible if categories is not set, the rule has not category or the categories contain this rule's category"
I have not had time to look into this in detail, but I think the
behaviour is correct.
The reason that we display everything if the categories are not set is
to support older render themes or render themes that do not have any
styles. So if nothing is set, everything will be displayed, like
before.
Some more testing this evening: using src on lines* shows seams at tile boundaries, if possible the same system used for areas should be used. Test theme attached, it draws a crosshatching on primary roads from ZL 13.
I also tested a bit the priority on symbols, and didn't find problems.
Some more testing this evening: using src on lines* shows seams at tile boundaries, if possible the same system used for areas should be used. Test theme attached, it draws a crosshatching on primary roads from ZL 13.Thanks for spotting, I will add that.
The files to test:A test theme can be downloaded here https://app.box.com/s/39bj8ktmq62zf5xsjx8rI'm not sure it works with a standard Mapsfoge map, I used OpenAndroMaps. You need an area with forests and scrubs to test.
Remember that the svgs get cached, the samples app has in the menu something to clear the cache
--
You received this message because you are subscribed to the Google Groups "mapsforge-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapsforge-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mapsforge-dev/54CD369C.2060702%40gmail.com.
What do you mean?
I tested with "Tiling (Optimized SVG)" map style.
Maybe cannot write to disk? But then it should just rerender all the time.
Question really is what is special about maki's setup, it all works for me
--
You received this message because you are subscribed to the Google Groups "mapsforge-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapsforge-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mapsforge-dev/54CD3D4B.5090109%40gmail.com.
Yes the above zip works for me too.
Maki has the svg creation process changed and maybe we have compatibility issues with the svg lib?
Language setting ?
--
You received this message because you are subscribed to the Google Groups "mapsforge-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapsforge-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mapsforge-dev/e1fc4306-d0e3-4375-a755-e64772064004%40googlegroups.com.
Language setting ?
Maybe cannot write to disk? But then it should just rerender all the time.
Question really is what is special about maki's setup, it all works for me
Is the map file on desktop and on the mobile devices (with the issue) the same?
Maybe it's a map file without the tags for the forest defined in render theme?
For a log you need either to have installed the Android SDK for its Logcat or use a log viewer on the device (probably needs root from JB).https://play.google.com/store/apps/details?id=com.nolanlawson.logcat
c) reloading the map from the "tools" menu usually works fine in Cruiser, but it happened once that I had to rename the SVG file, because no matter what I did (reloading, switching maps and/or theme) it didn't see the changes I made.
Yes, the phone is connected to the PC, it's the only way I have to upload the files. I tried several FTP/WebDAV servers (mostly to be able to work directly on the files rather than continuously replacing them) but none worked reliably with Windows. It's better with OSX, but that's at work.