Highway classification

Mr_Israel,

The categories you use - “expressways”, “regional roads - numbered with three digits”, " striped w/ 1 lane each way, infrequent if any stop signs" etc. are somewhat unclear, and worse, often overlapping.

That is why I suggest staying with the current system, which uses the number system except in a few cases where a specific change is needed (freeways are “motorway”, near-freeways are “trunk”, and as I now suggest the largest urban roads are “secondary” not “tertiary”).

I understand your point. It sounds that the new definition of highway, trunk and primary are unclear as you can’t know the declaration of the street just by the amount of the digits or by a sat image.
But this is how the government of Israel is currently declaring the streets levels.
There are roads looking like a motorway, but they are defined as expressway (trunk). And highways in Israel do not have just one digit.

So definitions based of digits are wrong and not correct!
Road 20, 22 and 431 are highways. And currently also defined as highways in OSM.
This is already not following our street definitions we made some years ago.

It is very easy to see what definition we should use as the Israeli government is using colors for the road number and a colored border around it:

=> MOTORWAY
=> TRUNK
=> PRIMARY
=> SECONDARY

So if you see the pictures of highways I posted before you can see that the declaration is on every sign. (BTW: I’m not talking about the green or blue background of the sign. This is another topic)
This way we would avoid for example the kind of edit war" between users Wikipod and Eliyak, because we would map like on ground facts. No discussions anymore what is a freeway and what is not.

Because we have a gap for highway, trunk and primary there is simply missing one declaration level today to define more important roads in the cities.
This is why I don’t see a possibility to define SECONDARY roads inside of cities in the moment without changing the upper street levels.

BTW I’m very open for discussions for the SECONDARY and TERTIARY as I’m not sure how to declare it the best way to fit our needs.
I would prefer merging the 4 digits roads and important city roads to SECONDARY. And you are right that SECONDARY roads should not have to have separated ways to each direction.

Ah, now I understand what you said.

Some thoughts:

  1. Where would we get information about the road types? Google Maps has each road number with the appropriate color, but of course we can’t use it as a source.

  2. Looking on Google Maps, it appears that the road color is almost always what you would expect from the number (2-digit=red, 3-digit=green, 4-digit=brown). The main exceptions are freeways. But freeways are already an exception in the current system.

  3. So the main difference between your suggestion and the current system is that you move everything up one class (primary->trunk, secondary->primary, tertiary->secondary). The benefit of this is that there is no “gap” with no roads classified as “trunk”. One loss is that the higher classified roads use too much space and stick out in Mapnik. A bigger loss is that relatively small roads outside cities are marked as more significant than big roads in cities, which is bad for route calculation. Overall, I’m not sure the change is worth it.

  4. And there is something useful we can do with “trunk” - we can use it for road that are “almost but not quite freeways”, like 471 and 531, and 4 near Raanana. This means some interchanges on the route, but some intersections too. This is the convention for the US for “trunk”, while Canada and South Korea have similar conventions.

  5. I don’t think there should be any debates about what is a freeway - a freeway has interchanges and no traffic lights, a non-freeway has traffic lights.

So my suggestions for non-urban roads:

MOTORWAY - all freeways (interchanges, no traffic lights)
TRUNK - near-freeways (some interchanges, some traffic lights)
PRIMARY - 1/2 digit roads (except motorway/trunk)
SECONDARY - 3 digit roads (except motorway/trunk)
TERTIARY - 4 digit roads (except motorway/trunk)

And for unnumbered urban roads:

MOTORWAY,TRUNK - as above
SECONDARY - very large urban roads (generally around 1 per 100000 inhabitants)
TERTIARY - all significant urban roads, except for above

  1. I would prefer to define the streets by its digits first.
    If somebody realizes a difference between digits and street definition he will have to change it and let us know.
    We will have to keep track of those abnormal streets.
    It would be amazingly great to have a list of all streets with digits that would be generated automatically.

  2. But if there are exceptions we will need to handle it. The rule digits = road definition is not correct. This is what we already found out.
    So the correct way to define the way is not the digits but the color of the sign. This is my point for the whole discussion.

  3. Yes, I would like to move it up and have a clear definition for the important Israeli streets.
    Please remember that we don’t map for the renderer. http://wiki.openstreetmap.org/wiki/Good_practice

  4. In my opinion this is exactly the opposite of a clear definition. Who defines that the road 4 near Raanana should be trunk and not primary?
    I would not know an argument to discuss with somebody the difference.

BTW: Check out the road 4 from this junction (http://www.openstreetmap.org/?lat=32.12468&lon=34.856608&zoom=18&layers=M) and count how many traffic lights will be left to the north if they continue on the proposed roads at each junction. In my opinion they will declare more parts of road 4 as highway after finishing this

In my opinion they are more significant. It will take you drive more time for the same distance on a 6 lanes road inside of Tel Aviv with traffic lights with a speed limit of 50 km/h than using the small 2 lane road outside of the city that has a speed limit of 60 km/h or even 80 km/h. So I hope the routing would guide me on that route instead through the huge city road.

And this brings me to another important thing. The max speed (here a outdated image of a sign). Jan 2011 the max speed limit was raised to 110 km/h:

So it could be a definition like this:
=> MOTORWAY => Max speed 110 km/h
=> TRUNK => Max speed 90 or 100 km/h
=> PRIMARY => Max speed 80 or 90 km/h

I’m not very sure on this max speed theory. This needs to be cross- checked.

So here is my suggestion for the new road classification in Openstreetmap for Israel:
(I have updated it with speed limits and exceptions)

PLEASE APPROVE OR GIVE FEEDBACK

###############################################################################

First rule for numbered roads: It doesn’t count the amount of digits but the color of the sign!

=> MOTORWAY (Blue sign)- all freeways - National roads and Inter-City roads.
Normaly they have one digit (example road 2) or two digits (example road 20).
As a exception they could have also three digits (example road 431).
Speed limit is 110 km/h if no sign defines something lower.
Mapnik color: █████

=> TRUNK (Red sign) - all expressways.
Expressways in Israel could look very much like a freeway.
Normaly they have two digits in the sign (example road 10).
Speed limit is 100 km/h if no sign defines something lower.
To avoid editing wars it always counts the color of the sign. If its blue it counts as freeway. If its red it counts as expressway.
Mapnik color: █████

=> PRIMARY (Green sign) - all regional roads.
Normaly they have three digits in the sign (example road 412).
Speed limit is 90 km/h if no sign defines something lower.
Mapnik color: █████

=> SECONDARY (Brown/ Black sign) - all regional roads.
Normaly they have four digits in the sign (example road 4111).
Priority over other crossing roads (the other roads have a stop sign)
Speed limit is 80 km/h if no sign defines something lower.
Mapnik color: █████

[Exception per Eric22 request]: very large urban roads that are unnumbered (generally around 1 per 100000 inhabitants). Roads that are more important for routing connections that a normal tertirary road.
Here is one example of such a exception in Hadera: http://www.openstreetmap.org/?way=24873711

TERTIARY - all importand (connection-) roads (no colored sign) .
Priority over other crossing roads (the other roads have a stop sign)
Speed limit is 80 km/h if no sign defines something lower.
Mapnik color: █████

I completely agree with MrIsrael, let’s define all from sign colors, and not from other properties.
If we’ll meet any really problematic case - we’ll just discuss it here.

There is one remaining thing I’m not happy about with this suggestion.

There are a number of urban roads that are very large (sometimes 3 lanes in each direction). According to a strict sign color division, these would all be tertiary. According to my suggestion which was adopted by Mr_Israel, these would be secondary.

On the other hand, there are many non-urban numbered roads, even with red signs, that are only 1 lane in each direction. Often they don’t even have traffic lights when they meet other. So these roads would be classified as “trunk”, while the much larger urban roads would be classified as “secondary” or lower? This just doesn’t seem right to me.

That’s why I’d prefer for the sign colors to refer to one level lower - red sign=primary not red sign=trunk, and so on. This decreases the mismatch between the road levels. What then should we do with the trunk level? Earlier I suggested roads with “some interchanges” being called trunk, but I would also be fine with not using trunk at all. Who says we have to use every level?

eric22, your proposal reminds me “mapping for renderer”. You propose to map for navigators.
Why to not get navigator software to check max_speed, lanes and traffic light tags and assume which between two roads is better?

Also, we have very nice tag http://wiki.openstreetmap.org/wiki/Proposed_features/Practical_maxspeed where you may tag actual state of things on specific road, and propose to osmand developers to use this tags.

Eric, why is the width or a existing traffic light of a road so important to show on the map?
Isn’t it more important to highlight important roads on the map and let the user or software choose which road to take.

I agree that we would have streets for example road 4 in the Negev where you can drive up to 90km/h on a small road with only one line per direction that are not even separated.
This would get the trunk classification. And your 3 lines in each direction urban road that allows only 50- 60 km/h would get “only” a secondary.

For Israel the road 4 has a lot higher importance than this urban road.
The connection between cities is something you would like to see right away on the map and the urban roads are less important even if they are bigger in size in real.

By using the new classification you can highlight roads like in Hadera that connecting important roads and should be preferred to other small roads by using secondary definition.
This will give us more freedom and a good and strict rule everybody can follow. Currently you can not see 4 digits roads highlighted at all on several zoom levels.

I don’t look on the trunk definition like it must be used at all.
I simply realized that we are using motorway for motorway, primary for 2 digits roads, secondary for 3 digits road and 4 digits roads TERTIARY.
There is simply missing one step to distinguish between a main city road and a road that received a 4 digits numbers.
Several 4 digits street are generally linking smaller towns and villages. Those streets should be preferred over normal TERTIARY ways, thats why they received a number.

Look at this trunk definition that shows that trunk definition is mainly coming from UK and has a specific sign: From http://wiki.openstreetmap.org/wiki/Key:highway
=> Important roads that aren’t motorways. Typically maintained by central, not local government. Need not necessarily be a divided highway. In the UK, all green signed A roads are, in OSM, classed as ‘trunk’.

So for the UK there is a green sign (thats why its green in Mapnik) that declares the street to be a trunk road.

In Ireland has the same kind of definition that is based on a letter and number:
http://wiki.openstreetmap.org/wiki/Ireland/Roads => National Primary Routes (N1-N40), regardless of build quality.

Summary we would not be the only country that uses trunk for non motorway like roads.
http://wiki.openstreetmap.org/wiki/Tag:highway%3Dtrunk

But I agree that the current Mapnik rendering is not Israel friendly.
In Israel we would need to paint the roads in different colors:

The green trunk would need to be red.
The red primary road would need to be green.
The orange secondary would need to be brown.

I realized today that a lot of street definitions has been changed in the last week.

Some of the definition is based on our new suggested rules and some others are simply wrong and doesn’t make sense.
As he went through several countries and “fixed” things I would like to reverse all his changes in Israel.
Here is a example changeset: http://www.openstreetmap.org/browse/changeset/12605653

I have wrote him a email and asked him to stop it and refereed him to this thread.

Can anybody reverse his changes?

Beside that it would be really great to finish the discussion on this thread and get to a consents.
We have this thread open for over a month already.

I see this man done more than one changeset in Israel area. He not only changed road types, but also deleted some nodes and roads.
I’ll try to undo his changes in our area at evening.

I opened a new topic http://forum.openstreetmap.org/viewtopic.php?pid=262616#p262616, let’s discuss there all our reverts.

Sorry for not replying earlier,

I completely agree with Mr_Israel’s proposal.

dimka

I have found a problematic road that needs to be checked for a rule:
שדרות התעופה HaTeufa http://www.openstreetmap.org/?lat=31.9962041&lon=34.8716987&zoom=16&layers=M

This airport freeway like road has no ref ID at all. So I also expect it not to be a blue sign.
All other map providers do not show this road as freeway. For them its only SECONDARY or lower.

I am still not sure I like every detail of Mr_Israel’s proposal. But in any case I am outvoted. So I now declare my support for the proposal :slight_smile:

I’ll check at evening if this road have any signs

I have updated the wiki pages of Israel to the new accepted standard.
http://wiki.openstreetmap.org/wiki/WikiProject_Israel#Conventions

So the next step would be to start migrating the roads to the new standard.
Can somebody automate this?

  1. primary=>trunk
  2. primary_link=>trunk_link
  3. secondary=>primary
  4. secondary_link => primary_link
  5. Then we will manually search for all primary roads that have no ref and check what status this road should get.

I’m currently running through my own list making sure that all primary roads are having a ref key.
I have already completed this job on motorways. ALL motorways in Israel have a “ref” key.

How can this may be done automatically? the assumption was to change road types accordingly to the road ref sign colors. Or I’m wrong?

correct.

Todays primary (red sign) and secondary (green sign) road classification is fully the same as in the future standard.
The only difference is that we move them one class higher.
From primary => trunk. From secondary => primary.
This is the only thing we can somehow automate.

There will be no automate to find the 4 digits roads and define them as secondary.
There will also be no automate to find the differences between a highway (blue sign) and a trunk (red sign).

We have currently around 1.000 primary road parts (bridge and roundabout included).
And around 1.100 secondary road parts (bridge and roundabout included).
I hope you don’t want to go through all of them and change them manually?

ah, ok, I understand.
but making automated changes may be little problematic, as any bbox will contain also our neighbours.
I can create query which will return all highways by type. Possible, I can try to use smaller bbox’es, such as only roads near borders will be unchanged.

Any other ideas?

Would be interesting how you are importing it back to OSM.
I just learned how to fetch data and filter it from OSM. No clue how to write back.