Who would have thought that in order to create a sailing simulator, we first have to build our own version of Google Earth. It turns out that Google (and also Bing Maps) has a limit in the nr of depth/height samples you can request per day. And to generate an island or a coastline in Sailway, the program needs thousands of those height samples per user. So in the end the only way to obtain a workable solution is to create our own service.
But then the next hurdle peeks around the corner: There is no publicly available resource that is detailed and accurate enough. Nautical maps and all other maps are in 2D and contain very little height/depth info that is usable. Often they only cover small parts of the world or have an unusable format. The space shuttle has done a mission called SRTM once, where they used the radar antenna of the space shuttle to measure the surface of the earth. But it contains a lot of measurement errors, has no depth and does not extend beyond 60 degrees north or south.
In the end we found that a combination of a 3D coastal outline vector map, bathymetric data, SRTM data and satellite imagery worked best to create the base height/depth map for Sailaway. The resolution is 10x10 meters per height/depth sample, which sounds pretty good, but really isn't as accurate as we want it to be.
Nevertheless, this resolution means an enormous amount of data. We divided the earth in 86,400 tiles of 1x1 degree. Each tile has 3600 x 3600 height samples that occupy 2 bytes each. The total data size is therefor 86400 x 3600 x 3600 x 2 bytes = 1.6 TB. Computing such a tile takes 4 minutes. That means computing the entire earth will take 240 days.
As a compromise we reduced the resolution of the tiles that contain only deep water or only land to 1200 x 1200 height samples. With every spare computer doing overtime, the computations have progressed halfway as this blog post is written.
In a later phase we will use smaller detailed maps of regions to enhance these base heightmaps further. The U.S. has for instance some very good resources for most of their coastline.
But so far the results are already stunning. Just look at these beautiful renders of the English Channel (you can see the river Seine and all it's side branches), the Waddenzee and the South-West coast of Norway.
This is not how the data is stored though. Each tile only contains a grid of heights/depths, but they can be used to create stunning renders, generate landmasses in the simulator, compute wave heights. Or, together with tidal info, make nautical maps that show the depth and coastal outline based on the current tide.
Curious? Want to know more? Subscribe
and gain access to early releases and stay informed.