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
Field | description |
---|---|
id |
Unique ID for each edge |
type |
wall (a physical boundary) or invisible (a non-physical boundary) |
vertices |
A list of two vertices defining this edge |
centerLineBias |
Where the line representing the edge is positioned within the projected thickness (0.5 for 1/2 of the thickness on either side of the edge) |
thickness |
The thickness of the feature (e.g. a wall) this edge represents |
openings |
An object containing information on a doorway or other (opening) |
Vertices are 2-Dimensional Vectors relative to the center of the model (0,0).
Openings
Field | description |
---|---|
id |
Unique ID for each opening |
height |
The height of the opening |
width |
The width of the opening |
lowerElevation |
An opening’s BoundedRegion’s distance from the ground plane (z = 0) |
relativeCenter |
Fractional length (between 0 and 1) of the center of the opening along the edge. 0.5 would be halfway. |
type |
doorway 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": []
},
...
]
}
}
}