Our Maps of Reality

Boys On Hudson
Data Art
Published in
3 min readNov 13, 2018

In the last couple of weeks of the Data Art classes, we’ve had a lot of discussion about the notion of “map”, its form and function, the contexts, and the symbolic meaning. Intrigued by MacEachren’s cartography cube that encapsulates the distinctive characteristics of contemporary map use, I wonder what a map would look like in the digital era. Should we start to rethink how symbols on our maps could be visualized to represent the “new information”? Is it necessary to create new ways to interact with a map through cool new gadgets? How would the enormous data we collect every day shape the way we look at our physical world?

Pokémon GO could be a good example that helps to reimagine the use of a map through emerging technologies. It’s an AR mobile game, using the mobile device GPS to locate and capture virtual creatures. Those creatures appear as if they are in the player’s real-world location. Similary, James and I have created a prototype of a map in AR using the Mapbox Maps SDK for Unity, and we chose to display vehicle collisions from NYC Open Data on top of the map. Here are the steps we followed for this project.

Step 1: Prepare your data

Download the data from Open Data NYC, convert it to a GeoJSON file, and then import it to Mapbox Studio as a dataset. Once imported, export the dataset to tileset. Click into the tileset, and copy the Map ID for later use.

Step 2: Install the Unity ARKit Plugin

Unity has made a plugin for iOS devices with ARKit, and it’s fairly easy to set up. Just download the plugin, follow the instruction, and import the package into the development environment.

Step 3: Create a map in Unity with Mapbox

  1. Download and import the Mapbox Maps SDK for Unity.
  2. Configure your Mapbox access token by navigating to Mapbox > Setup. At the same time, choose TabletopAR as a starting scene.
  3. Select MapRoot in Hierarchy, and then search for a place or put in latitude and longitude for the location under the Abstract Map general settings in the Inspector window.
  4. Under Map Layers, paste in the Map ID, and then Add Feature under Features. Follow up settings like selecting the dataset in the Data Layer dropdown menu and choosing the property you want to display.
Configure your Mapbox access token
Select the Map object and search for a location
Go through settings under Abstract Map in Inspector menu

Step 4: Attach the Unity ARKit Plugin scripts

Finally, to get the map up and running, first add the UnityARVideo script as a new component to Main Camera and set the Clear Material to the YUVMaterial provided in the Unity ARKit Plugin package.

Second, create an empty game object, rename it to to something like ARCameraManager, and then add a new component of UnityARCameraManager script. After that, associate this camera manager with Main Camera.

Now, it’s ready to build the Unity project, and install and run the application on the iOS device via Xcode!

--

--