(by BrianWashburn)
Heron is an add-on which enables the import of GIS data from various sources into the Rhino/Grasshopper environment, located, scaled and cropped
Support Email

Heron is 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 ten 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.  
  • ESRI REST Service Reverse Geocode. Get the closest address or from an XY point in Rhino.
  • 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.
  • XY to Decimal Degrees.  Convert XY coordinates to Decimal Degrees 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.

These components rely upon Newtonsoft.Json and GDAL/OGR libraries which are many and approximately 50mb in size all together.  When installing, please make sure to copy and unblock all of the included DLLs into your Grasshopper Components folder.


  • The components work best if you set the Earth Anchor Point.
  • Querying web services requires the Newtonsoft.Json library and an internet connection.
  • Heron components from the previous release may need to be replaced in your definitions with the same from the current release.

I have tested this project, but it might still contain bugs. Please use it "as is", it does not come with warranties. I spent a lot of time developing the logic and implementing it, please give credit where credit is due. 

To install:

  • In Grasshopper, choose File > Special Folders > Components folder. Save the gha file and all included Newtonsoft.Json and GDAL DLLs there.
  • Right-click the file > Properties > make sure there is no "blocked" text
  • Restart Rhino and Grasshopper


- Brian Washburn