BIM to GIS: there and back again (1)

San Diego, 09.07.2019. Esri UC One of my main focuses here at the Esri User Conference in San Diego is diving deep into the ways of having BIM and GIS talking together. I said I was working towards expanding my horizon: I never said I was going to become a cartographer (sorry if you’re disappointed). […]

San Diego, 09.07.2019. Esri UC

One of my main focuses here at the Esri User Conference in San Diego is diving deep into the ways of having BIM and GIS talking together. I said I was working towards expanding my horizon: I never said I was going to become a cartographer (sorry if you’re disappointed).

Being here, it’s hilarious to hear these GIS guys talking about those BIM guys out there: I feel like I’m undercover. Until I ask a question, and I blow such cover, and everybody all of a sudden is asking me Revit questions. I can’t seem to manage to keep a low profile. But you already know that.

Yesterday in the keynote, we had the opportunity of seeing how the City of Pasadena really rocks: they have a requirement for all new projects to deliver a BIM model (yeah, I use the sentence “BIM models”: screw you and your fluffy kittens) and all models are collated in their GIS platform for consultation, code verification and what we’re learning to call asset register.

Of course they innovate: they have palm trees.
Of course, they innovate: they have palm trees.

Today I aimed at a bunch of interesting talks on the same topic:

  1. Integration of Location (GIS) and Design (CAD/BIM) for AEC Projects, including two contributions being:
    1. Migrating MicroStation to GIS for Engineering Projects in 2-3 easy steps by Gerardo Boquin and Teresa Smithson;
    2. BIM-CAD-GIS integrated Planning-Design-Construction-O&M Application at WisDOT by Lance Parve.
  2. CAD: Introduction to Using CAD Data in ArcGIS by Jeff Reinhart of Esri (unfortunately scheduled at the very same time of the first one, so I’ll give it another shot when they deliver this again tomorrow at 4 pm);
  3. CAD: Introduction to Using BIM Data from Revit by David Alvarez, Ho Ming Yim and Michael Contreras (all Esri);
  4. BIM and GIS: an introduction, by Chris Andrews, the same David Alvarez and Don Kuehne.

I’m going to share some thoughts on all of them. This is not a review of the classes: I’m too new to this convention to afford that.

I do have opinions, though.
I do have opinions, though.

1. Integration of Location (GIS) and Design (CAD/BIM) for AEC Projects

Interesting stuff was presented in this session, including the launch of plug-ins for direct, seamless integration between ArcGIS and Revit, and the possibility of opening native Revit files directly in ArcGIS. Exciting times indeed.

1a. Migrating MicroStation to GIS for Engineering Projects in 2-3 easy steps

Not really my piece of cake and I’ve never been a fan of Microstation, but the Demo part of this talk was really interesting as it integrated GIS-friendly data from a CAD model towards an eFM platform and of course it all comes down to understanding the basic primitives driving geometry behind that information. Here again, a simple spreadsheet is your best friend.


1b. BIM-CAD-GIS integrated Planning-Design-Construction-O&M Application

A really intense talk, with lots of healthy project management tips, such as having clear and defined roles and responsibilities allocated solely to interoperability (something I’ve been advocating for years when it comes to delivering IFC if you remember). It also relied on the concept of having a champion, something I myself have advocated in the past and that I’m finding in the need to reconsider. If you were attending the MasterKeen 7, we’ve had an interesting dissertation with Marco Bottero, starting from the empathic box and Mercerism in Do Androids Dreams of Electric Sheep and trying to figure out if excellency is really a virtue within a team.

D0184D48-BCB7-49AE-BF2A-92222A8EE2E9 3206ED3C-B3E3-4B69-90D1-C65FE1E08247

But I digress.

The project showcased was one of the biggest infrastructure projects in the Country and involves a whole mix of Infraworks, Civil 3d, Recap, Navisworks, BIM360.

The demo was mostly focusing on how to bring stuff from and into Civil 3d, which works fine with me as long as long as we understand that Civil 3d is not a BIM authoring tool. You can start freaking out now, I’ll write more about it when I get back, along with some Dynamo tips for bridging the gap between Civil 3d and Revit. Promise.

Back to our class, the first snapshot was on how to insert data from Civil 3d into Infraworks. Neatly and effortlessly.

The second showed workflows in Recap Pro and Civil 3d going into Navisworks.

A shame they only had 30 minutes: this would have been a 90 minutes demo. Easily.


3. CAD: Introduction to Using BIM Data from Revit

The session was a demo of features in ArcGIS Pro 2.4 specifically dealing on how to manage models coming from Revit. It was basically divided into three sections:

  1. Georeferencing;
  2. Convert Revit Data into Geodatabase;
  3. 3d Editing Multipatches.

Being on the Revit side of things, some of this stuff is the stuff of nightmares, so I dare you to read ahead to your own peril. Don’t say I didn’t warn you.

3.1. Georeferencing

The basic question is how you reference your Revit model, for it to show up correctly in ArcGIS Pro. Most of the stuff that was showcased was assuming that the Revit model doesn’t have a correct georeferencing set up. Digging a little deeper, what we figured out was:

  • ArcGIS Pro automatically matches the project base point if the coordinates are set up properly;
  • ArcGIS Pro automatically orients the building in accordance with Revit’s True North.
If you don’t know which one is the Project Base Point, we are going to have a personal problem, here.
If you don’t know which one is the Project Base Point, we are going to have a personal problem, here.

On the ArcGIS Pro side of things:

  • the coordinate system needs to be projected (Remember? For Revit the Earth is flat);
  • there’s no way of reading shared coordinates: I have an idea on how to solve this on the Revit side, working on the link structure, but I’m going to have to try it first.
  • It doesn’t automatically read units: you have to match them manually (another good reason to specify them in the BIM Execution Plan);
  • Of course you don’t need to scale it: Revit is 1:1.

In case you have to fucking to it manually, the technical advice was not to tie all the building to the coordinates all at once, but import one category (they were using floors) and then move them to display. My advice is: ask for the fucking BIM Execution Plan, where origin and geolocation should be chapter 2 at maximum, and kick the BIM Coordinator’s ass.

Neat datasets, though.
Neat datasets, though.

Another interesting thing that was said was about the Revit file version: the advice that was given was to try and get the Revit file in the last version (the last for them being Revit 2019, as 2020 is not supported yet). Now, I’m not sure that I got this right, but bear in mind that it’s not always that simple. Often you start with a version and you end with that version. Updating a model can be tricky and can cause losses (even if only in your railings).

If this never happened to you while trying to update someone’s model, you’re not for real.
If this never happened to you while trying to update someone’s model, you’re not for real.

3.2 Convert Revit Data to Geodatabase

When you import your Revit file into ArcGIS Pro, it splits it into disciplines based on categories, which might be an issue: if you have a structural slab, and it’s modelled as a regular floor, it will most definitely end up in the Architecture bundle. Maybe GIS guys don’t really care about this. We do.

Another useful but tricky feature is the ability of ArcGIS Pro to show only the shell of the building because of course you probably don’t need all the interiors stuff if you’re doing GIS.

Quick question on the dataset: why the fuck are your chairs on Entourage, guys?

On the Revit side of things, what you need to know is that this feature needs you to set up properly the “Function” Type Property of Walls, Doors and Windows, otherwise stuff will not show up. Categories that don’t have that parameter will not show up. Although now I’m wondering if I can trick it into thinking something is in the shell by creating a project parameter that’s called function and is compiled with an integer (just remember that this is how Revit thinks about pick lists, even when you try to manipulate an existing one in Dynamo).

But I digress.

This is the property I’m talking about and thanks Brian Mackey for the screenshot: I’m finishing this with a beer near the swimming pool and Revit stayed on the laptop in my room.
This is the property I’m talking about and thanks to Brian Mackey for the screenshot: I’m finishing this with a beer near the swimming pool and Revit stayed on the laptop in my room.

The question as to why you would want to convert data was answered in this slide, that I give to you for your personal considerations.

Warning: this might be disturbing to some of you.
Warning: this might be disturbing to some of you.

3d Editing Multipatches

If the previous slide made you uncomfortable, you are not going to like this part, because this is the part in which they show GIS guys how to maul and slice and dice the imported Revit model. Modify Features. Well, shit. The tool only slices orthogonally, but still allows you to split a building in half and pretend a part is not even there, for instance in order to get the building permit. I told you. The stuff of nightmares.

There’s also an Explode function, that divides solids into surfaces and, for instance, allows you to have a wall that is bricks on one side and glass on the other. And we know how reality likes that, right?

Sad ending. I’m the Revit guy. You sliced and diced my Revit model: how do you tell me? Do you have a ping-back or something? No, they don’t.

I’m definitely going to have nightmares.
I’m definitely going to have nightmares.

Believe it or not, this is not what bothers me. But we’ll see it in the next section.


4. BIM and GIS: an introduction

Chris Andrews worked in Autodesk and it shows in the way he opens the talk. With a disclaimer. One we know way too well. What we’re going to show it’s a roadmap and there’s no guarantee it’ll be released any soon (or at all, for what matters).

Aside from that, some interesting stuff was said, in this session, starting from the show of hand. Andrews asked how many in the audience ever heard of BIM and almost everybody raised hands. Two years ago, he declared, it was the exact opposite. Apparently, it’s not just our feeling: BIM is indeed being more acknowledged, even here in the USA.

Food for thought was also brought by one simple consideration supposedly driving the need for integration between BIM and GIS.

BIM is not a data standard that includes all of everything for anyone to answer all questions.

Which is undoubtedly true: we’re calling that model uses.

Now, here’s what bothers me: the current integration path is working towards two goals:

  • the need for GIS guys to visualize BIM stuff into their platforms;
  • the need to use BIM data and fuel them into GIS platforms (and possibly the other way around).

Of course, I could care less about point 1.
What bothers me is that the approach seems to have satisfied only point 1: you can now import Revit files directly into ArcGIS Pro, as we were seeing, and it creates a new GIS layer called “Building Elements”, showcasing all our detailed design just as it is.

Now, as one gentleman in the audience rightly pointed out, GIS needs simplified geometry: it needs to go back to the primitives driving the elements, them being polylines, lines or even points. Does the workflow transform elements into primitive geometry? Are Revit families exported as positioning points, where needed? Can I transform pipes into polylines? Floor boundaries as polylines? What are we trying to link to what? Can you match my elements with your symbology? Apparently not, not yet. But this is where we need to go.

What we also need, is a plug-in for Revit. This has been mentioned, but right now all we have is a plug-in for AutoCAD and we need to go through there (again, I’ve got baroque ideas but I’m going to need some experimenting on that). Right now, only from AutoCAD, you have the option to map elements to feature classes. So, the proposed workflow is something along the line of “Import Revit into arcGIS -> export to Cad -> get GIS data with arcGIS plug-in for AutoCad”.

What the fuck, guys?

Specific improvements have been made this year, them being:

  • the possibility of directly read Revit files in ArcGIS Pro (as showcased in the previous class);
  • the development of a Connector for Infraworks;
  • the ability to directly read Civil 3d files in ArcGIS Pro (something similar to Revit workflow).

I was also glad to see that something is in development, that something specifically being:

  • the positioning on the parcel using GIS data (picture).
    All that mambo jambo we need to do with Dynamo and Open Street Map is primaeval.
Isn’t this cool? Of course this might never see the light.

Also, contrary to lots of Forge-based viewers out there, visual slicing of a Revit Model in ArcGIS Pro is categories sensitive, which is really cool.


That’s all for now: it’s time for a proper beer, without any working involved.
I’ll keep you posted on what I find out tomorrow: there’s also some stuff around VR and AR for infrastructure that I want to share with you.


  1. Buongiorno. Ho letto con notevole interesse sia questo che gli altri articoli legati all’integrazione fra BIM e GIS, in quanto sto sviluppando una tesi legata proprio a questa integrazione.
    Relativamente ad un aspetto esplicitato nell’articolo, io avrei lo stesso problema: ovvero ho una cupola in vetro in copertura, ed essendo modellata come facciata continua non presenta il parametro Funzione, in questo modo il mio “exterior shell” non visualizza questo elemento, rendendo appunto questo layer quasi inutile, in quanto anche la cupola fa parte dell’involucro esterno.
    Ha per caso trovato un qualche modo per, come dice lei nell’articolo, far credere a Revit che quell’elemento abbia una funzione esterna, sia utilizzando i parametri di progetto che Dynamo?
    Grazie in anticipo

    1. Buongiorno Umberto,
      no, non ho una soluzione, non ho fatto esperimenti in questo senso. Il mio consiglio sarebbe:
      1) leggere con Dynamo il modo in cui appare davvero un muro la cui function sia exterior (dovrebbe essere un integer da 1 a 5, come ogni menu a tendina);
      2) creare un nuovo parametro di progetto chiamato “Function” associato agli elementi problematici (ad esempio a curtain panel e mullion) e compilarlo con l’integer corrispondente.
      Non sono molto fiduciosa che funzioni, ma vale la pena tentare. Fondamentale usare tutti i software nella lingua originale. Stiamo scommettendo che ArcGIS vada a leggere il parametro senza curarsi di altro. Purtroppo se ArcGIS fa un filtro preliminare per categoria non c’è molto da fare se non attendere che vengano implementati criteri diversi.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.