Load data to the Indoors geodatabase

Available for an ArcGIS organization licensed with the Indoors extension.

Once you create the ArcGIS Indoors geodatabase, you can use the Import Floorplans To Indoors Geodatabase geoprocessing tool to populate it with floor plans. You can then manually load points of interest (POIs), events, and occupant data.

Load floor plans

CAD drawings—for example, DWG files from AutoCAD or DGN files from MicroStation—are a common source of vector floor plan information for creating an indoor map. The floor plan import process uses a Microsoft Excel configuration spreadsheet, Config_CAD_Indoors_Template.xlsx, to facilitate the mapping of source CAD layer names to the corresponding Indoors layers and attributes. The Import Floorplans To Indoors Geodatabase geoprocessing tool can import floor plan information for a single floor or a collection of multiple floors and buildings.

Note:

The configuration spreadsheet is available from the product data for ArcGIS Indoors installation package.

The conversion process involves the following steps:

Georeference and add your CAD floor plan drawings

The first step is to add your indoor CAD floor plans to your ArcGIS Pro project. You can create group layers by floor if you're processing multiple floors to better organize the layers in each drawing.

  1. Georeference your CAD files if they are not already.
    Note:

    It is important to accurately georeference your CAD floor plans because errors in scaling or geographic location will be translated over to the corresponding Indoors features. Use reference data such as imagery, basemaps, lidar, ground survey locations, and the scale bar in the CAD drawing to scale and situate your drawings in the real world. For multifloor buildings, it is equally important that there be vertical alignment between each floor's drawings.

  2. On the Map tab, click the Add Data button to add your CAD drawings to the map.
  3. Browse to the folder location where your CAD files are stored and choose all the CAD files you want to process.
    Note:

    If running the Import Floorplans To Indoors Geodatabase tool on multiple floors or buildings, CAD layer naming must be consistent across all drawings being processed.

    Once your data is georeferenced and added to the map, become familiar with the layer naming conventions in your CAD drawings, if you are not already.

Set up the configuration spreadsheet

Use the configuration template to facilitate the mapping of source CAD layer names to the corresponding Indoors layers and attributes.

Run the Import Floorplans To Indoors Geodatabase tool

Once you finish mapping the CAD layers to the corresponding Indoors layers and attributes, you'll need to run the Import Floorplans To Indoors Geodatabase geoprocessing tool to import floor plan information for either a single floor or a collection of multiple floors and buildings.

Tip:

The Import Floorplans To Indoors Geodatabase tool doesn't automatically populate the geometry's z-value. Optional routing capabilities within Indoor Viewer require that you manually update the z-value for routable features. For example, you can choose to enable searching, exploring, and routing using the unit polygons in Viewer. In this case, you will need to ensure that the geometries of these features have the correct z-values based on their ELEVATION_RELATIVE attribute.

Inspect the output

You should inspect the output features that were created by the Import Floorplans To Indoors Geodatabase tool in the Indoors geodatabase.

Note:

The Import Floorplans To Indoors Geodatabase tool writes temporary files to the \scratch folder in the ArcGIS Pro project. When creating GIS polygons from CAD lines, polygons that are classified as slivers according to the Sliver Threshold parameter are placed in a QA database in the \scratch\Review location. In many cases, these are wall polygons, but long or narrow unit polygons may also be found here and can be copied to the Units feature class in the Indoors geodatabase if classified as a sliver in error.

  1. Click the Add Data button and add the Facilities, Levels, Units, and Details feature classes from your Indoors geodatabase to the same map where you loaded your CAD floor plans.
    CAD floor plans
    Note:

    To make it easier to switch between floors, enable the Range Filter for each layer in the map (using the integer Vertical Order attribute), change the filtering mode to Single Value on the Range tab, and use the Range Filter widget on the right side of the map to navigate up or down floors.

  2. Troubleshoot any issues:

    IssueSolution

    Errors or gaps in the output

    Return to the configuration spreadsheet and correct the field mapping, and then rerun the tool.

    Tip:

    If you are creating polygons from lines and the CAD topology is not perfect (for example, small gaps between door features and wall features), you can try updating the Door Close Buffer value (in inches) to close the gaps and improve the polygon output.

    Attributes are missing partially or entirely in the CAD annotation, such as the type of space (for example, Office or Conference Room), or its unique ID (for example, office ID, which would be L2E210)

    Fix or add the annotation in CAD and rerun the tool, or add the annotation to the Indoors features.

  3. Run the Densify geoprocessing tool in the Editing toolbox on all Indoors line and polygon feature classes.
    Tip:

    Use the Angle option and specify 5 degrees. The densify functionality will be incorporated into the Import Floorplans To Indoors Geodatabase tool output in a future update.

  4. Review the USE_TYPE of the space features in the Units feature class to identify the spaces that should not be directly assignable to occupants through the Indoor Space Planner app. Set those spaces' ASSIGNMENT_TYPE value to Not Assignable.
    Note:

    The following are examples of space types that are typically not assignable to occupants, nor used to define hot desk or office hotel use areas:

    • Lobbies
    • Circulation areas
    • Common areas
    • Restrooms
    • Break rooms

  5. Save the map.

Load POIs

POIs are people, places, or objects—for example, assets, hardware, equipment, and so on—that you want to find on a map.

Note:

Places + Things

Indoor map data and layers can turn into POIs (derived from layers from CAD); these are the first type of POIs that you create, because they are derived from the units and facilities output by the Import Floorplans To Indoors Geodatabase geoprocessing tool.

Places and Things POIs are generally unit centroids, or indoor addresses for noncommercial locations inside (or outside) a facility. Places are spaces that you want to route to in a building. Things come from external data sources. These can be offices, restrooms, elevators, or other unit use types—even fountains, art pieces, or other landmarks that people may want to find in a building.

Perform the following steps to load places and things POIs that are derived from units:

  1. Choose any unit polygons you want to convert to points, making them searchable and routable in Indoor Viewer, ArcGIS Indoors for iOS, or ArcGIS Indoors for Android.

    These points are added to the PointsOfInterest feature class.

  2. Run the Feature To Point geoprocessing tool with the inside option to force the centroids to be placed inside any irregularly shaped unit polygons.
  3. Run the Feature To 3D By Attribute geoprocessing tool with the ELEVATION_RELATIVE z-value.
    Tip:

    Output to a temporary point feature class.

  4. Use the Append geoprocessing tool to load the 3D points into the PointsOfInterest feature class. Use the Schema Type Field Map option to match the attributes of input points to the target dataset.
    Tip:

    Map the unit’s USE_TYPE attribute to the POIs CATEGORY_SUBTYPE, UNIT_ID attribute to the POINT_OF_INTEREST_ID, and UNIT_NAME attribute to NAME.

  5. Run the Calculate Field geoprocessing tool to populate the CATEGORY_TYPE attribute of the PointsOfInterest feature class to "Places + Things".

Safety + Security

Safety and Security POIs indicate where equipment, first aid, exits, and other emergency or safety-related resources are located. These may come from field surveys, CAD floor plans, or other data sources.

  1. Run the Indoors Generate Facility Entryways geoprocessing tool to create entry and exit points in the PointsOfInterest feature class.
  2. Set the z-geometry of any other points you are importing according to the elevation of the unit to which the POI belongs.
  3. Run the Calculate Field geoprocessing tool to populate the CATEGORY_TYPE attribute of the PointsOfInterest feature class to "Safety + Security".
  4. For each Safety + Security POI, populate the CATEGORY_SUBTYPE according to its use, for example, fire extinguisher, AED, or first aid kit.

Retail + Services

Retail and Services POIs indicate where on the map you can purchase goods or services, or make other financial transactions, such as gas stations, stores, restaurants, or ATMs.

  1. Set the z-geometry of any points you are importing according to the elevation of the unit the POI belongs to.
  2. Run the Calculate Field geoprocessing tool to populate the CATEGORY_TYPE attribute of the PointsOfInterest feature class to "Retail + Services".
  3. For each Retail + Services POI, populate the CATEGORY_SUBTYPE according to its use, for example, ATM, restaurant, or retail store.

    Some Retail + Services locations may come from external sources, while others may come from the features created with the Import Floorplans To Indoors Geodatabase tool. For example, if you have several cafés in the facility on your site, you will convert these café unit polygons to points.

Load events data

Ensure that your events table contains a location attribute UNIT_ID that matches the Units UNIT_ID where the event is taking place. The events may come from a class schedule, Microsoft Exchange Server, a conference agenda, a spreadsheet, or another business system or live service. To load event data, you need to combine a spreadsheet or table of events with the Units feature class and output a 3D point of the joined location and event information.

Note:

Event date and time must be stored in UTC.

  1. Load your tabular events data into a table in the Indoors geodatabase.

    For example, you can use the Excel To Table geoprocessing tool.

    Note:

    Ensure that your events table contains a location attribute UNIT_ID that matches the PointsOfInterest feature class's UNIT_ID attribute. These will be used to join the unit and location details to each event.

  2. Add the POINT_X and POINT_Y fields to the PointsOfInterest feature class with the Add XY Coordinates geoprocessing tool.

    The feature class should contain your Places + Things unit points.

  3. Join the PointsOfInterest feature class to your imported events table.
    1. Right-click the events table and click Joins and Relates, and then click Add Join.
    2. Choose the location field of your events table for the Input Join Field parameter.
    3. Choose the PointsOfInterest feature class for the Join Table parameter.
    4. Choose the UNIT_ID field for the Output Join Field parameter.
  4. Run the Make XY Event Layer geoprocessing tool on the joined table.
    Tip:

    Use the POINT_X, POINT_Y, and ELEVATION_RELATIVE (Z) attributes.

  5. Run the Copy Features geoprocessing tool to create a temporary point feature class.
  6. Use the Append geoprocessing tool to load the 3D points into the Events feature class.
    Tip:

    Use the Schema Type Field Map option to match the attributes of input points to the target dataset.

Load occupant data

Databases of occupants—for example, employees, residents, or faculty—typically come from external systems or tables. These must be converted to points to support searching and routing in the Indoors apps. Occupant data can be loaded from a geodatabase table, a CSV file, or an Excel spreadsheet (.xls or .xlsx).

You can use the Generate Occupant Features geoprocessing tool to import the occupant data and spatialize it for search and routing functionality.

Note:

The source table must include a primary key field that can be used to associate table records with building space features. In the Indoors model, the UNIT_ID can be used as the primary key.

In addition to a primary key field, four required fields must be present in the source table:

  • KNOWNAS—The occupant's name
  • EMAIL—The occupant's email address
  • CONTACT_PHONE—The occupant's phone number
  • CONTACT_EXTENSION—The occupant's extension number
Add the following fields to enhance the Space Planner app experience:
  • ORG_LEVEL_1—The occupant's team
  • ORG_LEVEL_2—The occupant's department
  • JOB_TITLE—The occupant's job title
  • START_DATE—The occupant's start date

In addition to these required fields, more fields containing data related to people, such as employee number, can be added as needed.

Refer to the sections below for more information on the required fields.

KNOWNAS

An occupant can be known by a name other than their first name, and is more likely to be searched for in the app by their known name.

For example, if an occupant whose first name is Anthony and whose last name is Palmer goes by Scooter, most people will search for him in the app using Scooter Palmer. The KNOWNAS field would contain this known name.

EMAIL

Two occupants may have the same known name, but their email addresses should be different. In this situation, Indoors will use the EMAIL field to identify unique occupants.

CONTACT_PHONE

You can store phone numbers in this column where the occupant can be reached directly. Additional characters or spacing in phone numbers is supported, but it is recommended to store phone numbers as a set of digits. International calling codes can be included.

For example, +19097932853 is recommended instead of +1 (909) 793 2853 or +1 909-793-2853.

CONTACT_EXTENSION

Depending on the telephone system in your organization, there may be an interactive voice response (IVR) configured with specific codes assigned to different departments and extension numbers set up that need to be dialed to reach an occupant. Indoors supports this type of setup and will combine the two numbers when initiating a phone call from ArcGIS Indoors for iOS or ArcGIS Indoors for Android.

For example, if the IVR code to reach the receptionist is 0, store 9097932853 in CONTACT_PHONE and 0 in CONTACT_EXTENSION.

Tip:

If more than one extension code is needed to reach an occupant, separate the values using a comma.

For example, if the IVR code for a department is 5 and the extension number is 1234, store the number as 5,1234 in CONTACT_EXTENSION.

ORG_LEVEL_1

The Space Planner app includes filters to help users quickly find and assign occupants to spaces. By default, this field represents the Department the occupant is assigned to within your organization's hierarchy. You may modify the meaning of this attribute by altering the field's alias in the output feature class to represent the level of the organization you wish to filter by. This field is always intended to represent the parent organization to what has been defined in the ORG_LEVEL_2 field.

ORG_LEVEL_2

The Space Planner app includes filters to help users quickly find and assign occupants to spaces. By default, this field represents the Team the occupant is assigned to within your organization's hierarchy. You may modify the meaning of this attribute by altering the field's alias in the output feature class to represent the level of the organization you wish to filter by. This field is always intended to represent a child organization to what has been defined in the ORG_LEVEL_1 field.

JOB_TITLE

The Space Planner app includes filters to help users quickly find and assign occupants to spaces. Including this field in your input table and populating job title for occupants to be loaded will allow you to filter by job title when assigning occupants to spaces making it easier to evaluate space requirements by role or position.

START_DATE

The Space Planner app includes filters to help users quickly find and assign occupants to spaces. Including this field in your input table and populating start date for occupants to be loaded will allow users of the Space Planner app to filter by start date when assigning occupants to spaces making it easier to evaluate space requirements by seniority.

The Generate Occupant Features tool updates the ASSIGNMENT_TYPE values for those spaces in the Units feature class that now have an assigned occupant. The ASSIGNMENT_TYPE attribute drives specific features of the Space Planner app. Ensure that the value of this attribute is set to Office for spaces occupied by individuals for the best performance.

Related topics