Skip to main content

Model API - Vector Data

note

Property Intelligence Data in Model API is only available for Enterprise-level Matterport Subscriptions

Overview

Property Intelligence provides a spatially accurate outline of each room within each floor of your Digital Twin.

Each room is comprised of multiple boundaries containing multiple edges -- each with two vertices, openings for any doorways and holes.

Edges

Fielddescription
idUnique ID for each edge
typewall (a physical boundary) or invisible (a non-physical boundary)
verticesA list of two vertices defining this edge
centerLineBiasWhere the line representing the edge is positioned within the projected thickness.
• centerLineBias = 0.5 => wall is centered on wall center line
• centerLineBias < 0.5 => wall is thicker on right side
• centerLineBias > 0.5 => wall is thicker on left side
• As the value increases toward 1.0, more of the wall's thickness shifts to your left-hand side.
• As the value decreases toward 0.0, the wall shifts to your right-hand side.

center line bias
thicknessThe thickness of the feature (e.g. a wall) this edge represents
openingsAn object containing information on a doorway or other (opening)

Vertices are 2-Dimensional Vectors relative to the center of the model (0,0).

Openings

Fielddescription
idUnique ID for each opening
heightThe height of the opening
widthThe width of the opening
lowerElevationAn opening's BoundedRegion's distance from the ground plane (z = 0)
relativeCenterFractional length (between 0 and 1) of the center of the opening along the edge. 0.5 would be halfway.
typedoorway or opening (for other)

Sample Queries

Below is a query example to fetch some of the new dimensional and classification data around rooms, floors, and models.

fragment BoundedRegionData on BoundedRegion {
edges {
id
type
centerLineBias
thickness
openings {
id
height
width
lowerElevation
relativeCenter
type
}
vertices {
id
position {
x
y
}
}
}
}

query getVectorData($modelId: ID!) {
model(id: $modelId) {
floors {
id
sequence
label
}
rooms {
id
# User Defined Room Name
label
# Detected Room Name
classifications {
id
label
}
# Edges, vertices, and openings of the room's boundary.
boundary {
...BoundedRegionData
}
# Boundary information for any holes/sub-rooms within the room.
holes {
...BoundedRegionData
}
}
}
}

Passing in variable arguments:

{
"modelId": "ID-of-the-model-to-query"
}

Sample response:

{
"data": {
"model": {
"floors": [
{
"id": "tsmq1wak12rhgn0mawksxcwcd",
"sequence": 0,
"label": "Interior"
},
{
"id": "pd0i1c4yq9w0y2zsb07ed23sb",
"sequence": 1,
"label": "Exterior"
}
],
"rooms": [
{
"id": "e4smdke1wi1",
"label": "",
"classifications": [
{
"id": "zp189tx2hdrry8k5nhaq5x45d",
"label": "Closet"
}
],
"boundary": {
"edges": [
{
"id": "d0rhbjt0apw",
"type": "wall",
"centerLineBias": 0.5,
"thickness": 0.19,
"openings": [],
"vertices": [
{
"id": "1cvb1325vmr",
"position": {
"x": -20.656768477847248,
"y": -18.06514182341184
}
},
{
"id": "y11yds0zukv",
"position": {
"x": -20.656277387983977,
"y": -19.02233859746507
}
}
]
},
{
"id": "84r24wop6pg",
"type": "wall",
"centerLineBias": 0.5,
"thickness": 0.19,
"openings": [],
"vertices": [
{
"id": "1cvb1325vmr",
"position": {
"x": -20.656768477847248,
"y": -18.06514182341184
}
},
{
"id": "5sul0keijxh",
"position": {
"x": -19.695379268000142,
"y": -18.06464858261913
}
}
]
},
{
"id": "blpm3j1j8t8",
"type": "wall",
"centerLineBias": 0.5,
"thickness": 0.19,
"openings": [
{
"id": "lb01o8ky00w",
"height": 0.1,
"width": 0.8614772100270544,
"lowerElevation": 0.1,
"relativeCenter": 0.45,
"type": "doorway"
}
],
"vertices": [
{
"id": "5sul0keijxh",
"position": {
"x": -19.695379268000142,
"y": -18.06464858261913
}
},
{
"id": "73wrloazr3b",
"position": {
"x": -19.69488817813687,
"y": -19.021845356672358
}
}
]
},
{
"id": "3xzj02agjv5",
"type": "wall",
"centerLineBias": 0.5,
"thickness": 0.19,
"openings": [],
"vertices": [
{
"id": "y11yds0zukv",
"position": {
"x": -20.656277387983977,
"y": -19.02233859746507
}
},
{
"id": "73wrloazr3b",
"position": {
"x": -19.69488817813687,
"y": -19.021845356672358
}
}
]
}
]
},
"holes": []
},
{
"id": "g8cbh7az7mg",
"label": "",
"classifications": [
{
"id": "zp189tx2hdrry8k5nhaq5x45d",
"label": "Closet"
}
],
"boundary": {
"edges": [
{
"id": "oi0vg00dw2l",
"type": "wall",
"centerLineBias": 0.5,
"thickness": 0.19,
"openings": [
{
"id": "w2d6mj7g0oq",
"height": 0.1,
"width": 0.9144,
"lowerElevation": 0.1,
"relativeCenter": 0.5739740048737034,
"type": "opening"
}
],
"vertices": [
{
"id": "14d61wu5m9hb763yu6g6i82gd",
"position": {
"x": -25.835782633841237,
"y": -8.474914106350097
}
},
{
"id": "lng94rs9l0r",
"position": {
"x": -22.396766972548303,
"y": -8.473171550704178
}
}
]
},
{
"id": "h17c087sr4p",
"type": "wall",
"centerLineBias": 0.5,
"thickness": 0.19,
"openings": [],
"vertices": [
{
"id": "e2f8rdare4qu0urc2mhb2rxpa",
"position": {
"x": -25.83723354123661,
"y": -5.625658935499734
}
},
{
"id": "bi8r3vn5v2y",
"position": {
"x": -22.39823149690862,
"y": -5.623793908442178
}
}
]
},
{
"id": "2g5eg3ph84o",
"type": "wall",
"centerLineBias": 0.8175948567692802,
"thickness": 0.10427973300064856,
"openings": [],
"vertices": [
{
"id": "lng94rs9l0r",
"position": {
"x": -22.396766972548303,
"y": -8.473171550704178
}
},
{
"id": "bi8r3vn5v2y",
"position": {
"x": -22.39823149690862,
"y": -5.623793908442178
}
}
]
},
{
"id": "zc3zzmn6auhrxyu6ri76atb2a",
"type": "wall",
"centerLineBias": 0.45638354196229924,
"thickness": 0.10088068144467179,
"openings": [],
"vertices": [
{
"id": "14d61wu5m9hb763yu6g6i82gd",
"position": {
"x": -25.835782633841237,
"y": -8.474914106350097
}
},
{
"id": "e2f8rdare4qu0urc2mhb2rxpa",
"position": {
"x": -25.83723354123661,
"y": -5.625658935499734
}
}
]
}
]
},
"holes": []
},
...
]
}
}
}

Try this query in our interactive console