Please note that Flux.io shut down on 31 March 2018 and is no longer available. However, this tutorial has been kept for legacy purposes.
Site Extractor is an app developed by Flux which allows you to import GIS information. It uses the building outlines and road centrelines from the Open Street Map database and the elevation data from NASA’s Shuttle Radar Topography Mission. When launching the app from your home page, there is no installation required and hence no requirement to have admin rights, which can prove useful if on a work computer. You simply need to grant the Site Extractor app access to your Flux account. Site extractor is also open-source and available on GitHub. To use Site Extractor:
Launch Site Extractor
Click the ‘Launch’ button under Site Extractor on the home page.
Flux will launch Site Extractor, which is a pop-up within Google Maps but exports using MapBox. Before selecting the area to be extracted, select the project to send the data. Note that unlike the previous version of Site Extractor, you can’t create a new project within the app. You must do this beforehand. Alternatively, you can use the default ‘Flux Site Project’ that the app automatically creates.
Once you have set the data layers to be extracted and the project to send the data to, set your extraction extents. If the window is too large, the window will turn red, and you’ll need to reduce the extents.
Hit ‘save’. Once saved, select ‘Saved! Open in Flux’. This action will take you to the Data Explorer app within the project. If the keys, which have been automatically created, are not visible, click on the site arrow to show the menu.
Keys which are in a *JSON format can be visualised within the browser by dragging and dropping the key onto the canvas.
You can show multiple keys individually, or you can compile them into a single view (which is usually preferred). If the data is too large to view instantly, Flux will ask if you want to ‘load value’. It may take some time, but eventually, the data will appear in the window.
Import data into Grasshopper
Once all the data is in Flux, we can pull this data into various software, including Dynamo and Grasshopper. In the Grasshopper example below, I have used Elefont to bake the geometry into Rhino so that they are on the correct layers. This process is not essential and can be left out if required.
Grasshopper script to import Flux’s Site Extractor data
Import data into Dynamo
If you are using Dynamo, then it becomes a bit more complicated as we need to create Revit elements, not just pure geometry as is the case with Rhino. To create a Revit toposurface, we can use ‘Topography.ByPoints‘ node. But before we can use this we need to extract the mesh vertices with ‘Mesh.VertexPositions‘.
Other keys such as water, roads and parks come in from Flux as 3D elements and typically you’ll want to flatten these before bringing them into Revit to make them more usable. To do this we can project the curves onto a plane using ‘Curve.Project‘. We can then create either detail lines or model lines from the flattened projected curves.
The 3D building key is the most tricky. Since Dynamo is unable to create in-place masses we need to explore other options. The best option in my opinion is to create a direct shape using the ‘DirectShape.ByMesh‘ node. Note that the category of the direct shape cannot be changed once it has been created.
Dynamo script to import Flux’s Site Extractor data
All geometry will come in at 0,0,0 (relative to the bottom left-hand corner of the topography) and not in real-world coordinates.
Note that although you may have selected specific data fields to be extracted such as ‘Buildings (accurate height)’, this is entirely dependent on the data coming out of Open Street Map. This limitation means that some of the Flux keys may be empty, depending on your location.
While there are many programs and plug-ins that are capable of extracting the same data (Elk, @IT, Meerkat GIS, and CAD Mapper), the benefit of using Flux Site Extractor is that this data can be sent easily to both Grasshopper and Dynamo. This universality allows both Rhino and Revit users to access the same data, thereby simplifying the workflow.