А кстати что сейчас наиболее адекватно умеет строить водные маршруты? Чтобы можно было указать какие препятствия считать проходимыми в зависимости от типа судна, на какое растояние допустимо удаляться от берега (чтобы не предлагало море по прямой пересечь на байдарке).
Водный роутинг есть в приложении Osmand, но он, кажется, не учитывает класс и водоизмещение судна. :) Я вообще не уверен, что для этого вида препятствий есть сложившаяся система тэгирования.
Кроме того, я рекомендую погуглить по словам "brouter canoe", беглый поиск показал, что движок brouter используют для водного роутинга, можно поискать профиль транспортного средства (конфиг-файл с описанием правил маршрутизации) под этот движок.