Worldwide routable Garmin maps: URL REMOVED

When talking about ‘tiles’ in reference to garmin.na1400.info I almost always mean the blue squares on the map, as they are the Garmin image tiles that combined represent a Garmin map of the world. I’m not referring to the PNG image tiles as used by the slippy map on www.openstreetmap.org.

I don’t agree. Take the Russian/Chinese border for instance. If I would render the tiles that cover both countries with a cyrillic language, then the Chinese would be angry and the other way around the Russians would be angry. So when a tile covers two language areas that cannot be represented with a single code-page then there is a problem. That is why I choose to render everything with Latin1 character set. I leave it to locals to render maps in the local language.

The layout is the way in which the blue squares are arranged and which number they have. With my current setup in render tools these squares and accompanying number can dramatically for a specific area between each render.

Yes, but I don’t know if or when it will be possible to create tiles like that.

I could do that, but I won’t because of what I earlier wrote about tiles that cover multiple countries with non-matching code-page languages.

I’m not sure that Mkgmap adds the ? or that the GPS device puts them in place. I’m sure the Mkgmap development community is thinking (or has done so) about how to fix this. I bet it isn’t possible or easy to do because it would be in place if it would… Sorry this is a bit of a short answer, but I’m not going to manually correct code-pages each week as I don’t want to spend my time on that.

I don’t know how you are going to get the translated name but just as a precaution: You are not allowed to import data from Google in to OpenStreetMap without their approval! I cannot emphasise that enough. Google data is copyrighted and OpenStreetMap violates their copyright if you import it into OSM and you can bring the project into serious trouble if you do that.

Besides, why introduce a new subtag for this? I think perhaps the international name could be used for that…

If you don’t want to use JOSM or any of the other existing editors then you will have to use the API directly.

What is your plan exactly? Are you going to translate every cyrilic placename to something that fits the Latin1 characterset? How do you want to do that? And are you aware of the Garmin maps specifically generated for Russia and other regions?

Ok. Your tiles are the big areas choosable on your site. You cannot do much then.

As I told in my first post the ???'s are in the .img files downloaded from your site. (open a russian one in wordpad, scroll a lot down and you will see them). So it is a mkgmap issue. I once read somewhere that mkgmap would transliterate when appropriate and possible. But apparently it does not here.

The goal is to transliterate a cyrillic name. Not to translate it. To translate a name you need a dictionary. For transliteration only a small table (26 characters or so) to substitute a cyrillic character by a latin one. I have no dictionary for russian placenames. So transliteration is the one. I cannot put a transliteration in an int_name or name:en as it is not as such. So there has to be new tag.

About other russian mapmakers. Cloudmate is nice but not routable. I had already looked on the page you indicated but found nothing suitable.

So I want to write a program using the API to retrieve all the nodes with ‘place’ and add a transliteration if needed.

A node of a ‘place’ like following is ok as there is a ‘name:en’ tag.




The following node has no int_name and no name:en.













So I would like to add a name:trans.













<tag k="name" v="Жуково"/> 

should read

and transliterated

That all can be automated.

At the moment I can already drag a rectangle on the map and download all the osm data for that area in little pieces. Investigate the nodes and add a transliteration tag if needed. I can put everything -nearly- ready to be uploaded. (well I’m almost finished). The only thing I did not do is upload a change or changes.

Ok, I understand now. Maybe the name:trans tag should be name:latin for clarity? And would it be a possibility to post this on the Mkgmap mailinglist and see if the problem can be fixed in the Mkgmap code?

That is the better aproach. Where should I do that? Sorry I dont know all doors yet.

Of course it could be name:latin. But there is much more in it.

A transliteration in Englisch looks different from one in German already.
So it would be name:trans:en and name:trans:de.

But now that I made some runs it looks as if your idea to put the transliteration in name:en or int_name is not as bad. ;-).

For an area in the Ural I get these transliterations: ( On the left the placename in cyrillic. If you don’t see normal cyrillic than change charset of your browser. On the right the transliteration english style ( I think))
Белянка >>> Belyanka
Нязепетровск >>> Nyazepetrovsk
Верхний Уфалей >>> Verkhnii Ufalei
Дружный >>> Druzhnii
Шутихинское >>> Chutikhinskoe
Осеево >>> Oseevo
Заречье >>> Zarets’e
Майский >>> Maiskii
Каргаполье >>> Kargapol’e
Долговское >>> Dolgovskoe
Бакланское >>> Baklanskoe

The name of the tag where to put this in is not important for my program. I try to finish this program without actually uploading anything. Meanwhile I will look at the mkgmap group.

Now I will make a run as to see how many places in Russia need an english translation/transcription.

This is the contact page for Mkgmap.

Thank you Lambertus for the link.

Yesterday I quickly draw a rough 'frontier’line for the Russian Federation. Then there were 44.666 0.25 sized bboxes to be retrieved. After every call and investigation of the result the pogram pauses for a second. That alone counts for more then twelve hours. This morning about one third was done.

Result. 7131 places already with english translation. 14787 to be translated/transliterated. (Two/third has to be done yet.)

I now save the node id in the to do list. The next run I can use it for direct retrieve.

203909926 Полынянка >>> Polinyanka
203911459 Поротниково >>> Porotnikovo
244520275 Новоильинка >>> Novoil’inka
244520330 Гусевр >>> Gusevr
244521077 Новороссийский >>> Novorossiiskii
244521160 Новоказанский >>> Novokazanskii
186978122 Володино >>> Volodino
244520884 Новопокровка >>> Novopokrovka
244521023 Новорождественский (нежил. >>> Novorozhdestvenskii (nezhil.
244520083 Подоба >>> Podoba
244531619 Новокусково >>> Novokuskovo
244531680 Казанка >>> Kazanka
244531718 Старокусково >>> Starokuskovo
203993036 Большедорохово >>> Bol’shedorokhovo
203994082 Воронино-Яя >>> Voronino-Yaya

I’ve consulted the irc channel on this issue, they told me that most renderers internally make the same conversion that you want to do for Mkgmap, but without uploading the results to the database. So the recommended solution is to fix this in Mkgmap instead of in the OSM database.

Thank you for the effort.

I will first finish my program. I think I can do more with it. Then I will go to the mkgmap group.

My aim is to leave with readable maps in my navigator the next time I leave for Russia.

These places have no english tags.
400691183 форт Кроншлот fort Kronshlot
411691832 Ломоносов Lomonosov
83087798 Петергоф Petergof
235967510 Сестрорецк Sestroretsk
244216001 Лисий Нос Lisii Nos

mkgmap is kinda prepared to do transliteration for you. See this thread:
http://www.mkgmap.org.uk/pipermail/mkgmap-dev/2009q3/003808.html

Cheers
Colin

From how I read that thread: it’s difficult to determine automatically which transliteration table you should use.

So ultimately I wish we could automatically transliterate from Japanese, Indian, Malayan, Greek, Russian, Chinese, etc to English so a readable map for the whole world would be possible… Dunno if this is possible at all, my searches all lead to transliteration from a specified language to English instead of language detection…

I found this page which seems to do a pretty solid job and is using Java, although I cannot find any source code. Perhaps a good starting point for Mkgmap? Or this python solution.

Google translate does a fair job. I entered “น้ำไหลลงเขา” and told it to detect the language and translate to English. It came up with “Water flows downhill.” Google detected Thai and translated correctly.

So, the technology exists.

I’ve also noticed the last 3-4 updates have not reflected any of my changes in Ireland.

For example:
http://osm.org/go/es96wQgVz-

I added a number of bus stops and service roads in car park on Sept 19th.
http://www.openstreetmap.org/browse/changeset/2536911

Are Ireland tiles 63240087.img 63240088.img generating using old data somehow?

Thanks

My program to add a missing name:en or name:trans:en or whatever tag works. As a test I let it handle less then ten nodes in a changeset. All worked ok.

Now to be sure that only places which are in a selected country are handled I need a borderline around the area.

Hmmm… that can be found in OSM data. So I wrote a module that collects the ways representing the border. Starting with a relation id recursively retrieving other relations, ways and nodes. Then build a .gpx file. All took quite a while on 60189 (Russian Federation). So I tested on smaller countries like 102879 Austria, 161033 Mongolia.

For Austria got a lot of ways. And they ‘lay on the frontier’. Ok so far. But the ways are in random order. The next way does not start where the former stopped. To make things worse the direction of the ways is not consistent. Most are from east to west (for the frontierline Germany/Austria). I need a closed curve of a country to determin if a “lat,lon” is inside that country. So work is now on sorting the ways and revert them if needed.

Until now I had no look at mkgmap because all this takes time. It is nice to see that others react. I will study all links later.

There is another solution if mkgmap cannot handle the transliteration. Mkgmap works on raw osm data I read. Those are the data files in xml format. My program (well another version) could add the missing tags to those xml files.

I checked after the date changed to 7/10/2009 also but all the roads I added in the Philippines were not showing. Maybe next time.

No, all tiles are rendered using the full planet dump from the date that you see in the website below the map.

You can find country polygons on the Cloudmade website.

I posted a question about this on the Mkgmap mailinglist but did not get any response so far.

So it indeed seems like there are two options: upload the transliterated tags with name:trans:en or preprocess the data each time a new update is performed. But I’m afraid that preprocessing the entire planet file on each update will take a very long time.

Besides that, you are only transliterating cyrillic languages, there are so many more languages that need transliteration. Maybe this needs to be discussed on the main OpenStreetMap mailinglist…

I just noticed the date changed to 14/10/09 so I tried a download again. All the roads I added are still not showing. Maybe I added the tags after 14/10/09.

I checked also the 14/10/09 map update for my area and I was wondering even changes from end of September does not show up.

Hmm, a pattern starts to emerge here. Maybe it’s a bug in my build chain… I’ll pay a closer attention to file versions etc in this weekends update.

The easiest way to find out is to see if the changes are visible in Potlatch…if they are, then there’s a problem on Lambertus’ end. If they’re not, then the problem is at Skywoolf/reinholdM’s end.

Yes the changes are there in Potlatch and in JOSM but not in the downloaded map.