top of page
Search
  • Writer's pictureWill

Translate latitude/longitude into Rhino model with Grasshopper


This set of three components for Rhino 6 Grasshopper 1.0 is intended to help users translate Earth coordinates into Rhino model coordinates. The tool is under MIT license and was developed in tandem with R&D effort at Pelli Clarke Pelli Architects, Inc.

There are myriad tools that offer the functionality of geo-locating Rhino model in the real world. I’ve been inspired by such tools as Elk in Grasshopper. But I wanted to come up with something that is even simpler and lower level. That means a more modular function that can be integrated into larger scripts. The most prevalent way of locating objects on the globe is latitude/longitude coordinates(LAT/LONG). Rhino provides an EarthAnchorPoint command that lets users define the location of the digital model in the real world. My components place objects, given their latitude and longitude, in relation to that anchor point.

To make use of these components, you’ll first need to set up the Rhino model. See EarthAnchorPoint doc for reference. Then you’ll need to have a LAT/LONG coordinates. Many databases document objects with point coordinates that have LAT/LONG values. For example, the user case that prompted the development of this tool was a database with tree locations over a large area of a city. We needed visualization of vegetation and we couldn’t find a straightforward way to locate thousands of trees in the digital model quickly.

Once you’ve loaded the “.ghpy” file into Grasshopper’s library folder(make sure you’ve unblocked it after downloading from internet), you should be able to see a tab “PCPA” and the three components are in the “DDD” section.


The “EarthAnchorPoint” component reads the Rhino document’s EarthAnchorPoint and returns the necessary information. You’ll need to input an index into the “i” parameter. Index 0 is the EarthAnchorPoint point object, 1 the latitude, 2 the longitude, 3 the elevation(not useful at the moment), 4 the true north, 5 the true east. “S” outputs a message. If EarthAnchorPoint isn’t defined in Rhino document, it’ll tell. “I” is the actual data.

The “Unit LAT/LONG” component should take in the anchor’s latitude value and it will return the unit distance per 1 degree in latitude and longitude. The number is in imperial unit system.


The “Translate” component locates the points with given LAT/LONG. “y” input is the anchor’s true north vector and “x” is true east. “oLAT” is the anchor point’s latitude, “oLONG” its longitude. The last input “coor” takes in point(s) that has x values of latitude and y values of longitude. “Translate” will correctly place these points in the Rhino model.

This tool currently does not take elevation into account because it is rather easy to translate. An object 10 feet off ground should be also 10’ off the ground datum in your digital model. Please feel free to contact me if you have questions.

Tool can be downloaded here

Recent Posts

See All

How to pass all ARE exams

Now that I’ve finished all my ARE exams and registered as an architect, I can summarize a few pointers for anyone still in pursuit. These are things that I found to be noticeably helpful along my way

ARE 5 and prep materials

Here is an update on my progress on ARE 5 exams and my experiences with the preparation materials on the market. Ever since I passed my three managerial exams (PjM, PcM, CE), I've taken a long hiatus

GhPy can multi-thread too! But wait...

GhPy component is known to be a bit slow in its performance because of the JIT compiler it utilizes. However, GhPy is a powerful widget to test out scripting logic without the baggage associated with

bottom of page