algorithmic modeling for Rhino



This is the first release of an add-on which enables the import of GIS data from various sources into the Rhino/Grasshopper environment, located, scaled and cropped based on an Earth Anchor Point and a clipping polygon.  Sources of GIS data include Shapefiles, USGS IMG/HGT Elevation files and ArcGIS REST Services over the web.

The add-on includes eight components in two categories:


  • ESRI REST Service Geocode. Get a Decimal Degree coordinate from an address or Point-of-Interest with the Geocode service provided by ESRI.  
  • Get REST Service Layers. Discover data layers  from various data sources on the web. If the layers are a vector type, they return data similar to a shapefile, with geometry and associated data fields.  To be used with the Get REST Vector or Get REST Raster component depending on the data type.
  • Get REST Raster. Grabs JPGs of imagery from the specified web source.  Once downloaded to a folder the image can be located and scaled to match the boundary in real world units (meters) with the use of the image frame.
  • Get REST Vector.  Queries the web source for geometry and associated data fields.  For instance demographic information from the US Census can be referenced.

GIS Tools

  • Decimal Degrees to XY.  Convert Decimal Degrees to XY coorindates based on the EarthAnchorPoint.
  • Import SHP.  Imports Shapefiles using OGR Libraries. Output is in the form of points (for now) which can then be connected to form polylines.  For Shapefiles with Multipolygons (ie building footprints with courtyards), the component reads mulitple branches of points per Feature.  To get the footprint, you will need to draw a polyline for each branch, shift the branches and use the Boundary Surface component.
  • Import Topo.  Imports IMG and (STRM) HGT files using GDAL Libraries.  Output is in the form of a mesh.
  • Set EarthAnchorPoint.  Runs a macro to set the Earth Anchor Point in Rhino.  This is important to minimize distortion translating from the curved surface of the Earth to Euclidean coordinates.

Special thanks go to the vibrant GH community, the masterful guidance of Andrew Heumann and endless patience of George Waters.

Members: 115
Latest Activity: Oct 7

Discussion Forum

Export shp to projected SRS 9 Replies

Hi Brian,I glad to see the permanent progress of the plugin! I am back with my typical question on SRS, but this time in the context of the export to shp.I have a drawing that is in a right location…Continue

Started by Evgeny Shirinyan. Last reply by Evgeny Shirinyan Oct 7.

First step error 7 Replies

Hi everyone,I'm new to heron .I had trouble with the first step, no matter where I typed in the address I couldn't get the coordinates.It showed this error:1. Solution exception:Unexpected character…Continue

Started by YingYing Wang. Last reply by Brian Washburn May 21.

Shapefile still skewed in WSG84 - How to use userSRS ? 16 Replies

Hi Brian! Thanks for such an awesome plugin! I am new to working with GIS information and the Rhino/GH GIS workflow and I am experiencing some issues with importing a shapefile. I realized that the…Continue

Started by adz. Last reply by Brian Washburn Oct 23, 2021.

SHP import error in EPSG 2154 (RGF93 / Lambert-93) 6 Replies

Hello,Thank you for this very interesting plug-in, I would like to work with a .shp file projected in lambert93 (EPSG: 2154). I am unable to use the import vector function with heron version 0.3.6.…Continue

Started by Paul Albisetti. Last reply by Paul Albisetti Feb 24, 2021.

Comment Wall


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

Comment by Brian Washburn on January 6, 2016 at 8:01pm

Also, can you post more information on the problem you're experiencing with reprojecting?  The GDAL libraries Heron uses, should be able to automatically handle reprojecting from any CRSs to EPSG 3857.

Comment by Brian Washburn on January 6, 2016 at 7:44pm

You make a great point Evgeny!  Heron is based on WGS84 Pseudo Mercator (or EPSG 3857) as both an attempt to use a conformal projection within the framework of Rhino's cartesian coordinate system and for ease of communication with online mapping resources.  Using a conformal projection allows square building footprints to appear square in Rhino.  There are, however, issues with distortion at larger scales as has been documented.  Heron is no replacement for proper GIS software.  It was meant for integrating GIS data into a Rhino model at building/city scale.  At some point it it may make sense to allow the user to specific which CRS they want to use, but that will be pretty far down the road.

Comment by Evgeny Shirinyan on January 4, 2016 at 4:47am

Brian, thank you for the plugin

I have a question related to CRS. Heron uses WGS84 Pseudo Mercator, right? From my point of view this CRS is bad for CAD export because it distorts distances and Rhino can't recalculate distances as it possible in Google maps os QGIS. What is your take on it?

Also I didn't manage to import reprojected shp file (for example in as WGS84 / UTM zone XX). 

Comment by Brian Washburn on November 10, 2015 at 2:54pm

Oh and here is the modified IMG file:


Comment by Brian Washburn on November 10, 2015 at 2:52pm

When I reprojected (or warped) your IMG file from the CRS you specified to WGS84 in QGIS, I get an output that seems usable (see attached).  I've attached the results as well.

Heron Output.JPG

QGIS Reprojection.JPG

Heron Canvas.png


Comment by Eric Galipo on November 10, 2015 at 1:39pm

Ahh. We are using 


as our coordinate system. I am wary of translating out of the existing coordinate system since I need all the other data to line up to this 

I've added the IMG file, if you want to try and replicate my problem.. 



Comment by Brian Washburn on November 10, 2015 at 1:17pm

Heron uses the projected coordinate system for WGS84 (EPSG 3857), but automatically translates data using other coordinate systems.  One reason I've seen for the scale being off is that an incorrect coordinate system is associated with the incoming data.  This can happen when manipulating and exporting data if the appropriate coordinate system is not set.  Try linking the DEM file directly to the ImportTopo component.  It can accept a few raster types other than IMG.

Comment by Eric Galipo on November 10, 2015 at 12:58pm

Thanks for the quick response! 

Yes, i just figured that out. I was assuming that it would be an attribute of the actual DEM/IMG file, but its just something I have to draw on my own. 

So the good news is that I can get the mesh into my model, but now the scale seems to be WAAAAYYYY off, but i cant seem to figure out how its being transformed since. Any guidance on what units Heron is assuming or why it might be scaling the data way up ? 


Comment by Brian Washburn on November 10, 2015 at 12:54pm

When you connect a file path to the "imgLocation" input, a bounding box of the data will show in your viewport.  The "boundary" input is asking for a curve(s) that describes your area of interest which must fall entirely within the bounding box of the data.

Comment by Eric Galipo on November 10, 2015 at 12:06pm

I am a bit of a noob with this, and have a question about the ImportTopo component. 

I have a georeferenced IMG file of my area, which covers about 3 square miles in NYC. I am able to connect it to the ImportToPo component, but I am unsure what the 'boundary' component is supposed to link to. 

I received an DEM file from another party which i am able to open in GIS and export directly to the IMG file. This part works well, and it seems that Heron is able to read it, but I just do not know what else i am supposed to have to plug into the Boundary input. 

I tried watching the instruction videos, but they have no sound and the resolution is not high enough to really see what is going on on-screen. 

any guidance or documentation would be much appreciated. 



Members (115)





© 2022   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service