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