Converting ArcGIS Indoors Data to IMDF

Liz Sanderson
Liz Sanderson
  • Updated

FME Version

  • FME 2018.x


This article is a high-level overview of how to convert data from ArcGIS Indoors to Indoor Mapping Data Format (IMDF) format using FME. A template FME workspace file has been provided to use with your data. Keep in mind some transformers might need to have their parameters changed depending on the data that is being transformed. It is a good idea to run the workspace with Feature Caching enabled and monitor the data as it flows through.

Please note that this article is for demonstration purposes only. The data is not supplied. If you require data please see the Scenario: Victoria Airport Esri Geodatabase to IMDF article


Workspace Overview


FME Desktop workspace overview for converting ArcGIS Indoors to IMDF


Reading in ArcGIS Indoors

ArcGIS Indoors is an Esri mapping toolbox for creating indoor maps. ArcGIS Indoors data is stored inside of a Geodatabase and can be read in by FME with either the File Geodatabase (File Geodb) or File Geodatabase (File Geodb Open API) readers in FME Desktop.


Creating the building ID

Each part of a building in IMDF needs to have its own unique identifier. In the workspace, each of the Feature Types (Tables) is passed through a UUIDGenerator transformer to create unique IDs.


Clip Data by Area

Depending on the scope of the project, data may need to be restricted to a specific area. In this demo, the building is clipped to the area of interest using a combination of transformers; Tester, GeographicBufferer, BoundingBoxReplacer, and Clipper.


Filtering Layers

After creating an ID and clipping data, each feature class is filtered back into their individual types: Sites, Facilities, Levels, Sections, Zones, Units, POIs, Openings, and Details.


Preparing Types and Writing out to IMDF

Each type will be processed before writing out to IMDF. When writing out to IMDF, one single zip file is created that contains GeoJSON files for each of the separate feature types.


Venue with Address:

To create a venue, first the center point is extracted, and an address ID is created (CenterPointExtractor and UUIDGenerator transformers).

Multiple AttributeCreator transformers are used to create metadata attributes that contain information about the building; such as address, name, category, and postal code

Features are finally sent to a writer for output.


Workspace section overview to create the venue and address IMDF features


Building with Footprint:

To create a building, first the center point is extracted (CenterPointExtractor). Multiple AttributeCreator transformers are used to create metadata attributes.

The address ID from the venue is added to the building (FeatureMerger) and the building written to IMDF.

A footprint ID is created and the footprint written to IMDF.


Workspace section overview to create the building and footprint IMDF features



Levels are created by creating level specific attributes and retrieving the Building ID variable.


Workspace section overview to create the level IMDF feature


Units with Anchors:

To create units first the attribute values for each room name are remapped to IMDF name types. Then the voids between the level and unit are filled using the AnchoredSnapper, Clipper, and GeometryValidator.

Level ID is retrieved using the VariableRetriver transformer and then written to IMDF.

The anchors are created by first merging attributes from the venue, then testing to find the units that require anchors. Then the anchors are written out to IMDF.


Workspace section overview to create the unit and anchor IMDF features


Amenities and Occupants:

Points of interest (POIs) are overlaid with units, and then the values are remapped to IMDF standards. The amenities and occupants are then written to IMDF.


Workspace section overview to create the amenity and occupant IMDF features



Using the AttributeCreator and the VariableRetriever openings are created and written to IMDF.


Workspace overview to create the opening IMDF feature


IMDF Validation

The result of this FME translation is an IMDF file. An IMDF file is a zip (compressed) file containing GeoJSON data for each of the feature types; levels, units, openings, venues, addresses, buildings, and footprints.

Before submitting the IMDF file to Apple, please consider validating it to check for errors and inconsistencies.


Was this article helpful?



Please sign in to leave a comment.