Obscura Digital’s installation for the F8 conference uses 3D Cameras like Kinects to track users and map similar interests, friends, locations, etc. The installation queries the user’s Facebook profiles, and uses the data to drive the floor projections. It’s a pretty interesting convergence of digital communication in physical space.
Read more here.
Passed along by Kameron Baumgardner.
As I’ve written before, Meerkat is a really fantastic tool for importing GIS information into Grasshopper. Since many municipalities provide GIS information for free, GIS is an accurate and facile format for introducing geographic information to the GH environment. Meerkat can also be used to provide a framework to translate between geo-spatial and rhino-space coordinates, creating a facile way of mapping geographic locations within Grasshopper.
First, use the Import Shapefile module to prep your GIS files to be referenced by Meerkat. All this means is connecting a Boolean Toggle to the Import Shapefile module and double clicking it- which toggles it to true, activating the Meerkat interface.
Once Meerkat is launched, use the “Add Shape File” button to select the GIS shapefiles you’d like to work with. If this causes Rhino to crash, go into your Components Folder where the Meerkat files are located and unblock the Meerkat component and all of it’s .dll files. This interface is a fantastic attribute of Meerkat as it allows you to crop out any GIS info you don’t want. Use the rectangle at the top of the screen to select the region you’d like to use, then click Crop Shape File(s).
And nothing happens… at least that you can see. Meerkat has saved .mkgis files for you that you now need to reference with the Parse .mkgis module. Use a File Path module to select the correct path(s), and then plug that into the Parse .mkgis module. You may want to turn your Boolean Toggle to False, this will prevent you from launching Meerkat the next time you open your script.
You’ll notice that by default Meerkat positions the GIS information pretty far from the Rhino space origin. One trick to make the data more manageable is to center your data at 0,0.
Use the Area module to get the centroid of the Bounds in Point Space polyline. If you use the Vector 2pt module to calculate the vector between that centroid and a 0,0,0 point (created here by the Construct Point module set to default values), you can then use that vector to center the GIS geometry (Geometry per Shape) in Rhino space. From here you can just use a Polyline Module to create linework from the points.
These steps have created a basemap to work with, but now we need to start positioning geo-spatial coordinates. gHowl’s GEO -> XYZ module does this well, but we need to give it more information before it can run. Use the same vector information we used before to center the Bounds in Point Space polyline on 0,0,0. Explode the polyline, and use List Items modules to isolate the 0th and 2nd point of the polyline. These will become the P1_XYZ and P2_XYZ input of the GEO -> XYZ module.
From here, you need to massage the Bounds in Lat-Long output a little to feed it to the GEO -> XYZ module. The Bounds in Lat-Long output is essentially a string of text that needs to be broken in order to read as two points, use the Text Split module to break up the coordinates at the space. From here, use the List Item module again to isolate each point, then plug them into the GEO -> XYZ. Make sure you put the 0th point into P1_GEO and the 1st point into P2_GEO. Run whatever geo-spatial coordinates you’d like into the P input of the GEO -> XYZ, and you are mapping with Meerkat.
Hong Kong – Walking
Hong Kong – Cycling
Hong Kong – Running
Hong Kong – Vehicular Transport
Creators of the GH plugin Rabbit Morphocode have used Humanco Inc’s app Human to describe circulation patterns in 30 cities worldwide. The circulation is broken down by vehicle, giving interesting analysis about how people move through different metropolises. The imagery is remarkably beautiful and insightful… I would not have expected for Montreal to be #2 on this list for car traffic.
Edit: I incorrectly reported Human as having been created by Morphocode, it was created by Humanco Inc. Thanks @morphocode!
This visualization of Citi Bike usage in NYC was put together by Line Point Path to mark the release of Citi Bike’s System Data. The video’s a gorgeous and fascinating visualization and the Citi Bike Data is a great resource for anyone looking at Manhattan transit.
Passed along by ::Catherine Page Harris.
Since posting last week about Nathan Lowe’s amazing Meerkat GIS, I found this tutorial on how to position your Meerkat Shapefile through an address lookup. Enjoy!
RISD Professor Dennis Hlynsky uses a digital sampling technique to show the flight paths of birds and insects in this incredible video. Hlynsky describes this patterning as a look at “the dynamics of creatures with small brains who come together on mass.” Truly intriguing work with interesting implications for representational techniques for GPS-based urban analysis.
Passed along by ::Catherine Page Harris.
Meerkat GIS is a GH component that loads GIS shapefiles into the Grasshopper environment. The unique element of Meerkat is its ability to prepare and crop GIS shapefiles before loading them into GH, keeping the size of the data to a minimum and keeping things light. Nathan really did a fantastic job of streamlining the interface between large datasets and GH. Download Meerkat GIS here and see Nathan’s tutorial below.
The GPS eXchange file format is a quick and easy way to get geo-located points out of a tracking software such as Strava or MapMyRide. I hadn’t realized that it was in an .xml format until reading Hjörtur Sigurðsson’s blog post on positioning Endomondo information in GH. Sigurðsson doesn’t go into detail about how to develop the script, so I thought I’d play around with it and see how to get .gpx info into the GH environment. This script uses components from gHowl and Elk, feel free to click on any of the images to enlarge.
The first step is to create a link between GH and the .gpx file path. Save the .gpx file you’d like to use somewhere on your machine or server, and then use the File Path module to link the information into GH.
Use gHowl’s Xml Parser module to parse and understand the .xml data.
The .xml data will likely have some metadata at the top of your point list, use the Split Tree module to create a branch without this info. The Split Tree’s splitting input is inclusive, so you want to list the last branch you’d like to remove for the split.
The formatting may change depending on your .gpx source. In this case, the point coordinates were listed as separate items within a branch, so use list items to separate the different coordinates and then merge them back together in a Construct Point module.
Once the points are formatted, follow the same sequence I described in my tutorial on using Elk to Create Maps in Grasshopper. This requires finding a .osm file and SRTM data of the same area that you are mapping. This isn’t an overly elegant solution at the moment, but will allow you to position .gpx information within GH. Good luck!