I just started using OpenStreetMap, I am not an advanced user, I just want OpenStreetMap to replace Google Maps in my daily geographical searches. I would like to display the map from the main website using the English names everywhere. Is it possible via some easy manipulation not involving javascript and such ? asked 18 Nov '17, 09:24 vkubicki |
You are (currently) out of luck (the question is btw a FAQ), what you are seeing on the website when you select the standard style are images that are stored as individual image files. There is simply nothing to manipulate to start with. Naturally it is quite possible to generate a map with English names from OSM data, if you look at the cycle map layer you for example will see English names everywhere we have them in the data. That was the short version, the long version is, yes there is technology available that moves the rendering of the map images to your browser, which gives a lot more flexibility with such things. I wouldn't wager a bet on when we will switch or provide such functionality in parallel to the current system. The other point is that the infrastructure at openstreetmap.org is geared towards supporting our contributors and from that point of view it makes a lot of sense to show the local names. answered 18 Nov '17, 23:40 SimonPoole ♦ OK thank you. I understand the problem, but maybe rendering one local and one all-English map could be useful.
(19 Nov '17, 01:59)
vkubicki
2
There may be third party websites or desktop programs that can render an English-only map, using the OSM data.
(19 Nov '17, 02:20)
dsh4
1
You can take a look at Tiles in the OSM wiki, mapstyle.petschge.de, Leaflet Provider Demo and Map Compare for various OSM-based maps. Some of them have all-English names.
(19 Nov '17, 09:17)
scai ♦
3
@vkubicki For the avoidance of doubt, the OSM website currently renders 4 maps, 2 of which render English names.
(19 Nov '17, 09:57)
SomeoneElse ♦
@SomeoneElse: are there url to reach those renderings ?
(02 Dec '17, 10:41)
vkubicki
3
On http://www.openstreetmap.org/ click the 4th button down at the right-hand side. It looks a bit like a stack of books, and there's a tooltip that says "layers". The Cycle Map and the Transport Map show names in English as well as the local name. When you select e.g. the Cycle map you'll see the URL change to to something like http://www.openstreetmap.org/#map=10/39.9066/115.9799&layers=C so that when you send that link to someone it loads the cycle map for them too.
(02 Dec '17, 14:09)
SomeoneElse ♦
Yes,you just need to add "&layers=" with C, T or H at the end, for example with Beijing: cycle map: http://www.openstreetmap.org/#map=8/39.802/116.112&layers=C , transportation map: http://www.openstreetmap.org/#map=8/39.802/116.112&layers=T , humanitarian map: http://www.openstreetmap.org/#map=8/39.802/116.112&layers=H
(03 Dec '17, 04:37)
kocio
@SomeoneElse Yeeeess, it still works. I finally get the answer to a question that has bothered me for years. A bit convoluted though.
(01 Nov '22, 11:39)
MaxDLN
showing 5 of 8
show 3 more comments
|
If you like the standard style and you miss only the English labels, you can use this service: [edited to not include the link to a map] It uses slightly modified osm-carto code, so it's possible to set your own service with localized names in any other language, if you have the skills to deploy OSM maps rendering infrastructure: https://github.com/giggls/openstreetmap-carto-de/tree/upstream+l10n answered 26 Nov '17, 03:06 kocio 1
Unfortunately your answer gave the intention to a lot of people, that this server is a free service for third party maps which it never was! This causes a lot of trouble in recent days :( Please do not use this server for any commercial project. I will be able to make an exception for non-profit stuff, bit this is not a free to use service so do not use it but set up your own server instead. Among others Geofabrik is providing this map style as a commercial service. Regards Sven
(19 Aug '19, 14:28)
giggls
|
If you do want names displayed in English on those tiles in the osm style, there is a new project osMap that shows tiles with English labels (amongst others) using transscription if no English name tag is available. It's also optimized for faster tile-loading speed depending on where you are right now: just use
Some more European versions (French, Spanish, Italian, German, Dutch and Danish) can be found via www.osmap.info. As several people have asked: Access to the English tiles (as well as the Spanish and French) can now be obtained through MapTiles API. answered 28 Nov '19, 22:00 Spiekerooger |
This solution is working for me. In the *.mml file, wherever there is a SELECT ... name ... statement, I replaced name with the following.
This is rendering name of entity in local language with English in Roman Alphabet in parentheses below the local language name. Two items to note: If the SELECT ... name ... is selecting name as a list of fields being selected, and name has a comma after it, the CASE statement needs to have that comma after it. If name is at the end of the list of fields and has no comma, the CASE statement needs to not have a comma after it. Second item, the CASE statement is evaluating tags->'name:en'. Therefore the FROM part of the SELECT statement needs to be evaluating the tags field in the table. In the default project.mml file, some of the SELECT statements FROM parts are querying a subset of fields in the table "(FROM (SELECT...". If you want to evaluate the tags->'name:en', then you need to add tags, to the "FROM (SELECT" part of the SELECT statement. answered 09 Dec '19, 16:18 Richard Haimann 1
While such an approach would basically work it does not produce good results. I would definitely recommend using my l10n code at https://github.com/giggls/mapnik-german-l10n instead. BTW I decided against parentheses a long time ago as this produces more hassle than good IMO e.g. in right-to-left scripts. I now use Newline instead.
(09 Dec '19, 16:29)
giggls
|
I ended up going with osmand + scrcpy because every other solution had major drawbacks imo (qgis doesn't work with mapillary, couldn't figure out a custom api endpoint in josm with an api key, osmap.us doesn't have same capabilities as osm.org), mapillary (website) doesn't have a distance scale. answered 08 Aug '22, 18:12 Hs5DBg5d5iXJ |
While you've gotten the correct answer already, but I would like to point out that while it is local names that are displayed with the default rendering, English names are in the database, and are searchable.
For example if I search for "Beijing", the first result is the what you'd expect, the capital of China. The result is displayed in English. If I click on it, I get all the tags on the Beijing. This includes well over 100 names in different languages. On the map it is written as "北京市", but in the sidebar all those different languages are displayed.
While this is a bit of an extreme example, it allows maps to be rendered in different languages.
Multilingual data is viewed as important to OSM, and the prominent local names, the non-English names (often written in non-Latin alphabets) is only one manifestation of that.