[HN Gopher] Guide to Making 3D Maps with Satellite Imagery in R
       ___________________________________________________________________
        
       Guide to Making 3D Maps with Satellite Imagery in R
        
       Author : tylermw
       Score  : 184 points
       Date   : 2020-04-28 13:41 UTC (9 hours ago)
        
 (HTM) web link (www.tylermw.com)
 (TXT) w3m dump (www.tylermw.com)
        
       | MR4D wrote:
       | Has this been tried on something like a cityscape?
       | 
       | If so, it seems like you could fly a drone with two cameras at
       | relatively low altitude and get insane resolution for things like
       | cityscapes at a pretty low cost
       | 
       | ====== EDIT: Meant to add that your webpage discussion was great
       | & thanks for sharing!
        
         | tylermw wrote:
         | Thanks! For your question, check out Open Drone Map, which is
         | an open source toolkit for doing just that:
         | 
         | https://www.opendronemap.org
         | 
         | I also provide instructions in my (free and open source!)
         | masterclass on how to take LIDAR data from cities and build 3D
         | surface models that includes buildings:
         | 
         | Github Course Materials:
         | 
         | https://github.com/tylermorganwall/MusaMasterclass
        
         | ladberg wrote:
         | Most "satellite view" imagery of cities is actually done with
         | planes and drones. I just looked up a 3D model of my house in
         | Apple Maps and can see stuff with a few centimeter resolution,
         | which is much higher than any satellite can do.
        
       | aryx wrote:
       | How do I 3d print it with colors?
        
         | tylermw wrote:
         | No color support, but you can export the map to an STL file
         | with the function `save_3dprint()`. You can declare the maximum
         | width/depth and it will scale the model to the size you've
         | specified.
        
       | sailfast wrote:
       | This is super interesting - I had no idea you could do this kind
       | of thing with R. Very cool and a great step-by-step guide.
       | 
       | I also second the "rite of passage to fight with GDAL" sentiment
       | :)
       | 
       | I'd also recommend Robert Simmon's introduction to GDAL for
       | stitching, etc: http://www.openvisconf.com/2017/#rsimmon-video-
       | item
        
         | tylermw wrote:
         | The R GIS ecosystem has seen great strides recently! I've just
         | been working on one part of it: 3D visualization and
         | computational hillshading/raytracing.
         | 
         | And that video looks like a great resource--I'll put it on my
         | watch list.
        
           | kylebarron wrote:
           | You should check out Mapdeck [0]. It's R bindings to deck.gl,
           | a JS 2D/3D geo-visualization package that I've been
           | contributing to. As of version 8.1, there's a TerrainLayer
           | [1] to render an interactive map with a 3D terrain mesh.
           | 
           | [0]: https://github.com/SymbolixAU/mapdeck [1]:
           | https://deck.gl/#/documentation/deckgl-api-
           | reference/layers/...
        
         | amrrs wrote:
         | A self plug. I'd once put together a ppt that's cherry picked
         | 'can R do this kind of examples'
         | https://speakerdeck.com/amrrs/r-in-the-real-world
        
       | burger_moon wrote:
       | Is this similar to what vricon[1] does?
       | 
       | I was searching around and found something noting they won a
       | contract to build the Army's One World Terrain 3d model. This OWT
       | appears to be some kind of classification for applying sat
       | imagery over terrain data sets, maybe?
       | 
       | [1] https://www.vricon.com
        
         | tylermw wrote:
         | It looks like they're a firm that does large-scale
         | photogrammetry to build 3D models worldwide--this is just a
         | tutorial on how to combine existing topographic datasets (e.g
         | SRTM or a USGS elevation product) with satellite imagery to
         | generate small-scale 3D maps in R. Similar in concept, vastly
         | different in scale and execution
        
           | burger_moon wrote:
           | Ok thanks for the explanation! I read through the tutorial
           | and it looks like a fun project to get started in.
           | 
           | One thing also for readers is that https://dwtkns.com/srtm30m
           | requires an account with https://urs.earthdata.nasa.gov to
           | download tiles.
        
             | tylermw wrote:
             | Good to know, thanks! I'll add a note mentioning the need
             | for an account.
        
       | hughes wrote:
       | Here I thought you'd be doing photogrammetry or something to
       | produce 3d maps directly from 2d imagery.
       | 
       | Maybe title should be "making 3d maps with satellite imagery and
       | 3d maps" ;)
        
       | tylermw wrote:
       | Author here, I wrote this to show how you can use the rayshader
       | package to generate 3D maps in R using free and open data (in
       | this case, Landsat 8 imagery and SRTM elevation data). You can
       | check out rayshader's Github repo here:
       | 
       | Github: https://www.github.com/tylermorganwall/rayshader
       | 
       | And browse the documentation (with rendered examples) and README
       | on its website: https://www.rayshader.com
        
         | andybak wrote:
         | On a side note - you don't know a free tile server that serves
         | elevation tiles, do you?
        
           | dtf wrote:
           | The Mapzen elevation tilesets are on S3:
           | 
           | https://www.mapzen.com/blog/terrain-tile-service/
           | 
           | https://registry.opendata.aws/terrain-tiles/
        
             | kylebarron wrote:
             | This is the best option for free terrain tiles. There are
             | four formats, though "Terrarium" is the most used. It maps
             | RGB pixels in a PNG to raw elevation values using this
             | formula [0]. If you're using Mapbox GL, you can just point
             | your map to [1] to fetch the tiles, and then use it as a
             | hillshade. I do that in my topographic map style [2].
             | 
             | [0]: https://github.com/tilezen/joerd/blob/master/docs/form
             | ats.md...
             | 
             | [1]: https://s3.amazonaws.com/elevation-tiles-
             | prod/terrarium/{z}/...
             | 
             | [2]: https://nst-guide.github.io/osm-liberty-topo/
        
           | tylermw wrote:
           | Mapbox has an API you can query from--I believe they have a
           | free tier. The `ceramic` package makes this easy to pull
           | from, but you need to get a Mapbox key first:
           | 
           | https://github.com/hypertidy/ceramic
        
           | tylermw wrote:
           | Additionally, the `elevatr` package
           | (https://github.com/jhollist/elevatr) serves tiles directly
           | from AWS Open Data Terrain Tiles. I don't believe it requires
           | a key.
        
           | jointpdf wrote:
           | Here are a couple more ways to get SRTM tiles:
           | 
           | - OpenTopography (also has 3DEP/LIDAR data): https://portal.o
           | pentopography.org/datasetMetadata?otCollecti...
           | 
           | - SRTM 30M tile tool: https://dwtkns.com/srtm30m/
        
             | tylermw wrote:
             | Related: in my masterclass (free and open source, materials
             | here: https://github.com/tylermorganwall/MusaMasterclass) I
             | also walk through how you can convert LIDAR data into hi-
             | res DEMs to generate 2D and 3D maps
        
             | pks016 wrote:
             | Unfortunately, SRTM 30M tile tool is asking for credentials
             | for me.
        
               | tylermw wrote:
               | You can also query elevation tiles using the `elevatr`
               | package and use them in a similar way.
        
         | ktpsns wrote:
         | Cudos to this code and the beautiful artwork (great README file
         | for a github repository, btw). As somebody who worked a bit in
         | visualization in scipy and blender, I can appreciate how much
         | hard work have been put there. I did visualization as a small
         | side project during my astrophysics PhD, and it was a pain in
         | the ass to get anything good looking out of the data.
        
           | tylermw wrote:
           | Thanks! I always enjoy when a library has a solid README with
           | examples, especially when it's a visualization library.
           | Wanted to make sure I had one myself.
        
           | thdrdt wrote:
           | Today there is a nice GIS plugin for blender which makes life
           | much easier:
           | 
           | https://github.com/domlysz/BlenderGIS/blob/master/README.md
        
       ___________________________________________________________________
       (page generated 2020-04-28 23:00 UTC)