Registered Member
|
Hello. I have a computer that's not connected to the internet, and I have a map that is tiled according to OSM specs but is not online. How would I got about creating a map using this information? To the best of my understanding, the .dgml files have two ways of working: from an installmap, and from a tile server. I have neither, so I'm uncertain how to proceed.
I would appreciate any advice! |
Registered Member
|
It's worth mentioning that my tiles do not cover the entire planet; I'm okay with the rest just being black (which I assume will be the case?).
|
KDE Developer
|
It shouldn't be a problem if you specify an invalid (or no?) tile server with the data being present on the hard disc already. it's also no problem if some tiles simply don't exist as long as the level 0 tile does exist.
Any more questions? |
Registered Member
|
Ah! This may be the problem I'm having. Basically, I have map sections only at very high zoom levels (e.g. 18). I don't have a level 0 tile, which may explain why I can't seem my high zoom tiles either, even when I zoom in super far. Can I get away with making just a black level 0 tile? Then even skipping zoom levels will be okay? |
KDE Developer
|
IIRC Nowadays this should work indeed. Personally I'd recommend to write a script that would create the remaining levels.
With graphics magick installed it should work about like this: Basically this script takes the input path as a first parameter where the higher level tiles are located, the input level (e.g. 18) tells the input level. And the Output path is the path where the next lower level (e.g. 17) should get stored. XSTART allows you to start at a certain x-position (in case you need to restart the script due to errors after partial completion). I forgot what the -s OPT parameter did exactly. Calling this script multiple times will bring you down to level 0 eventually. USE AT YOUR OWN RISK!!! Beware: I haven't tested this code recently and it contains enough "rm"s to be cautious!!!!!
|
KDE Developer
|
Oh and btw: the previous script assumes Mercator projection ( = number of tiles in vertical and horizontal direction are equal). I guess that is the case for you.
|
Registered Member
|
Thanks for all your help Tackat.
Unfortunately, my map section is 2:1 instead of 1:1, so I'm trying to not add all zoom levels and see if I can skip from zoom level 0 to zoom level 18. Adding the two tiles under zoom level 0 works, but when I zoom to high levels toward the equator, instead of showing my zoom level 18 tiles that I put there (using these formulas but naming in the marble convention of zoom/x/x_y.jpg: http://wiki.openstreetmap.org/wiki/Tile ... .2FC.2B.2B), it starts garbling up the level 0 tiles. I'd love to upload it and show you... it's rather tiny. But I don't know where to upload it. Help? |
Registered Member
|
By the way, I want to make sure you know I'm creating a standalone Qt tool to generate map sections like this. As soon as I get the kinks worked out I can see this functionality being super useful in Marble. Imagine multiple installmaps, with a corner lat/lon and a width/height in meters, with tiles automatically generated where they're supposed to be. Eh?
|
Registered Member
|
Wait, wait! It does work! But for some reason, when I use the actual standalone Marble, trying to zoom far enough to see the zoom level of 18 segfaults. Using the Marble program I wrote, I can zoom far enough to see them! Yay! But... why does Marble crash?
|
Registered Member
|
Okay so I was a little too optimistic... something strange is happening with the tiles.
For example, my tileXs start at 131072 (they go to 131084). Inside the 18/131072/ directory I have a file named 131072_131065.jpg. However, when I turn tile IDs on on my Marble widget, 131072_131065 is a shrunk version of one of the 0 tiles instead of my 131072_131065.jpg. Also, several of my tiles are displayed with the tile ID showing the X being 131071. I don't even HAVE that column in my tiles! What's going on? How are my tiles being displayed in the wrong spot? |
Registered Member
|
Gahh! I named them all backwards! Reference: http://blogs.kde.org/node/3269
OSM has zoom/x/y, so I glanced at the reference and read zoom/x/x_y-- why would it be different. Of course, it's actually zoom/y/y_x . Works great now other than Marble crashing! |
Administrator
|
Do you have a backtrace (generated using gdb) for this crash?
It will be fairly hard to debug it without a backtrace.
KDE Sysadmin
[img]content/bcooksley_sig.png[/img] |
Registered Member
|
Here you are:
|
Administrator
|
Please file a bug report, including that backtrace, at bugs.kde.org so the marble developers can investigate when they get a spare moment.
KDE Sysadmin
[img]content/bcooksley_sig.png[/img] |
Registered users: Bing [Bot], claydoh, Google [Bot], rblackwell