the parametric V3
urban_analysis [axon diagram] Dan Williamson grasshopper_build: 0.7.56565
This definition generates an urban analysis exploded axon diagram with customized ‘application-like’ settings and controls. Through live geo-spatial data this definition aims to serve a user looking to analyze an number of locations leveraging an ability to quickly make comparisons.
2
the Grasshopper Parametric V3
3
urban_analysis Full Definition
A D B C
G
G F
4
5
the Grasshopper Parametric V3
E
F
urban_analysis Definition Interface & Set-up This routine requires some quick information gathering utilizing Google Earth, Open Street Map, and USGS satellite topographical information. Also, you will need to have the following plug-ins for Grasshopper installed: gHowl, Elk, Sonic, and Horster. The first step is to set-up the information in the Location Set-up part of the routine. To do this, lets start with Google Earth (GE). Find the location you wish to analyze, it is best to find zoom in enough (don’t try and analyze a whole city, runs to slow and can freeze the program) to get your site and the surrounding context. After you find your site and are comfortable with everything it includes it is best to no longer pan or move the position while you extract some data. Go ahead and save the image you see to a folder location (this folder will house all the necessary files for this definition).
step A.1.1
A.1.5
GoogleEarth > file > image After saving an image file the next step is to set a “Placemark� which will serve as a reference point in the grasshopper definition (GD). From this place mark you will also extract the longitude and latitude numbers that will be placed into the GD. To convert the longitude and latitude figures to a decimal figure, navigate to this website:
step A.1.2
http://transition.fcc.gov/mb/audio/bickel/ DDDMMSS-decimal.html Place the decimal figures into the GD.
Next, you will need to make a new line in GE. Save this image and make sure the new line is visible as well as the new placemark created in the previous step. Using GE measure this distance and keep note of the value (make sure you measure in Meters) as it will used to scale the image once it is place in Rhino.
6
A.1.1
step A.1.3
A.1.2
step A.1.4
A.1.3
Open a new Rhino file > Large Objects > Meters. In the new Rhino file use the ‘pictureFrame’ command to place in the image from GE (make sure you are placing in the image with the line and placemark). It is best to always keep the bottom right corner at the origin of the file (0,0,0).
step A.1.5
Using the ‘point’ command in Rhino you need to place a point at the center of your placemark of the GE image. Finally in the GD you can set the reference point and reference Brep to their respective geometries in Rhino.
rhino
7
the Grasshopper Parametric V3
Next you will need to scale your image to the correct size which you will do using the ‘scale’ command, the value from GE, and the line on the image. Once the image is scaled you may have to move the bottom right corner back to the origin.
urban_analysis Location [ELK] Part B of the GD sets up the retrieval of topographical information.
step B.1.1
B.1.1
http://dds.cr.usgs.gov/srtm/version2_1/ With the above website you will need to locate the topographical region your location is in and download the correct file that contains your information. You will then need to copy and paste the path to that file into the panel in your GD. Use the SRTM1 for US and SRTM3 for outside the US locations. The naming convention the website uses follows this format: N22E114.hgt LatitudeLongitude.hgt
C.1.2 C.1.1
Part C of the GD converts the information from the longitude, latitude, reference point, reference Brep and uses that information to find the extents of the desired analysis information needed to retrieve from both Open Street Map and from the USGS topographical database. Step C.1.1 simply uses some math and string formatting to come up with the correct format needed to input into the ‘XYZtoGEO’ component from the plug-in gHowl. The next step takes those GEO coordinates and creates a domain that represents the extents of the referenced Brep. These domains are then input into the ‘Location’ component of the ELK plugin in order to define the amount of Open Street Map data we want to stream into the GD. 8
step C.1.1
step C.1.2
This cluster is created to give the ability to grab the first and last items of a list.
D.1.1
With the correct extents defined in Part C and the correct file inputs from Part B, we are able to begin to extract the topography data and utilize it. With the sTopo component from ELK we can extract the data from the .hgt file. The output from the ELK topography component is a list of points that at times are a little bit funky (some are way below the ground plane). To help mitigate this problem we decompose ‘pComp’ the points and make sure all are above the ground plane. Then through a Cull pattern we are able to dispose of the funky points and input all the valid points into an Interpolated Curve ‘IntCrv’ component. The resulting curves give a preliminary visual to the ground condition. Make sure and flatten the output of curves for the ensuing steps.
9
the Grasshopper Parametric V3
step D.1.1
urban_analysis Information Extraction Part D of the GD involves extracting information from the OpenStreetMap file or stream, as well as extracting the information from the USGS file. This information is then passed on the graphics portion of the GD and disseminated there. The ground surface if created through a ‘loft’ component utilizing the interpolated curves that were generated in part D. This geometry is then sent to an “on/off” filter and then the path is formatted with a ‘pathMapper’ component and sent to Part F.
Utilizing the surface created in the previous step and a ‘contour’ component we are able to derive the topographical contours. The distance between these contours is defined in the Definition Interface. Also utilizing the surface created in step E.1.1 and the ‘Flow’ component we are able to create a visual representation of the way water would flow along the site (The flow component is from the Sonic plug-in). The length, number of, and degree of calculations can be defined in the Definition Interface that result in different visualizations.
E.1.3
10
step E.1.1
step E.1.2
step E.1.3
E.1.1
step E.1.4
E.1.2
In this step we begin to utilize the remaining components of the Elk plug-in. The available information to be extracted lies within each component:
E.1.3
Highways Major Roads Minor Roads Railways Waterways
E.1.4
Each one of the sections in logistically done the same. The data from the ‘Location’ Elk component at the end of Part D is input into each component defined above. The above components are then sent through a gate that will define if you want the data to be visualized with an interpolated curve or a polyline. That option is available in the Definition Interface. After the visual preference is made the data is sent to an “on/off” filter and finally to a ‘pathMapper’ to appropriately define the correct branch structure.
11
the Grasshopper Parametric V3
E.1.4
urban_analysis Graphic Options Part F of the definition is somewhat separated in the actual GD. What is done is the graphical options are separated into the Definition Interface while the actual working logic is handled at the far right end of the GD.
The first step merges all the data extraction from part E. Through a ‘merge’ component we are able to organize all the graphical data into one branch structure. We then trim any data that may be visualized outside the dimensions of the reference Brep. That final clean data is then analyzed and moved according to the data you wish to be seen. Through a ‘series’ component and a branch of vertical vectors are generated that move each branch of data vertically for the exploded axon effect. The degree of that separation is defined by the step within the series, which is found within the Camera Set-up portion of the Definition Interface.
Once all the data is moved each individual branch is extracted which gives us the ability to color each “layer” of the exploded axon as we wish. These controls are then all house in the Graphic Options portion of the Definition Interface.
The final graphic options that can be controlled are the text labels for each layer. This is done through utilizing the blue panels that label each portion of Part E. The text of those panels are inserted into a ‘merge’ component and then into a ‘text tag’ component. The placement of the text is defined by a corner (which changes if the camera changes, see Part G) of the referenced Brep. The corner point is then moved vertically with the same vertical vector from step F.1.1.
12
step F.1.1
step F.1.3
step F.1.3
13
the Grasshopper Parametric V3
F.1.1 F.1.2
F.1.3
urban_analysis Camera Set-up [Horster] Part G, the final aspect of the GD is the ability to control the camera within Grasshopper. To do this we utilize the Horster plug-in. The overall goal with the setCam component is to prescribe a vector and lens length that will define the Rhino camera. This portion of the GD also makes sure the analysis information will sit appropriately within the camera.
The first step to set up the vector to view the analysis information will be defined by the reference Brep of the placed GE image. Using opposite corners of the Brep the initial end points of the vector is established.
step G.1.1
G.1.1
After the 2 points are identified, one representing the target location and the representing the camera location. We then move one of the points vertically and father away to give some control over the zoom of the exploded graphics. A vertical move is added into the GD to all the graphics to shift if need be within the view of the camera. These controls are housed in the Definition Interface. Finally the two points are input into the ‘setCam’ Horster component as well as a slider with lens length and a boolean “on/ off” toggle. 14
G.1.2
step G.1.2
step G.1.3
G.1.3
the Grasshopper Parametric V3
15