Yes, the idea is to automatically generate a list of tiles that cover a country based on country polygons and the tiles that have been generated during each update. But I haven’t had much time to work on this. Someone already has provided some code for this though.
Don’t expect the automatically generated tiling system to adhere to sea or country borders anytime soon (maybe never, but it depends on how the Splitter tool develops in the future). The tiles will be spread ‘randomly’ across the globe as they are now. I know some people would like the tiles to ‘hug’ country borders, but I couldn’t care less about such a feature. If anyone want’s that kind of map then they’ll have to look elsewhere.
I’m having an issue the OSM map. It was fine until a month or two ago (early December?).
I have Garmin Colorado 300.
When I have the OSM map loaded, I need to turn off the DEM basemap, else I cannot see any geocaches (.gpx file) or my own POIs (loaded with the Garmin POI loader).
If I turn off or remove the OSM map, I can see geocaches and my POIs fine with the DEM basemap turned on or not.
Questionmarks in Mongolia. They appear only when boundaries are involved. I see them with GPSmapEdit in Mongolia and the Russian Federation. I do not know where they come from. (A 60Cx shows them also)
These three items have not been edited since september so I expect them to show up ok.
All three have a name or name:en with english text.(It has nothing to do with transliteration)
Are you using the mkgmap default style? The relations style file was changed recently to add complex (and imho, ugly) labels. Try removing these lines from the relations style file and see if this removes the ???.
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.