Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

There is a lot of information about (pg)routing over normal ways. Normal ways are man made and kind of ideal for routing.

However i am interested in routing over waterways. In theory this should be the same as routing over normal ways, except that waterways are often not man made and so they consist out of large water bodies like lakes. Lakes are not a neat line that you can use for routing and apart from that you also have to consider water depth, bridges and locks that may or may not allow you to cross. And all this is of course again dependent on the size/depth of your boat.

Is there any tooling available that tackles some of the issues i describe above?

share|improve this question
    
That's an interesting question. Usually you get a river/lake "centerline" dataset which you can route on like on roads. –  underdark Aug 26 '11 at 8:44
    
That is exactly how i do it now, but my dataset does not cover the entire area i am interested in and OSM contains more information that i also would like to use so i am very interested in finding a generic approach for working from raw OSM data. –  mrg Aug 26 '11 at 9:43
add comment

2 Answers 2

Routing on water is basicly the same as on land: You have to abstract your geometries into a Graph, that is an abstract representations of points and connections between them, each connection associated with a certain cost (for example, travel time or distance).

The difference seams to be the way of how you create your graph over waterways. For rivers it might be the same as for land roads. But if you have the open sea or a lake there are endless possibilities to go. Consider straight lines between start and end costal points, in combination with intermediate points that get you round corners around the coast, an island or sand bank.

To create these graphs algorithmically could be tricky, but possible. Another idea is to just collect tracks of vessels with GPS and feed these into your database. Or try to collect AIS data: Marinetraffic (if they reached their destination, their route can't be too bad). You could even select the fasted/shortest tracks out of these tracks, if you collected enough data.

For the practical part: Have you heard of OpenSeaMap? They have a bunch of maps and raw data for vessels on the basis of OpenStreetMap (for example waterways into harbours) You could download this data as a basis. They even have a trip planner (Törn-Planer), though this is not automated but you have to create your route by clicking waypoints on the map. Here is a screenshot:

enter image description here

share|improve this answer
    
Very interesting sites! If i would show these green and red markers from openseamap on my map it would make the route one should follow even more clear even though it would not yet solve my routing problem (still a complex todo). To get all the data i need from the marinetraffic site (very cool btw) would be very impractical i think. –  mrg Aug 26 '11 at 11:58
add comment

This site

http://marinecadastre.gov/AIS/default.aspx

has links to US Coast Guard-derived AIS track data and also some software called an AIS data handler. I know very little about it; just passing on the links. It is probably data for USA waters only. Notice that there is a link to source code for their AIS data handler.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.