Как заставить Гугл-карты прокладывать маршрут по воде?
Мой знакомый занимается стартапом, связанным с морскими путешествиями на яхтах, лодках и подобных средствах.
Перед ним встал серьезный вопрос, цитирую: «Нужно написать алгоритм, который позволит при построении маршрута на гугл картах различать воду и сушу и строить маршрут только по воде, по аналогии с тем как сейчас строится маршрут только по улицам а не по горам например.»
Сам я ничего в этой теме не понимаю, и поэтому прошу совета у Хабра.
Утро. Озеро. Посреди озера стоит лодка, в ней сидит рыбак, вытирает окровавленное весло и бормочет себе под нос: — «Иисус не Иисус, а когда я рыбу ловлю — никто по воде ходить не будет!»
Если бы в документации было определение, то давно бы уже все было сделано, в том то и проблема. Единственно что там определяется это elevation of this point on Earth, in meters above sea level. Это мало помогает.
Вот один из подходов с помощью анализа графики, но там много погрешностей и он слабо работающий stackoverflow.com/questions/4884654/advice-on-techniques-for-recognising-land-sea-mass-in-google-maps
Задача все таки не ручками а автоматом это делать и красиво огибать сушу по морю.
Возможно стоит посмотреть в сторону OSM? Возможно где-то города и не так детально проработаны в OSM как на гуглкартах, но береговые линии, реки и прочие водоемы там неплохо нарисованы. Так же есть всякие «водные» POI — причалы, маяки, и т.д. Есть даже несколько проектов водной навигации основаные на OSM уже. Да и к тому же можно обхединить силы GMaps и OSM.
Возможно. Есть только одно сомнение что с OSM на iOS и андроиде, т.к. одна из фишек — это мобильное приложение. Был бы очень благодарен за ссылки на проекты с водной навигацией на OSM.
Да посмотрел на map.openseamap.org/map/ и map.openseamap.org/map/weather.php нашел много полезного, думаю будем что-то брать для использования. Маршрут там, правда, так же строится как и на гуглокарте, то есть если ты ведешь линию маршрута через сушу, он ее прокладывает поверх и не огибает. Буду еще думать и искать. А так большое спасибо за наводку.