Hi,
You can do it with open source tools with the gdistance package from R.
Start with this:
http://cran.r-project.org/web/packages/gdistance/vignettes/gdistance-vignette.pdf

(from this page:
http://cran.r-project.org/web/packages/gdistance/index.html
)


You can use the QGIS ManageR plugin to import easily geo data into R.
I would do it this way: Take the OSM coastline (you need a polygon).
Rasterize it (0=ocean, 1=earth). Import this into R (use the raster
package). Define a full conductivity for earth and zero conductivity for
water. The rest is straightforward (cf. gdistance-vignette.pdf pp.
12-15).

There is a full example for a very similar application (here, the cost
is related to sloppy terrain, not water; water is simpler as it is
binary).
You can use R alone or with QGIS.
I suggest you read the first 10  pages of one of the "Documents with
fewer than 100 pages" at http://cran.r-project.org/other-docs.html
It should be enough to understand the gdistance-vignette.pdf

Hope this helps,
Mayeul

Le mardi 14 juin 2011 à 21:13 +0200, Iván Sánchez Ortega a écrit :
> On Martes 14 Junio 2011 17:52:08 Ævar Arnfjörð Bjarmason escribió:
> > The routing libraries I've found seem to all assume that I want to
> > route across roads, whereas for this task all I need is just a
> > coastline shapfile of the planet. I'd then find out if A and B are on
> > different coastlines, or the shortest path between them on land.
> > 
> > Is there anything that does this already?
> 
> The thing you want is called a "navigation mesh". You might want to search 
> for 
> libraries to make and transverse them.
> 
> Do read:
> 
> http://theory.stanford.edu/~amitp/GameProgramming/MapRepresentations.html
> 
> 
> Cheers,



_______________________________________________
dev mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/dev

Reply via email to