Showing posts with label lidar. Show all posts
Showing posts with label lidar. Show all posts

Monday, 30 March 2020

Making 3D landscape and city models with Aerialod

This is my second post on Aerialod - the interactive path tracing renderer for height maps, by @ephtracy. It's available in 32 and 64-bit versions on Windows and it's super-lightweight but you can do some really amazing things with it. My previous post covers more of the basics, including controls and interface settings, so here I'll share some more information on how to tweak the settings (of which there are many) to create nice looking vistas. But as a quick reminder, hold down your right mouse button to rotate the map and use the space bar plus the left mouse button to move it around. Scroll wheel to zoom in and out. Keyboard shortcuts are here.

First I'll show you some new visuals I created in Aerialod, then I'll show you some of the settings I used to create them - in screenshots and in a small slide set. All the images I've posted below are in a shared folder, as well as a sample Lidar dataset for Cheddar Gorge in England that you can just drop in to Aerialod and then tweak the settings as you wish. You can of course create these kinds of images in other software (notably Blender) but Aerialod is much easier to use, though can be confusing at first.

Update (3 Nov 2020): here's an alternative shared folder on Dropbox, just in case either one is blocked where you are. The Dropbox folder is the best one to use though. I've left the other one above online as an archive.

So, let's begin with the highest peaks in Scotland, England and Wales, plus one other view that I like.

I did this using a 5m DTM (not open data)

See the curved horizon? - that's the SG lens setting

A very nice looking mountain

I've added Glen Etive because it's so lovely

But of course we don't always have to map things like mountains. If we have good quality Lidar data, as we do in much of the UK, we can create quite interesting cityscapes, as you can see below.


Here's a little Salford Sunset to get things rolling

A Newcastle-Gateshead vista, along the Tyne

The example data I've put in the shared folder is of Cheddar Gorge in the south west of England, and it looks like this once you fiddle with a few settings.

Sun low in the sky, dusky effect

I've tweaked some of the settings here to make it glow

Different angle, light filtering through the gorge

A foggier, early morning effect

So how do you do all this?
If you've not used Aerialod before then you'll really need to read my first blog post on it in order to get to grips with the controls, etc. Once you've done this, look closely at the screenshots below as the settings in them show you how I achieved the effects in the four images above. Study them closely and then see further below for a short slide set with more annotation on the settings options in Aerialod.

Take some time to Google some of the different terms and they'll begin to make a lot more sense - e.g. the Rayleigh setting refers to Rayleigh scattering, which relates to the blue colour we see in the sky. So, using the default Rayleigh setting in Aerialod you'll see a blue sky but if you reduce the number to, say 10, it will become more blue and if you put it up to 90, for example, it will look a lot less blue and instead more like a lovely glowing orange/yellow sunset. 

This relates to the first Cheddar Gorge image

This also relates to the first image

Notice the glowing light at the corners here

This is the fourth Cheddar Gorge image above

In addition to reading this, it's a good idea to check out the @ephtracy Twitter account for other tips, plus the #aerialod hashtag on Twitter. There are also now a few good video tutorials online, including this one by Steven Scott.

Here is the small set of slides, with annotated screenshots, that I made in order to help you get to grips with the settings a little better - direct link here.




All this, including the data, can be found in the Aerialod tutorial folder I made for this short blog post. Just drag and drop the .asc file I provided into Aerialod and start playing around.

I've put everything in here

The information above should be all you need to create more realistic, impressive 3D landscape or city models. It all depends of course upon being able to get good quality data at a high resolution - I've provided an example in the folder, but you can get a lot more on the Defra Lidar download page for England. You can use the OpenDem searcher to find suitable data for other parts of the world.

To end, I'm just going to post a few more images that I haven't shared anywhere else before, before a few final comments.


This is done by keeping the 'Map' option on in Grid settings

In the example above, I have all the options on in the Grid settings (Map, Ground, Vertical) and then I have used a value in the 'Step' settings on the right to match the resolution of the underlying data (in this case 5 metres) so that I get a blocky kind of effect - see below.


This works if you want to Minecraft your map

The Western Highlands of Scotland

In the image above, I just used a 1:50,000 Land-Form dataset shared by Carol Blackwood to render the Western Highlands of Scotland - I added the labels using GIMP. You can get the individual tiles as open data from Ordnance Survey as well (OS Terrain 50).


This city is home to two football teams, as you can see here

In the example above, I've just taken some Lidar open data of Liverpool and created a view looking down on Anfield and Goodison - home to Liverpool and Everton respectively. They are very close together and the densely packed terraced housing nearby also makes for an interesting example use case with this kind of data.

And, last but not least, St Kilda - a very wild and remote archipelago off the Western Isles of Scotland that is now a World Heritage Site.


In this example, I've added some fog

Notes: you can add a single file to Aerialod (it can handle PNG, JPG, TIF, IMG and ASC formats) or you can add multiple files at once using the little button on the top right that looks like a folder. That is covered in my previous blog post. If you try to load humongousbytes of data then it may crash. Sometimes it won't crash but just won't load. Generally I find it just works and the Scotland 1:50,000 terrain model above is over 600MB and worked fine for me. Just remember that when you hover over any of the tools in Aerialod you will get information on what it is and what it does at the bottom of the window. 

Citation: Blackwood, Carol. (2017). Scotland Land-Form PANORAMA® DTM, [Dataset]. EDINA. https://doi.org/10.7488/ds/1929.

Friday, 8 November 2019

Amazing 3D rendering with Aerialod - a tutorial

One of the more exciting developments in recent years for those of us into geospatial things is the arrival at the end of October 2019 of Aerialod by ephtracy. What am I talking about? I'm talking about being able to create the kind of images you see below in only a few minutes using free software and open data. Scroll past the images for some tips on how to do this, and note that this write up was completed on 8 November 2019 and refers to v0.0.1.

The Cuillin ridge in Skye

Part of the City of Belfast in Northern Ireland

This is indeed a little bit of London

A little circular bit of London

This is also London, for Millwall fans

The Cuillins in Skye, featuring Sgùrr Alasdair

This is Sheffield, around the area where I work

Okay, so how do you get up and running? First of all, go to the Aerialod website and download the package you need. It's Windows 64- or 32-bit only for now and you just download and unzip and then run the .exe to launch Aerialod.

You do get some sample raster data in the zipped download (in the 'map' folder) but if you also download the 'Sample Maps' archive next to the software download button you'll get a central Manchester Lidar png and a Mars (yes, the planet) png. This is a nice reminder that Aerialod is able to handle different formats, including .asc, .png. and .tif for example. I haven't tried any other formats though I think you'll be okay with .jpg too.


They don't look like much here, but wait and see!

When you launch Aerialod you'll see something pretty much like the image below - and it will have that blocky sample layer in there. This is useful for playing around with so you can get to grips with navigation etc. Just note that when you zoom or move around Aerilod may briefly look pixelly/fuzzy as it re-renders, so don't worry about that. It sharpens up perfectly once it's done, although with more complex layers it takes a bit longer.

You may be a bit bewildered at first, but it won't last long

Before I forget, be sure to look in the config folder and open the hotkey.txt file, which I've shown below. That's really useful. But I find mouse navigation easier, so read on. Also note that the second section of hotkey actions below combine a left mouse button click with keyboard actions too.


Hit D and be amazedx

If you are finding the interface too small and can't actually see the icons easily (e.g. if you have a 4k monitor or something like that) then you can use CTRL + or - to scale the UI but you could also just edit this bit of the config.txt file (in the config folder) so instead of 1.0 it says 2.0, like below:

view :
{
// 0.5 ~ 3.0
ui_scale : '1.0'
}


Okay, we're all set now so here are the basics of moving things around:


  • Scroll wheel/middle mouse button - you can scroll forwards and backwards to zoom in and out and with the button pressed down you can position the layer wherever you want. 
  • Right mouse button - tilt/pan/rotate etc. Just have a play and you'll see what I mean.
  • And of course with keys, as above, W to zoom in S to zoom out, D to rotate clockwise and A to rotate anti-clockwise.

You loaded the software, figured out navigation with the sample data but now want to render some real world stuff. See below for how to do that.

There are tons of sources for this, including things like NASA's 30 metre SRTM but really it's going to look best with high-resolution DSM or DTM data and for this Lidar is ideal. On the Aerialod page they link to two potential sources of this - the UK's Defra Lidar page where you can download a variety of 25cm, 50cm, 1m and 2m Lidar data for England or get NASA's HiRISE data for elsewhere in the universe.

To get data into Aerialod, the easiest method in my opinion is just to drag and drop a raster file straight in, so that's what I just did with the Manchester.png layer you can see in the screenshot below. To be clear, what you see below is just the result of me dragging and dropping a png file into Aerialod. I haven't done anything else yet.

That was easy!

Before I say more about settings, a word on getting data into Aerialod in other ways. In the top right of the window you'll see a save icon. That will save the raster layer (not the 3D render) to a location of your choice. The next button (the open folder icon) will let you open a new single layer instead of dragging and dropping into the window. The next button (the closed folder icon) is a bit different, but it effectively allows you to stitch together all layers in a single folder, and it's amazing. Just click one item in the folder and it will add them all, as you can see below. The final button (blank page) just starts a new Aerialod blank view.

Stitch multiple files!

Okay, see below for where I've used the open folder button to add a single layer. This is for a single tile (of about 7MB) near the University of Sheffield. In the image below this, I've used the closed folder icon to select the first item and then all layers are added. You don't actually have to select the first item though, just any of the files in the same folder. This is really handy as when you download Lidar data it's more than likely going to be comprised of lots of little chunks as individual files.

Single layer from within a folder

All layers from within a folder

If you get too greedy and try to add a gazillion zigabytes of data, Aerialod may crash. I know, I've tried. Anyway, for the rest of this tutorial I'm mainly going to use the Manchester.png sample file provided on the Aerialod download page - and what you see below is the result of me just dragging and dropping it into the viewer. This covers a good chunk of Manchester city centre and also a bit of Salford and Trafford and to the left of the image below you might just spot Old Trafford - both the football and cricket ground.

Just another sunny day in Manchester


Okay, so the rest of this will cover the main things you need to know but I can't cover everything because a) that would take too long and b) I don't actually know enough to tell you everything and I'm kind of learning as I type here. So the two annotated screenshots are my main contribution for now. Look at the images closely though and you should learn enough to produce great visualisations in not much time at all.

Click on the next two images for a little explainer of what does what and then try it yourself.

This covers the basics, click to expand

Some more tips - including on Focus


Offset - actually quite useful for flood viz
A full screenshot so you can see some of the settings here

That's basically it for now. All that's left to say is don't forget to check the #Arielod hashtag on twitter as well as the @ephtracy Twitter feed. Last of all, don't forget that you can drop all kinds of things into Aerialod, not just terrain models and suchlike. I've experimented with adding in photos of people, which often looks sort of cool but also weird, and I've tried all sorts of other stuff but I'll end with one of the MiniScale raster relief maps of Great Britain which are part of their open data offering. It's not intended to be used this way but I think it looks quite interesting.

This actually turned out alright


Thursday, 22 December 2016

Creating a 3D city model using open data for England

This is a short informational post on how to derive building heights using open data, for areas in England. I am also sharing the data in the visuals you see below. However, if you have access to similar data in your country then you can replicate the method. It's basically the same as others have posted elsewhere, so I don't claim this is a first - I'm just posting it in case others find it useful. And I've also added local authority names to the building outline files, hence the different colours you see. First of all, though, here's an example of what you get at the end of the process.

You can find the raw data in shapefile format here

Of course, this alone would be no fun without having a little interactive version in the web browser, so here you go - knock yourself out! The buildings are coloured by local authority - blue for Trafford, purple for Salford and green for Manchester.

Click for a little interactive extract of the first image

Here's the basic method for adding heights to the building polygons.

  • Download some building footprint data. I used OpenMap Local from OS OpenData and this comes in named tiles (as per the naming conventions of the British National Grid - NH, NN, NS and so on). I used data from the SJ tile, covering Greater Manchester. When you download it you'll get loads of layers but in the data folder you should see one called Building.
  • This building data doesn't come with any height attributes so we need to find a way to add that in. This can be done by using free, open LIDAR data available for England and Wales via the Environment Agency. You can also get aerial photography here, by the way. The data come in a variety of resolutions but I chose the 1m version as I wasn't overly concerned about precision. If you download the 25cm resolution LIDAR data the files will be huge. I downloaded tile SJ89 and both the DSM and DTM products. The DTM is a digital terrain model so it gives us the lay of the land, as it were, and the DSM is a digital surface model so includes the height of anything on the land beneath. The image below probably explains it best.
Source: StackExchange

  • I then add the DSM and DTM files to QGIS (I used version 2.14) as a virtual raster. Otherwise you'll end up with loads of individual raster tiles if you add them one by one because the SJ89 LIDAR data comes in lots of little chunks. You can find out more about this - and how to add a virtual raster - in this extremely useful blog post. The brilliant Owen Boswarva also has some really useful info and links on his mapgubbins site, so check that out too.
  • Because the DTM gives us the height of the land and the DSM the height of any features on it, we need to use the Raster Calculator in QGIS to calculate the height of buildings. But fear not! This is also very simple, and is explained in the blog post linked to in the last bullet point. The only thing I did differently is I just manually selected the area of buildings that covered the SJ89 tile using the Selection tools in QGIS (and then saved it as a new shapefile layer).
  • Before using Zonal Statistics in QGIS to calculate building heights - and bear in mind they are not exact - I just had a virtual raster which was obtained by subtracting the DTM from the DSM layer in QGIS, plus a buildings layer which covered the same area, as you can see below. It was these two layers I used to derive the building heights.
This area is centred on Greater Manchester
  • Then I used the Zonal Statistics tool in QGIS to calculate a mean, min and max height for each building polygon from the LIDAR data. You could just use the mean but I wanted more information so I just left checked these boxes when running Zonal Statistics. The method is also described by Brendan, here, but you should note that in version 2.14 this tool will be in the Raster menu. Note that you may find nothing happens after running Zonal Statistics - don't worry, QGIS has just added the new fields (max, etc) to your shapefile without any fuss so check the attribute table.
Here's an example of my final shapefile, with new height attributes

  • Once you've done that, you should have the ability to analyse building heights and produce a fairly credible 3D model of your area of interest. Just bear in mind that things like pitched roofs, curved roofs and other shapes will not come out when using this Zonal Statistics method. For that, you could of course use the raw DSM data if you wanted.

That's it really. I'll finish with a final big version to which I have added some labels. Right click and you should be able to see it full size in a new window or browser tab.

Hastily patched together, but I hope you get the idea...