algorithmic modeling for Rhino



Elk is a plugin used to generate topographies and street maps using data from and Shuttle Radar Topography Mission (SRTM) data from NASA/Jet Propulsion Laboratory.

Members: 355
Latest Activity: on Saturday

Discussion Forum

ELK2 — grasshopper on mac — seems to work except for file parsing error 2 Replies

ELK seems to work on grasshopperMac, except for the file parsing.a typical mac path "/Users/Name/filename.ext" file path > TOPO component throws this error: Method has no base.changing the path to…Continue

Started by _fb. Last reply by ist May 28.

System.Xml.XmlException:Invalid character in the given encoding this link for HGT files, the file …Continue

Started by Manish May 20.

Opening and Displaying SRTM (hgt) data in Rhino 17 Replies

My goal is to be able to open and view SRTM data in Rhino.I am attempting (new user) to create a script file in Grasshopper using ELK to display SRTM (.hgt) data in RhinoAttached is a screen shot of…Continue

Started by Dylan Burns. Last reply by Mathias s n Dec 29, 2018.

elk 2.2.2 topography component not showing error but not generating anything in rhino 2 Replies

i have watched tutorials on elk 2.2.2 and have the same exact script, using 1 arc second geotiffs and 2 construct domain components to define the area for the topography, but nothing is generated in…Continue

Started by Colton Diehl. Last reply by Taylor Wolak Nov 7, 2018.

Comment Wall


You need to be a member of Elk to add comments!

Comment by Timothy Logan on May 1, 2014 at 12:35pm

I haven't seen any problems with it working in 0.9.0075.

Comment by Reham Ahmed on May 1, 2014 at 12:15pm

Are the Elk compatible with new version of grasshopper (0.90075) ?

Because component is working but no output ! 

Comment by Timothy Logan on January 19, 2014 at 11:28am

You can use the GenericOSM component to get building footprints, but it doesn't do anything about height information so it would be up to you to determine heights and extrude them manually.  It doesn't do anything with Google Maps so anything you want to try and use that for and integrate what you're doing with Elk will be entirely manual or up to you for automation.

Comment by johnnyUtah05 on January 19, 2014 at 9:36am

I have been using elk for generating topos etc.., however I really wish to trace google maps or use the OMA data to create building silhouettes along with the roads. Once these silhouettes are created is there a tracing option to bring vectors in?

Comment by Andrei Mgr on December 8, 2013 at 7:02pm

       This seems to be a very powerful plugin, with allot of potential so thanks for sharing it. I have been using it on several projects so far and after playing around with the GenericOsm component a fair bit I was unable to extract building:levels map feature. I have tried several Osm files and the files seem to be ok. I've opened them and checked that building:levels information is present and all of them had at least some information. Even the definition Patrick Scott posted earlier using the same Adelaide osm he attached yields no results for me.

        The "building:levels"  or "building:colour"  keys when imputed into the Generic OSM seem to return the same result as the "building" key. I get no result for K = "building:levels" V = "1" but i get plenty for " building:levels" = "apartments". Is it impossible to retrieve building:levels or similar formatted keys with the current GenericOSM component, or am I missing something? Any ideas or tips highly appreciated.


Comment by Timothy Logan on October 21, 2013 at 3:37pm


Currently the GenericOSM only accepts one item for the value so you'll either have to use multiple components to get the value's you need, or you'll have to us the '*' variable to get all of it, and then evaluate the feature key's output to cull the items you don't want.  I'll look into multi-input for the component.


as long as you have a closed surface you should be able to extrude it and cap it.  An alternative is to use the Boundary Surfaces component to create a planar surface from the closed polylines and then extrude them.  If the boundary surface component isn't work then it's probably because your polylines are either not closed or not planar.

Comment by pwdarden on October 19, 2013 at 7:44pm

any tips on how to cap building massing?  i've used patrick scott's definition posted below on oct 11, 2013, but for some reason the cap component doesn't work.  any suggestions?  

this plug in is amazing.  thank you so much for sharing it.

Comment by Patrick Scott on October 11, 2013 at 11:06pm

Just wondering how to input 2 or more values in to GenericOSM. Much like your pre made components. Eg highway = "footway" + "cycleway".

Dying to see some more advanced tutorials!!!!!!

Generating 3d buildings would be amazing

(my novice attempt, based on no. building levels assuming level height is 3.5m)


Comment by Timothy Logan on October 10, 2013 at 10:43pm

A new version of Elk is available.  There was a lot of duplicated code in the earlier versions since once I had one working component I would just copy/paste to start the next one.  The new version (0.6.1) has been completely rewritten and should make changes and updates in the future easier to handle.  It works similar to previous versions, but there are some changes/omissions this time around.

First, I've removed the streaming option from the Location component.  I don't think it's been working in a while and I haven't been able to reliably get it to complete the download via the component, so it's gone.  I also always found it to be a hassle to download the same information each time the solution was refreshed.  You can still use Overpass (here or here) to download the data and feed that into Elk.  If the community finds it beneficial, I can add a component that generates the overpass query to get the download, but there would be a second action to link it to the location.  Because Overpass content does not contain the Bounds (latitude and longitude domains) it determines the bounds from the dataset, so specifying the longitude and latitude won't be necessary.

Also missing from the Location and SRTMTopo components is the scale function.  Elk was originally created for a specific project where I wanted to maintain a specific size and not necessarily a scale, so I included the scale function to manage that.  Releasing Elk for a wider, more generic use has convinced me that the standard Grasshopper scaling is more adequate for most applications.

Other than those exceptions, the components should work more or less as they have before.  If you notice anything out of the ordinary let me know.



Comment by Timothy Logan on October 3, 2013 at 2:48pm

No, it only handles one HGT file at a time.  You can check this out to see an example of stitching together a single topo that uses two tiles.


Members (355)






  • Add Photos
  • View All

© 2020   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service