osm connection problems

Hi,

another user asked for a routable garmin map (which I created today).

I noticed that for example around Khon Kaen, as well as other places there are a lot of unconnected ways.
http://keepright.ipax.at/report_map.php?zoom=11&lat=16.48028&lon=102.84736&layers=B00T&ch=0%2C30%2C40%2C50%2C60%2C70%2C90%2C100%2C120%2C130%2C150%2C160%2C170%2C180%2C191%2C192%2C193%2C194%2C195%2C196%2C197%2C198%2C201%2C202%2C203%2C204%2C205%2C206%2C207%2C208%2C210%2C220%2C231%2C232%2C270%2C281%2C282%2C283%2C284%2C291%2C292%2C293%2C311%2C312%2C20&show_ign=1&show_tmpign=0

That is a killer as a navigation system will not know that it’s possible to drive that way. I’m sure a lot of these can be fixed without knowing that place by yourself, others might require a visual inspection.

Those places can be tagged using OpenStreetbugs for review by other users:
http://openstreetbugs.schokokeks.org/?zoom=6&lat=12.72802&lon=101.37812&layers=B00T

Anyone using OSM for routing? Those problems should be fixed.

Stephan

I looked at the examples around Khon Kaen because I’m there.

Keepright says “This waterway intersects the highway … but there is no junction node.” A highway is crossing a river. What is the problem?

Or Keepright says “This riverbank intersects the highway … but there is no junction node.” There is no riverbank but natural=water. Is Keepright right?

Sure those problems should be fixed. But it’s a little bit to early for thinking about useful routing in thailand imho. This could only be done in very isolated areas where the situation is inspected before.

For example i know many big streets in Bangkok that should have two opposite oneway lanes but are drawn as one lane. Sometimes i do not connect ways to make it clear that there is this kind of problem (example) and someone should go out and look at it.

If someone adds bugs for this kind of errors without knowing the details of each problematical situation, than the note should be very vague, same as in keepright. IMHO keepright is enough information at the moment. In most regions in Thailand it is to early to mark highway errors as bug. There is always the risk that some over-motivated people try to fix bugs without knowing the situation in detail.

I agree with WanTan.

  • “Sure those problems should be fixed. But it’s a little bit to early for thinking about useful routing in thailand imho.”
    Keepright also flags non existent errors (false positive). JOSM validator does this also but according to my experience to a lesser extent.

  • “try to fix bugs without knowing the situation in detail”
    may cause more problems than solve

Thailand is still in a very early stage compared to countries like Germany and the level of mapping differs quite a lot within an area and from area to area. E.g. less than 2 months ago I added the last missing 2-digit highways in NorthEast Thailand. In some cities parks are mapped including footways but major roads are missing or incomplete.

Edit: If there are really errors they should be fixed. In contrary to Germany) the OSM manpower in Thailand seems to be rather limited.

If OSM is “useless”, then why should someone use it? If no one using it, why should someone invest time in it, when there is already google?

So we have to provide also useful applications with OSM data.

Imagine, someone trying the routing, noticing it’s not too bad, but needs more roads. If we don’t make it too difficult for users, they can start contributing.
some communities like the thaigps have already a huge userbase. Why are those not working for OSM? Wikimapia has users tagging in Thailand. Why do they do for a proprietary project and not for OSM where their edits are free for everyone?

I can’t accept such “excuses”.

Think back a few years. Do you still remember the early days of navigation in Europe? Those systems did just include the major roads. They got you from one town to the other. A thing most people can do their own. Inside town, the small roads where added a lot later.

But still people had been buying these systems.

I think the major highways in Thailand are mostly complete. Willi also confirmed this. That is a good point to start. We can build on top of this achievement.
Most of those problem,s preventing routing can be fixed easily.

Focus on the major points. Keepright is reporting a lot, some points less important than others.

A Highway crossing a river is a problem if you don’t own an amphibious vehicle. There should be a bridge or a fort.
I bet that all major roads crossing a river do this by having a bridge. So there should be a bridge in the map.

This is a topic, but not a major one. Just mentioning it because Willi wondered what the problem is.

A REAL problem are ways crossing without connecting node or ways ending half a meter in front of another. In both situations a routing is not possible because the ways are not connected.

The unconnected ways problem can even be fixed by people not around. It’s just so unlikely that a 2-lane highway ends half a meter in front of another that this is an obvious mistake that can be corrected.

The crossing ways are a bit more difficult, as there could be a bridge or a tunnel missing and there is really no way to get from one highway to the other. Other situations are quite clear, think a residential area where a lot of streets run, most connected, some not. Use your common sense.

Fixing those connection problems makes the data we already have in OSM usable. The effort to fix those bug is very small compared to the initial effort of getting the streets into OSM. We should not be afraid to complete this last step.

Stephan

@stephankn

Noone said OSM is useless. It is just to early for a useful routing in Thailand imho. Maybe this is something OSMer can try to do for testing and for their own interest in OSM. But personally, if i would have a need for a useful routing on streets in Thailand at the moment, i would go to a shop and buy some new navigation-unit with a (mostly) complete and errorfree map.

Here in Bangkok it is to early for routing. And some of the “major roads” outside of Bangkok are also not finished. Many parts of them have to be split in multiple lanes which may will cause new bugs to fix then. If you start fixing bugs now without knowing the situation just by using satellite images, than you will not get a good result imho.

Please believe me. You can only fix these kind of issues by copying somewhere! We should not animate people to do this. Without copying it is just a guess. Streets are changing very quickly at least here in the outskirts of Bangkok. We just do not have enough manpower to fix all open issues with a good result quickly.

Neither WanTan nor I wrote a statement like this.

I stated the 2-digit and higher highways in the Northeastern part of Thailand are complete. I don’t know the situation in the rest of the country.

If someone is happy with routing only on major roads than he can try it in Thailand already. On major roads I can do it without routing. But disappointing him and never again looking at OSM would be a pitty.

I don’t buy this.

If there’s a river or a lake and the map shows a highway crossing it or going into it than it is very clear that there is something on which you can go. That is the specific purpose of a highway. If not why should a highway have been mapped there. I think it is not a good idea to add a bridge without additional information just for routers and renderers which do not know that if there is a highway you can use it and want a second confirmation. I remember having read several time: “Don’t deliberately tag incorrectly for the renderer.” ( Tagging for the renderer). And adding a bridge without knowing the “beginning of the bridge (abutment)”, see Key:bridge, is nothing else than this. Why is a bridge important for routing? Why does routing for land vehicles care about water? There are highways and ferries.

I agree with this. Missing connections can be a real problem for routing.

In the example mentioned in the top posting Keepright had marked 10 connection issues and about “100 waterway issues” in an area of about 100 sqkm, the province Khon Kaen. 3 connection issues I’ve fixed already: a footway, a track and a service highway leading to a parking lot. 4 connection issues will be fixed: fuel stations not yet connected to road. 3 “false positive” or better “false negative” connection issues have been marked as such. I’m quite sure these 10 connection issues are no issue to routing.

And I’m also quite sure that I don’t like the idea “tagging for some routers” at all.

Just for clarification:
What exactly do you mean with the statement “2-digit and higher highways are complete”? Does it include situations where there are splitted lanes too? I mean roads where there is a physical barrier between the opposite lanes.

If i e.g. take this example it looks to me that the roads #2 and #12 must be splitted into opposite lanes. Maybe i am wrong for this special situation because i never have been there. But are you really sure, that in North-Eastern-Thailand all major roads are totally correct in this point?

Of course someone could make routing without splitted lanes. But this all has to be optimized much more in detail, before someone could say “it’s complete” imho. And this optimization will cause a lot of new bugs…

EDIT:
To avoid discussion about the need to devide highways into opposite lanes, here is the link to the Editing Standards and Conventions.

In regard to the low mapping coverage and the lacking manpower in Thailand I follow the 80/20-rule: You get 80% of the job done in 20% of the time to do it 100%.

For me the basic features of a highway are described with the tags “highway”, “ref”, “source” and if applicable “name”. When I’ve mapped the whole highway, i.e. its full length, with these tags, of course including connections to other highways, than I regard it as complete (80%). Everything else is “nice to have”. When all highways of a class are mapped in a region in such a way I regard this highway class as completed in this region. I have compared the OSM map of the Northeastern region with a digital map and paper maps and found no 1-, 2-, or 3-digit highway missing anymore. None of these other maps provide more information about a highway than OSM. I think already quite good. More Details can be added at any time later and this will go on for a long while.

I can make my route and may be a router also when I know there’s a highway. I don’t need the number of lanes or the width or where there’s a bridge or where I can turn left, right or back. May be not in a city like Bangkok. Probably I have to go some extra kilometers. But if I don’t know a major road I have to go almost definitely a lot of extra kilometers.

Similar for other objects. E.g. when tagging villages the first thing I map is the node “place” with the tags “name”, “name:th”, “name:en”, “is_in:province”, “is_in:district”, “is_in:subdistrict”. Number 2 are the “residential highways” on the outskirts to give an indication of the size of the village.

“totally correct” is impossible to achieve. First there’s no definition for that. Second nobody could afford it. E.g. I can’t afford a professional GPS-Device, which is still not “totally correct”, mine is “incorrect” up to at least 15 m. Should I stop mapping?

Do the “Editing Standards and Conventions” mean: Don’t add divided highways to OSM without drawing separate ways? Than I would be completly wrong. E.g. I have deleted the oneway tag from ways where the way in the other direction was missing because I consider this as misleading and unrouteable.

Yes, i would say so. A divided highway has to be drawn in two seperate lanes! This is a fix rule, not only “nice to have”. And this is not only required in Germany or Bangkok.

But do not worry about this too much. If you do not add the second lane, somebody else will do somtime. But it gets harder every day, while the number of connected ways (street crossings) grow. I always try to split the lanes of existent ways first, before i add crossings to minor roads. This is much work, but if you look at google, yahoo or every other professional, digital map data that could be used for navigation, you will agree that it is the standard. You can not do useful navigation in complex situations if the lanes are not devided.

Of course you need to know where you could turn left, right or go back. Just think of the numerous u-turns in Thailand. How do you want to make a good navigation software, if you do not know where the u-turns are and in which direction you can drive? I like the idea, that some day we do not need to buy commercial navigatiable maps. Then we could use OSM for it and it will be much better.

Hi,

some points to add. First I think I have to excuse having posted a link to keepright that was having enabled all possible checks.
That’s too much!

I agree we have other more important tasks in Thailand as to fix every single point keepright reports.

The most severe problems are the unconnected and unreachable roads. While on the screen it might look nice and you don’t see the problem because of the line width, the data is useless for routing. That’s what I try to communicate.

I don’t see it as a problem that data is not “complete”. It will be more complete over time when people start using it and the community grows.
Think back to the mid-90s. No one had a navigation that included residential streets and still people had been using it.

But I strongly insist we must not ignore the existing severe problems preventing routing using the already available data because of stupid bugs.

For the two-lane issue I think the way of Willi is the better one. Having only one lane and that also tagged as “oneway” would signal a router that it can not use it for the other direction.

So in case there is not enough data to map a two lane road for both directions, as an intermediate state leave off the oneway tag and apply a note. Could be like the following: “note=TODO: this is actually a oneway lane of a road with a divider, leading from east to west. Remove this note and add oneway tags when lane for the opposite direction is drawn”

That way other mappers know that the road is done only half, but still it shows up in maps as well provides basic routing capabilities.

Sure, routing is not perfect then: you could not do a U-Turn where you like, etc. But it’s a lot more usable as missing roads. And a missing lane for the opposite direction is just that for routing: not there.

@WanTan:
That unreachable node is because the ways point in different directions and are tagged as oneway.
http://www.openstreetmap.org/browse/node/61708663
As Thailand has left-handed traffic, the direction of the road east of the node has to be reversed.
When looking at that area: What is that way for the user Snap77 painted? It has no tags at all. I did contact the user. It looks like duplicate ways in a lot of places: http://www.openstreetmap.org/browse/way/55083301

Stephan

We all agree in this point. The data is unuseable for navigation or routing. We only disagree in the way to change this.

Everyone can do what he wants and others could reverse it if they think it is wrong. This is OSM. But normally we all want to add more information and not to delete correct information from the map. For example it is not a good idea to remove a correct tagging with oneway=yes just because you do not have the knowledge, time or will to draw the second lane. If a beginner does this mistake because he do not know the rules (who will ever know them all) it is OK.

Problems like this are not only “stupid bugs”. They are complex problems and i do not have the time to analyze and fix all those things around me correctly. I have to stop somewhere and this are the points where roads end sometimes. Its much easier to see that there is a problem if the ways are not connected.

In many cases it is simply not correct to merge a two oneway lanes highway into one lane even if you note it as FIXME. You want to remove bugs by changing them into other types of bugs! Do it if you want. Imho that is not a good idea.

If you start drawing the street by yourself this would be OK. But it is not good to delete correct information from existing streets and than add notes that someone else should add the information in future again. I will not accept this in regions where i map.

Thank you. I could need some help here around Bangkok. There are many issues to fix in this region. Some situations you will not find in satellite images or on existing maps because there are many new streets and motorways and connections between them. I live here and i know many situations like this that are not correctly fixable quickly. OSM in Thailand is just at the beginning.

@stephankn
Could you please tell me your magic way how to solve e.g. this situation in a way that it fits to your router plans quickly? Should i remove all work and draw just a simple crossing of two ways? Should i complicate everything by adding bogus connections and FIXME-notes? Should we really add a bug for this? This is not a bug. It is a start to create a correct and complete navigatable map that reflects the reallity here in Bangkok. And this needs time. At least three more years until it will be mostly finished.

And i am still not sure if the Google map shows all details for this special situation. Sometimes i find subtle errors in google maps too. But this is no wonder in situations like these, i would say. Again: We should never animate people to start copying.
:wink:

I must refine my statement.
If a way is initially drawn, and it has a divider, then the mapper should indicate this in some way. As long as not both directions are there I suggest to do this by adding a note with a FIXME instead of marking it oneway and thus unroutable.

Please do not destroy existing and correct data!
I never wanted to suggest this. Sorry if my post could be understood that way. I should proof-read it more before sending.

@WanTan: We can’t replace commons sense by rules.

Your example shows one of the more complex intersections. It might be the perfect target for a mapping day. Driving all lanes, directions and exists and completing the map.

Let’s stick to the more common and easier cases. Something like the following.

On the map everything looks fine:

But having a closer look with the editor shows the roads are not connected and the gap (7m) is smaller than the density of GPS points. That is a strong indication that in reality these ways are connected. Another hint is that the ways had been drawn using potlatch. With the stroke-width in potlatch it’s difficult to see things like that, so errors like this happened easily.

In case a way is just ending, mark the last node with noexit. Then it’s clear the way ends at that point and not just the mapper gave up mapping.
http://wiki.openstreetmap.org/wiki/Key:noexit

Stephan

May be there’s a misunderstanding. But for me a map is a simplification of the reality to give the intended user the information he needs. A oneway highway isn’t a correct simplification of a twoway highway because the user might have to take a long detour when he want go in the other direction. Drawing it with one line but without oneway is a correct simplification. Of course different mappers like different simplifications. And I think this is OK as long as not misleading or wrong. E.g. a fuel station can be drawn just as a POI or as an area showing it together with other objects like shop, coffee shop, toilet, shelter, car wash, car care etc. POIs themselve are simplifications. They don’t show the reality but aren’t wrong. Sticking close to the reality would mean at the end to skip POIs. Points have no extension. In the real world there are only threedimensional objects.

I think Bangkok isn’t only big it is also complex. To deal with this you need more time or more manpower. Currently both is not available for OSM.

I’m afraid there’s only one fulltime mapper in Bangkok. Others try to map remote or during or after visits. But does this work for such complex situations? Do people start and give up leaving FIXME notes? May they won’t go again to the place? And even copying from Google wouldn’t work always.

And there’s also not enough time. Even if OSM could start from a complete and correct base in Bangkok how many fulltime persons would be needed to keep up with the changes only?

I’m afraid OSM has no chance to get Bangkok done even not with a 80/20 approach as long as the manpower doesn’t increase significantly. Somewhere I read Germany has 40000 mappers and there are still white areas and “bugs”.

Another problem is that OSM doesn’t have a production and a development version. Well it’s intended for hobbyists. For the above example the production version could start with 2 simple connected crossing lines. The partially finished work would stay in the development version until it is acceptable for production. Renderers and routers could stick to the production version. Mappers would work in the development version. But anyhow I’m afraid even with such a tool Bangkok can’t be done without much more manpower staying in Bangkok.

Thanks for that hint. I didn’t know that.

A Wiki is good for an encyclopedia like Wikipedia with rather independent articles. But the OSM Wiki should be a handbook where the indivdual articles are more closely related and structured and come with a table of contents.

Edit: Sorry, almost forgot to answer this question. I will take the opportunity to show my way.

Yes I’m really sure this example is a correct simplification (presentation or illustration) of the situation. Two major, divided highways of international importance are crossing. There are no oneway links. The higways are simply leading into a big paved area comparable to Sam Yan, Sala Daeng or Witthayu intersections in Bangkok. Since this year there’s an additional tunnel for highway #2 with access restrictions. On top of the minimum information highway, ref and source there’s int_ref, lanes, name, name:en and name:th for both roads. I don’t know much about automatic routing but I think it’s routeable.

The highway #2 is crossing the city between the ringroad #230 and has partially more than 4 lanes and frontage roads. It is crossed 5 times as in above example and by the ringroad on bridges which are not mapped. Additional minor roads lead into highway #2 but don’t cross it. When I started mapping a year ago all major and some minor roads were already mapped. Not knowing much yet about OSM and not having much in the map in and around Khon Kaen I decided to add simple missing objects first: villages, other POI, roads.

Even today with my current experience mapping just the 14 km of highway #2 in the city to your demands would take several days. As beginner I might have stopped mapping. In the same amount of time I can and have mapped (i.e. tracked and added or enhanced) more than 2000 km of missing or wrong positioned major roads, e.g. Changeset with highway 23, 232, 213, 223, Changeset with highway 24 .

Sometimes I even complete divided highways when I come along and it’s not too tough: Changeset with highway 24 west of highway 218. But highway 24 was marked as divided eastern of 218 Prasat too where it is not divided and has 2 lanes only. When I accidently saw this I put it on my todo list. Next time I came into this region I’ve choosen a route via the 24 and checked. It was still not divided and I corrected it: Changeset with highway 24.

And that’s the way I’ve chosen and will continue to go. Fortunately OSM offers so many ways to choose from :).

It’s good to know how other OSMer think and map and of course accepted and one can learn from it.

Everyone could make a copy of the OSM dataset (or just parts of it) and use it as own “stable production version”. The main database is not meant for production. The user of the dataset is responsible for choosing (extracting) the data for his needs and also for choosing a way to keep it up to date, maybe by merging data or maybe by copying again. As OSM is “crowdsourcing” the best way to make corrections of wrong data is to change the original data. This is the way it works. And it works good this way.

Of course the way you do it is totally OK at the moment. I am happy that there are users like you that add the rudimental data of major highways, so the map looks nice and other people get interested in looking at it. I just wanted to say that for a really professional navigation dataset, that could compete against other commercial navigation systems, we need splitted lanes in whole Thailand. But as this will not become reallity in the next years it is totally OK what you are doing.

Thanks for the explanation.
I agree with that. It is a correct simplification. But to fulfill the OSM standards we will need to split the physically devided highways into two lanes some time in future. I agree that this is not the most important thing at the moment. It could be done later.

Just wanted to repeat that i really greately appreciate your and stephankn’s good work. We all have different ways to contribute and that is what makes OSM so interesting and interesting comparing it to other maps.
:slight_smile: