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ā¦