I post here because the used tile comes from his site. But thanks for the suggestion…
Not me. Today I combined some code which I use in my splitter to split osm data according areas defined by .gpx files or tileareas as defined in your world.klm file. A list like following comes out:
Ha ha. Oversaw something. Not all tiles are listed. 63240498 is not listed as it’s square is inside the nederland.gpx. Only tiles are listed which contain ‘border’. But I could add some code though…
I could do that, but I also create a zip specifically form QLandkarte: osm_routable_tiles.zip. Just wondering: Why are you using the gmapsupp.zip and not the tiles.zip?
Sorry, I have no clue about the cause. I regularly update to the latest Mkgmap though, which might fix but also introduce errors now and then.
Bummer, I don’t want to change anything in the default stylesheet. I hoped that the default stylesheet is some generic sheet that produces usable maps for any application…
Cool, well, it does somewhat the same as the code I already received. What I’m looking for is an XML or JSON file with that information based on e.g. country poly definitions like the ones from Cloudmade. That way new countries could be added quickly and it’s easy to generate the resulting XML and JSON file on each map update.
My code can handle a country poygon like netherlands.poly too. Does not mind if the boundary of a country is defined in a .gpx or .poly. You can add both types at the same time. So adding a country is easy.
But : how should the produced xml file look like? (I do not know JSON files). Like:
There are lots of ways how you can express that information in XML. I would like the one that is easiest to parse in OpenLayers, but I’m not sure which is…
netherlands
63455666
12345678
89765456
or
netherlands
63455666
12345678
89765456
In JSON this could be
var countries = [
{ “name” : “netherlands”, “tiles” : [ “63455666”, “12345678”, “89765456”]},
{ “name” : “belgium”, “tiles” : [ “63455666”, “12345678”, “89765456”]}
];
I’m pondering on a catchy name, but my imagination is not very active atm. Perhaps matchit (as in match-it, as in match poly lines with area definitions) in line with translit…
Use: place matchit in a directory at choice. Create a subdirectory named Countries and fill it with .poly and/or .gpx country polygons.
./matchit ./world.kml
Any preferene for hardbaked output file names or would you use second parameter for it or all without parameters (assuming world.kml in same directory)?
Perfect. Is the subdir name case sensitive? (better not)
Parameters are preferred, as the toolchain evolves. So I’d favor an input file and an output filename parameter. The matchit program will not be in the same directory where the input and output files should be.
It will be case sensitive. But if you want a lowercase ‘countries’ its ok.
It can output two files at once but I will change that.
What about:
./matchit iinputfilename outputfilename
The inputfilename is assumed to be a file like world.kml
If there is ‘xml’ (lowercase) somewhere in in the outputfilename it will create the xml format. Else the json format.
If (in a GUI) a file world.kml is dropped on matchit or (in a console window) is typed:
./matchit world.km
two files are created in the same directory as world.kml
world.kml.matched.xml
world.kml.matched.json
if you type
./matchit inputfilename outputfilenam
only one.l (If there is ‘xml’ (lowercase) somewhere in in the outputfilename it will create the xml format. Else the json format.)
Thank you, I’ll start testing it and adapt the website to accept the country definitions.
Edit:
I’ve started working on the website. One of the changes is a new method of loading the tile definition KML file which dramatically reduces the loading time (13 seconds for the current version vs 1-2 seconds for the new dev version). I do seem to run into a bug in OpenLayers where the style of vector feature is lost on zooming (so you can’t see which tiles you’ve selected once you zoom in or out). I hope to be able to work around this.
Greencaps, I do have another feature request for matchit: Can the country polys be placed in subdirectories who’s name is also used in the resulting XML (You can drop JSON support, I don’t think I’ll be using it)?
e.g. countries/Europe/Netherlands.poly
translates into:
<?xml version="1.0" encoding="UTF-8"?>
(the tile name tag could be filled in some other day (each tile has a name according to the biggest city it contains)
As I envision it now, each continent will translate into a pulldown selection box in the website (so there will be about 6 pulldown selection next to each other above the map). This should allow users to quickly select their country.
Thanks for letting me know, I’ve gone back to the previous release of the 20th. I have updated Mkgmap for the latest release which probably contains a bug or I need to reconfigure).
What happens if you add --latin1 as a parameter for Mkgmap?
BTW, I’ve committed a new version of the website which reenables the country selection again. This time the country selection is dynamically configured so that it works with each new map release. Thanks to Greencaps for providing the matchit application. I’ll expect to add more countries in the coming days
Thanks, I assume this was a one off update then. I’ll upgrade to the latest Mkgmap Thursday (when the next update is started).
Edit: The server disk was full again. I’ve cleared the failed renderings, so some of you might get a 404 error when trying to open the link in the email… This time I’ve also changed the combine script so that it backs-off if the disk is too full. This will result in delayed renderings instead of failed renderings. I hope y’all don’t mind sometimes to wait a bit longer until the disk has some space again…