SLEIPNIR propagation engine
Sleipnir is a mythological 8-legged horse rode by Norse God Odin, capable of overcoming any terrain at unbeatable speed. This name was apt for our purpose built n-threaded LiDAR engine built from 8 years experience working with open source engines like SPLAT! and a significant fork, Signal-Server.
Sleipnir was developed from years of experience maintaining and extending Signal-Server. The code base was complex, increasingly brittle and had come a long way from it’s TV broadcasting origins when it was SPLAT!. Like many open source projects it reached a natural zenith where the maintenance effort outweighed the benefits of starting afresh.
Concurrently, developments in the world of digital elevation data meant the days of using 90m SRTM space shuttle tiles (Mapped in 2000 and still used by other tools today) were being rapidly made obsolete by LiDAR. A growing number of Government environmental agencies like USGS were publishing huge amounts of free high resolution public data. Retro-fitting the old open source tools work with this data was made possible but resulted in lots of duplication to co-exist with the legacy SRTM routines.
A Senior Microsoft (C++) Developer was intrigued by the challenge of efficiently processing high resolution LiDAR tiles to produce a beautiful urban heatmap in record time. His novel design dispensed with legacy tile loading mechanisms where large files are repeatedly read from disk in favour of a memory mapping solution which aside from improving speed, abstracted tile resolution and format from subsequent routines, so the engine would read multiple open standard GIS raster files and form a seamless mesh at a ‘target’ resolution.
Computational improvements were made using intricate knowledge of the Intel chipset which meant the CPU expensive pathProfile() loop ran as efficiently as possible and work could be distributed across n-threads elegantly.
Clutter and landcover data were built into the design at source so like the surface model, open format files could be passed in and layered upon the surface model as a distinct layer with pixel-level attributes. Where a surface model is solid, clutter is permeable and Sleipnir lets you decide by how much…
We considered a GPU architecture, for speed, and experimented with a Cloud-RF fork of a GPU prototype based upon a Masters thesis into viewsheds. Our conclusion was that GPU was indeed faster than software but at a price: it could only scale the processing of basic repetitive tasks eg. viewsheds. Processing millions of points a second is great for marketing but doesn’t help differentiate between concrete or trees. For Cloud-RF’s VHF/UHF community, attenuation (and diffraction) is everything so we dropped our viewshed code onto GitHub for the open source community :p
Benchmark: Signal-Server vs SleipnirTM
Tests were conducted on an a hex core Intel(R) Xeon(R) CPU E5-1650 v2 clocked at 3.50GHz. Signal-Server used four threads and Sleipnir was limited to eight although can use n threads, hardware permitting. Times include image post processing conducted by the Cloud-RF API wrapper.
|Test||Signal-Server (seconds)||Sleipnir (seconds)|
|30m DSM, 10km Path Profile||1.2||0.1|
|30m DSM, 10km radius||5||2|
|30m DSM, 30km radius||34||12|
|2m LIDAR, 1km radius||8||5|
|2m LIDAR, 5km radius||165||150|
|5m LIDAR + 30m DSM, 5km radius (Multi-mode)||N/A||44|
|30m DSM, 50km radius||95||27|
|60m DSM, 100km radius||480||120|
- Sleipnir is consistently faster in all tests
- For point-to-point, Sleipnir is over 10 times faster
- For large area studies of 100km or more, Sleipnir is 4 times faster
- Sleipnir can work with mixed resolution data
Often with LiDAR, a dataset will be limited to a city, a river or a forest. Where a tile finishes you used to get an unsightly hard stop. Now with Sleipnir, surface model data is fused to a seamless raster irrespective of resolution so you could drop 50cm drone photogrammetry from Pix4D onto 30m DSM.
3D clutter support
As well as native LiDAR support, Sleipnir supports wide area landcover like LANDFIRE, custom clutter and 3D buildings with permeable attributes. Look carefully beyond the buildings in this image taken in an area without LiDAR: The large buildings are substantially attenuating the signal whilst the small buildings are allowing the signal to pass, with some attenuation. The level of attenuation is determined by the building thickness and the material attribute which is user defined and defaults to 1.0dB/m.
Unlike previous engines, Sleipnir has been developed under a proprietary license and is only available through the Cloud-RF service. For this reason it does not contain GPL models such as ITWOM3.0. For more information on Sleipnir licensing please contact support.