Dimension Estimates

Field description model floor room
area Estimated area based on measured room(s) BoundedRegion data x x x
areaIndoor Estimated area not counting outdoor space or portions covered by walls x x x
depth Estimated depth of room     x
depthData Metadata pertaining to the depth measurement     x
height Estimated height of the room     x
width Estimated width of the room     x
widthData Metadata pertaining to the width measurement     x
units metric or imperial x x x
lowerElevation A room’s BoundedRegion’s distance from the ground plane (z = 0)     x

Measurements

Name description
Length The longest measurement reported for a given room
Depth The shortest measurement reported for a given room
Area The total area of a room, floor, or model. For floors and models, this is a sum of the contained room areas.
IndoorArea The total indoor scanned area. This will be set to zero if the room is identified as outdoor. For most models this will be the same value as Area at this time.

Query the Area and Indoor Area for a Model

A user wanting to know dimensional data about their entire space can query this from the model’s’ dimensionEstimates object.

Units returned can be either metric or imperial based on the model or account’s default settings. By providing an optional units parameter, a developer can receive results in either measurement standard.

Sample Query:

query getArea($modelId: ID!, $units: Units) {
  model(id: $modelId) {
    dimensionEstimates(units: $units) {
      area
      areaIndoor
      units
    }
  }
}

Variable Arguments:

{
  "modelId": "your-model-id",
  "units": "metric"
}

Sample Response:

{
  "data": {
    "model": {
      "dimensionEstimates": {
        "area": 2545.456973221831,
        "areaIndoor": 2129.756609921589,
        "units": "imperial"
      }
    }
  }
}

Try this query in our interactive console

Query the Dimension Estimates for Rooms and Floors

The dimensionEstimates object also exists on the rooms and floors objects and includes additional fields for rooms.

Sample Query:


query getRoomFloorDimensions($modelId: ID!, $units: Units) {
  model(id: $modelId) {
    rooms {
      id
      label
      floor {
        id
      }
      dimensionEstimates(units: $units) {
        area
        areaIndoor
        depth
        depthData {
          # The points that this depthData was measured from
          points {
            x
            y
          }
        }
        height
        width
        widthData {
            # The points that this widthData was measured from
            points {
              x
              y
            }
        }
        units
        lowerElevation
      }
    }
    floors {
      id
      label
      sequence
      dimensionEstimates(units: $units) {
        area
        areaIndoor
        units
      }
    }
  }
}

Sample Response

{
    "data": {
        "model": {
            "rooms": [
                {
                    "id": "gqxp3yld2eh",
                    "label": "",
                    "floor": {
                        "id": "pd0i1c4yq9w0y2zsb07ed23sb"
                    },
                    "dimensionEstimates": {
                        "area": 228.36937521825212,
                        "areaIndoor": 228.36937521825212,
                        "depth": 0.0,
                        "depthData": {
                            "points": []
                        },
                        "height": 9.055118400000001,
                        "width": 0.0,
                        "widthData": {
                            "points": []
                        },
                        "units": "imperial",
                        "lowerElevation": null
                    }
                },
                {
                    "id": "x8zqpa4lyuh",
                    "label": "",
                    "floor": {
                        "id": "tsmq1wak12rhgn0mawksxcwcd"
                    },
                    "dimensionEstimates": {
                        "area": 72.83019428676131,
                        "areaIndoor": 72.83019428676131,
                        "depth": 9.088261308636113,
                        "depthData": {
                            "points": []
                        },
                        "height": 10.0393704,
                        "width": 8.076408171135771,
                        "widthData": {
                            "points": []
                        },
                        "units": "imperial",
                        "lowerElevation": null
                    }
                },
                ...
            ],
            "floors": [
                {
                    "id": "tsmq1wak12rhgn0mawksxcwcd",
                    "label": "Floor 1",
                    "sequence": 0,
                    "dimensionEstimates": {
                        "area": 1343.2818079401443,
                        "areaIndoor": 1343.2818079401443,
                        "units": "imperial"
                    }
                },
                {
                    "id": "pd0i1c4yq9w0y2zsb07ed23sb",
                    "label": "Floor 2",
                    "sequence": 1,
                    "dimensionEstimates": {
                        "area": 1584.1840743270077,
                        "areaIndoor": 1584.1840743270077,
                        "units": "imperial"
                    }
                }
            ]
        }
    }
}

Try this query in our interactive console

In the above response, you will note that there are two floors - one for interior space, one for exterior space. The exterior space does not return a full set of dimensional data.

Floors contain a label as well as a numeric sequence from the spatially lowest floor beginning at 0 and an id.

Floor IDs generally tend to be consistent between models the first floor is usually tsmq1wak12rhgn0mawksxcwcd, and the second floor is usually pd0i1c4yq9w0y2zsb07ed23sb. This may not be true as gaps can exist between detected floors. Therefore, it is important to validate the floor IDs for each model.

All rooms are associated with floors and the areas provided for floors represent a summation of the areas of their respective rooms.

Why do I see null or zero values in the dimensions tables?

Rooms with irregular shapes or non-flat ceilings may not produce automatic dimensions. These rooms, when refined in the editor may then produce usable values.