ISO 3166-1 for OGF?

Posted by martinum4 on 25 April 2017 in English (English)

Hey everyone,

I was wondering if there is an OGF alternative to the ISO 3166-1 ALPHA2? So far i only discovered this, but that's only for languages. I think we need something like that, especially because otherwise one short code gets assigned to multiple countries, which would be quite unfortunate... My main reason for this inquiry is the fact that i want to try something out regarding the routing, but i want to implement it the right, non-bodged way and therefor need an unique country code.

Kind Regards


Location: Domäne Mittelhof, Grenzermarkgemeinde, Markkreis, Regierungsbezirk West-Westannex, Westannex, United Republic of Lapistan and Azurea

Comment from deltanz on 26 April 2017 at 00:04

We also have this internet codes.

Hide this comment

Comment from martinum4 on 26 April 2017 at 00:19

Yes, but these are not necessary "official" short codes, TLDs don't have to correspondend with these in any way, Lapistan and Azurea (.la) is a good example for that.

If you take a look at this search on the wiki you can see that some people already assigned short codes to their countries and i want that topic kinda cleared. Best would be to merge the list you mentioned with a future one for country short codes so there is kind of an all-in-one-solution.

Hide this comment

Comment from histor on 26 April 2017 at 07:40

Then set the "shortcode" in that list, if one is needed - please not always a new list.

Hide this comment

Comment from wangi on 26 April 2017 at 09:45

I think we should have the codes in the map data (the country relations) and then a query in the wiki...

Hide this comment

Comment from martinum4 on 26 April 2017 at 11:50

The best solution to that whole list-cluttering on the wiki would be an wikidata-instance IMHO. Only one central point for all the statistical country data and you'd just put references to that in the wiki, but that's another story...

Anyway, i wouldn't do a new list either, maybe renaming that TLD-List would be a good start, I'll try to make a new list with more information.

Hide this comment

Comment from mstr on 26 April 2017 at 22:13

why do we need more codes, more list, .... do they improve anything? If someone starts a new country, you will need almost two months to add your country to all of them (if you find them, you won't!), so no list will ever be close to completeness. In addition, my opinion is that more than 80% of all numbers in the lists (population, economic statistics, ...) are jokes (greetings from Picard), some countries do only exist in the wiki without any development on the map since years...

Hide this comment

Comment from martinum4 on 27 April 2017 at 00:31

I definitly agree with you regarding the finding of lists and filling them (That's why i said that wikidata bit). Also, I'm not talking about population or other statistics but about things that you actually use for mapping, like Telephone codes (In OSM always prefixed with international number), TLDs and internationally coherent/homogeneous Identifiers for countries and their administrative sub-units. As an example, Hesse in Germany is by ISO 3166-2 called "DE-HE".

In my case, the ISO 3166 Alpha 2 code is prefixed before the zone of traffic to determine min-/max-speeds, overtaking etc. That way you tag multiple access restrictions with just ONE combination. It is not that widely used in OSM yet, but that doesn't stop me from inventing such rules for my fictional country. See and for more information.

Kind regards


Hide this comment

Comment from histor on 27 April 2017 at 00:47

Indeed - a land like Zanyizzix has the wunderful code "zx" but nearly nothing in the wiki and nothing at the map. For what this code can have any importance?

So if anybody wants codes for something, the best way is not a new list hidden in the data-nirvana, but ONE list for all codes of a country. The List_of_country_code_top_level_domains can be the meduim for those codes. May be the list can get an other name (List if country codes or so) and the list is to move at the top of International information in the wiki.

Hide this comment

Comment from histor on 27 April 2017 at 07:24

Only to have "urban" and "rural" zones can not be the solution. Inside of the town-boundary can be streets of different max-speed. So it can be helpful for other mapper, to explain the conditions and the details you do imagine.

Hide this comment

Comment from wangi on 27 April 2017 at 09:30

I don't think including the country code within the map data is some sort of wacky data trick; it's just about not reinventing the wheel. For example see the Germany relation on OSM.

If the code is there then it can be simply added to the existing territory list and therefore be kept up to data as coutries are assigned or withdrawn. On the Wiki you have the challenge or keeping it up to date, "lost countries" and all that.

On the max speed - most simple option is to use the maxspeed tag on a road if you want it to have a specific speed limit. All the roads in Gobras City are now tagged like that.

Hide this comment

Comment from histor on 27 April 2017 at 11:11

I do not have any meaning, to tag all my roads with a hi-speed-limit only for the needed time at routing. There must be a more simply way.

And at last - all friends of routing have to declair, what tags they need ( may be in [] ). And therafter then all mappers can see, what is to work at the maps. And what is to work at areas, which are mapped since years. I think, nobody likes such work without any new creation. So please say it now and not in some months.

Indeed routing is a fine toy. But for the "normal" mapper it has to be claer, what he has do to for this feature.

Hide this comment

Comment from wangi on 27 April 2017 at 11:16

Really, the only thing which must be done is to ensure the highways are properly connected:

Unfortunately there are lots of roads in OGF where the mapper hasn't properly added a node at the junctions.

The rest is just tweaking to improve the route. It's not required, the default speed assumptions are pretty reasonable.

Hide this comment

Comment from martinum4 on 27 April 2017 at 14:42

Another Reason for an ISO 3166-Equivalent: International Collaboration. Imagine giving refs to foreign train stations (like railway:ref:DB [Just using rail service as an example, could be other refs too, like power lines or rivers]), it is easier to distingush which ref belongs to which country by doing something like ref:country:agency=* which would make it quicker to find out what belongs to whom. I highly prefer refs over using relations because you can get stuff quicker by assigning references and then using overpass to find it via ref:whatever=*.

So, in all, routing is just one use case for me right now, but having a short ref would be good anyway because writing a key like Lapistan_und_Azurea:rural is just not practical IMHO, also does one use the english or local name of the country in that case, something like an ISO 3166 makes it a lot easier (And is less prone to typos

Hide this comment

Comment from PortCal on 27 April 2017 at 14:58

This is something that some users may not use, but does that have to mean that it shouldn't be done? It's not necessary indeed, but if someone wants to invest in experimenting with this, I say go ahead.

Good luck adding maxspeed keys to all your roads. If your country is quite developed already, that should cost you 6 months instead of those 2 months for the list. Past days I've already been looking how traffic zones are implemented in Germany, and if it could work here on OGF with the use of country codes, why not? Otherwise, do it manually, no one needs to work with a list if they don't feel comfortable with it. But learning new things is is not always a bad thing. This could enrich the routing functionality.

Besides, the default maxspeeds are a reasonable average, but there are lot of exceptions in the real world. Motorway default is 90kmph, while in some countries 140kmph is the standard. That's a big difference in my opinion. Again, not required indeed, but if someone wants to enrich the maps by adding these values for more accurate routing, then go for it! I for one am very interested.

Hide this comment

Comment from mstr on 27 April 2017 at 15:30

Thank you martinum4 for your detailed explanation!

I fully understand your thoughts. However, my experience is that defining and using standards does not work here!

Things like the ISO have not been developed in just one day, not by only one person, and objects which are regulated by a standard usually exist long time before (so there is experience and many compromises are included).

By contrast, here, usually one or a few users start with an idea, but nobody else really cares about them. The only proper way would be to define codes for everything first (before mapping anything! This was your intention...?), but what means "everything"? Your first question was simply about a country code, then you like to define railway operators, someone else might be interested in another issue tomorrow?! All references should of course be unique and binding (it won't work if not). In addition, there are countries arising and disappearing every week (they will of course affect the choice of codes). Who should organize this mess? Who decides in case of disagreements? Is it first come first serve? That means there will be hundreds of fakes blocking each serious intention. Using such standards would mean that one has to keep everything up-to-date? I rather like to spend my time on mapping new things than updating existing objects to a new standard.

My feeling is that such world wide regulations slow down the progress and are much too ambitious for many users (we should be pleased if someone is able to edit only in a blue territory/his own one and knows that there are other tags than "highway=motorway").

Hide this comment

Comment from martinum4 on 27 April 2017 at 18:20

@mstr: well, people wanted other examples where such a code would be useful, so i tried to find an example usecase where it might me a good idea to use such a country code, railways were the first thing that came to my mind, you don't have to use these btw. In your own country ref=* combined with operator=* should be enough, that use case where specifically foreign things, for example you want to drive trains to your neighbors statins, but to do that you have got get these stations into your timetable system or wherever...

It is not my intention to keep people from just mapping their country however they want, but since people develop thier countrys in the wiki why not. So far every code (TLD, Car license plate prefix and phone country code) is first come first serve as far as i know, there is no regulatory body, i'd doubt that this is so much of a problem, what is more a problem in my opinion is that multiple countries use more than one domain name and thus block more than needed (also non-latin-domain codes annoy me, back in the day when the Domain-Name-System was established [1983] there wasn't even the first Unicode Version published [1991]), also there would be only ONE identifier code of each kind for every country, not multiple. Nobody forces you to enter your country and a corresponding TLD and other things into that table, i guess it would be the same for our ISO 3166 equivalent...

For me, a geoficition is more than a map, it is a whole country and i doubt that a lot of countries could survive standalone, without neighbors.

@PortCal Thanks that i'm not the only one interested in tagging that way ;) But i think you don't even need two months for tagging maxspeeds if you want to tag all of your roads. Just build a nice overpass query to find all in your country and feed it to level0 or JOSM to tag them all at once.

My suggestion would be to copy the countrys TLDs, Car plate and phone code into a new table,lets call it "List of important country codes" or something similar and everyone picks an ISO 3166 Alpha 2 and Alpha 3, i'd assign the number just by 9999/"number of countries in the list", so they are equally distributed and there is much room for extensions. Also if some countries cease to exist and new ones emerge you could reassign those values and still have pretty much left over.

Hide this comment

Comment from mstr on 27 April 2017 at 19:55

Of course nobody forces anyone to participate, on the other hand you try to establish "international rules" which should be respected by every country/user, no matter what has been done so far. -> Indeed, everyone will be affacted (if the rules are respected, if not, what's the sense of them?).

Why is there always a justification and comparison to real-world examples? Who defines what "non-latin-domain codes" are in our world? Is there a unicode and when was it established? So do we need 1, 2, 3 or even 4 character codes? Or all of them at the same time (why not?)? Of course, if you are the first one and take what you need, it does not matter. So for example 2 characters seem to be sufficient. If there are many countries with the same initial letter, it won't be (yes I know, you just have to be the first and everything is fine, good luck). These circumstances are incorporated in real-world standards. To me, international cooperation is more difficult than just creating a list and grabbing the best.

I'm sorry if it looks like I'm against it, I am not (concerning this particular case!), but I want to show some of the difficulties which arose in the past with "international" rules which are imposed by such discussions in the user diaries (which is not a proper way from my point of view, but I don't see any better).

How many countries do use multiple domains? Yes, Mergany does, Latina as well. I see less than a handful in total, but I have recognized more than a dozen countries in the list which do not really exist on the map (wasn't this a requirement?). They hosted also world's fairs, the geolympiad, international organizations and have 100M + inhabitants... the reason for this is in most cases of course the first come first serve basis! If you wait with a wiki-contribution until your project is finally mapped, you won't get a place any more since everything is "reserved", but that's maybe another issue...

Hide this comment

Comment from histor on 27 April 2017 at 20:01

@ martinum4: "My suggestion would be to copy the countrys TLDs, Car plate and phone code into a new table,lets call it "List of important country codes" or something similar"

This list now in the wiki is --> Lists / International information / List of country code. Sure this list can have a better name. "LA" and "LAT" for Latina and "ZY" and "ZYL" for Zylanda cou can see as given.

Ansonsten viel Glück. Mit Eisenbahn hört sich spannend an. Relations für Eisenbahnlinien? Darüber sollten wir in eingen Tagen in einem gesonderten diary diskutieren. Oft haben Metro- und Straßenbahnlinien schon relations. Routing mit den Öffentlichen?

Hide this comment

Comment from martinum4 on 28 April 2017 at 16:56

My railway idea would only affect people who map that detailed AND would want to map in their neighbours country (after establishing bilateral rules for that, obviously), so far most people don't bother to tag even ref=, operator= and similar non-rendered combinations at all (and rather "wikify" things...).

Why is there always a justification and comparison to real-world examples?

This is kind of a really deep question, I interpret the OGF Versimilitude as the real world, same timeline, but different names. So for me scientific advantages, standards are discovered/defined the same time as they are in the real world. IMHO this is easiest way to deal with such a problem since you don't have to invent a whole new timeline. So, since back in the day when the Internet emerged, latin letters were the only language computers really understood, the same thing happened in OGF. Thus there are latin letters due to technical reasons and backwards compatability. This is also the reason why I don't plan to build a hyperloop or maglev track on big scale yet and only quite small testing facilities, it's all because oh how i interpret the verisimilitude and thus develop my country close to the real world.

I wonder why there are still countries in the list that are not on the map, i am not per se for deleting the corresponding content, but maybe move it to an archive or something similar.

@histor I'll edit that list when I'm back home again, maybe change the format altogether...

Routing, mit dem ÖPNV ist auch im realen Leben teilweise schon schwierig ;)

Hide this comment

Comment from mstr on 28 April 2017 at 17:53

Yes, but scientific advantages are not equal to standards! So your explanation becomes speechless, because the first one is a natural result (the earth is a sphere) and the latter is arbitrarily chosen (I/we/whoever defines it this way, someone else might do it different...).

Everybody is free to develop his own country and interpret things as long as they are "like real" (that is what the page you have linked is telling us). That does not necessarily mean that there must be exactly the same standard because it's existing in the real world. I wish if someone is really interested in something, he puts more effort and spends more creativity than just copying the real world. We had this discussion already a few days ago when somebody asks for an OGF-Israel-equivalent. Here, we are talking about international standards, so please don't legitimate it with "I can do in my country what I want to do". Why don't you just map it like you want and use bilateral rules with your neighbors, if they like it as well?

Thank you also for calling (my) maglev tracks incompatible. There were mainly some economic reasons why no long maglev track has been built in the real world so far (in contrast to hyperloops, which do NOT exist in real due to technical limitations!), but the economic conditions in OGF countries can be (and are!) different.

To come to an end, I summarize your answers as "how I'm doing it is the only right way", so welcome here and good luck with your attitude in doing international "cooperation" ;)

Hide this comment

Comment from Aiki on 29 April 2017 at 23:07


I don't know if it helps but a few months ago I started an article on an OGF alternative to ISO norms. I mentioned a couple of norms in the articles I wrote as PAR- and the same number as the corresponding ISO norm to avoid overcomplication.

Feel free to update the article with norms you would need to create or other details you may find meaningful.


Ps: PAR is Latin for ISO, both meaning equal.

Hide this comment

Leave a comment

Parsed with Markdown

  • Headings

    # Heading
    ## Subheading

  • Unordered list

    * First item
    * Second item

  • Ordered list

    1. First item
    2. Second item

  • Link

  • Image

    ![Alt text](URL)

Login to leave a comment