Skip to content

Building models

The Yanzi GeoJSON format is an extension to the common GeoJSON format in order to support indoor mapping and topology deduction.

Indoor mapping: The strict typing and metadata additions enable users to render the maps clearly with the information needed by users to fully understand the maps.

Topology information: The strict typing and metadata enables systems to deduce the topology of buildings, floors, areas, rooms, furniture and more. This topological information can later be used to automatically create digital twins in both Yanzi's and partners' clouds.

Try in the model validator

Format Requirements

The Yanzi format specifies three requirements.

1: Stable ID requirement

1.1 All features representing a room, area, chair, table, conference room etc. MUST have the top level "id" key set to a globally (within location) unique string. 1.2 The id must be stable when the model is updated.

2. Known type requirement

2.1 All features with an ID and all features supposed to be rendered (walls, etc) must have a property named "type" with one of the known types in the table below.

3. Floor polygon

3.1 There must exist a feature that is a polygon or multipolygon and has the floor type.

Fields defined by the Yanzi standard:

The Yanzi standard defines four special keys in the GeoJSON Feature properties object: "type", "name", "address" and "parent". Example of a Feature in the GeoJSON file:

...
{
  "type":"Feature",
  "id":"181a32b8-1fb0-402e-9d96-5011e4bdc6a7", // Example unique id
  "geometry": ...
  "properties":{
    "type": "area.room.conference", // Required (see 2.1)
    "name": "Conference Room Saturnus", // Optional, recommended
    "address": "1R13", // Optional
    "parent": "261a12b8-1fb0-404e-9d06-5011e4bd11f9" // Optional
  }
}

Supported types:

area                     Abstract topclass for any type of area
area.floor               The background polygon.
area.group               A group of areas.
area.room                A generic room
area.room.bathroom       A bathroom
area.room.conference     A conference room
area.hallway             A hallway
area.section             Open area, rendered with different color. If exist, render this section in this color with no border.
area.inaccessible        An inaccessible area

fixture.door             A door
fixture.elevator         An elevator
fixture.stairs           Stairs
fixture.step             A single step polygon
fixture.wall             A wall
fixture.wall.partition   A partition (rendered as line)
fixture.tv               A tv

furniture.chair          A chair
furniture.desk           A desk
furniture.counter        A countertop
furniture.table          A table

# A poi(point of interest) is a single point that will be rendered with an icon.
poi.printer              A printer
poi.entrance             A building/floor entrance

poi.device.sensor               A placed or planned sensor

Parent reference ("parent")

A polygon might optionally indicate a hierarical parent through the parent property. The value of the property must be the ID of another feature in this GeoJSON file.

The parent should be the immidiate parent. For instance, the hierarical parent of a "furniture.chair" might be a specific "area.room.conference".

If the parent is not specified, implementations might calculate hierarchies from the geometries in the file.

Extended properties for poi.device.sensor

The poi.device.sensor type is used by Yanzi to indicate positions of planned or placed sensors. The following additional properties is understood by the format parser.

All poi.* types MUST be a point geometry.

...
{
  "type":"Feature",
  "id":"181a32b8-1fb0-402e-9d96-5011e4bdc6a7", // Example unique id
  "geometry": ... // Must be a point
  "properties":{
    "type": "poi.device.sensor", // Required (see 2.1)
    "name": "Presidential bedroom moisture sensor 4",
    "parent": "181a32b8-1fb0-402e-9d96-5011e4bdc6a5",
    ... // More general properties
  }
}

Example File

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "id": "ea0f7ddb-3bcc-4c9b-9e9d-5997d80a42a2",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              17.949288753551997,
              59.405571706516376
            ],
            [
              17.94936877889863,
              59.405571706516376
            ],
            [
              17.94936877889863,
              59.405608600325095
            ],
            [
              17.949322906407254,
              59.405608600325095
            ],
            [
              17.949288753551997,
              59.405608600325095
            ],
            [
              17.949288753551997,
              59.405571706516376
            ]
          ]
        ]
      },
      "properties": {
        "type": "area.room",
        "name": "Kitchen 4",
        "address": "R304"
      }
    },
    {
      "type": "Feature",
      "id": "5f70e2dc-4260-464c-a1eb-e3c61338a2b8",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              17.949326436418133,
              59.405610396955666
            ],
            [
              17.94936877889863,
              59.405610396955666
            ],
            [
              17.94936877889863,
              59.405644541919614
            ],
            [
              17.949326436418133,
              59.405644541919614
            ],
            [
              17.949326436418133,
              59.405610396955666
            ]
          ]
        ]
      },
      "properties": {
        "type": "area.room"
      }
    },
    {
      "type": "Feature",
      "id": "f6e5debe-46ac-4d58-998e-e5ad32caca37",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              17.94942554147357,
              59.40563676250925
            ],
            [
              17.949424517770417,
              59.405636744542946
            ],
            [
              17.94942441187009,
              59.405638541173516
            ],
            [
              17.949431048290542,
              59.40563864897135
            ],
            [
              17.94943401349968,
              59.40563899931431
            ],
            [
              17.94943697870882,
              59.40563955626979
            ],
            [
              17.94943978506747,
              59.40564030187147
            ],
            [
              17.949442379625467,
              59.405641218153065
            ],
            [
              17.949444709432644,
              59.405642305114554
            ],
            [
              17.94944677448901,
              59.40564352682334
            ],
            [
              17.949448486544288,
              59.40564487429627
            ],
            [
              17.949449863248528,
              59.40564632058388
            ],
            [
              17.949450851651576,
              59.40564784771986
            ],
            [
              17.949451469403478,
              59.40564942875476
            ],
            [
              17.949451769454406,
              59.40565184522288
            ],
            [
              17.949450851651576,
              59.405654216775226
            ],
            [
              17.949449863248528,
              59.405655743911204
            ],
            [
              17.949448486544288,
              59.405657190198816
            ],
            [
              17.94944677448901,
              59.40565853767174
            ],
            [
              17.949444709432644,
              59.40565976836368
            ],
            [
              17.949442379625467,
              59.40566084634202
            ],
            [
              17.94943978506747,
              59.405661771606766
            ],
            [
              17.94943697870882,
              59.4056625082253
            ],
            [
              17.94943401349968,
              59.405663065180775
            ],
            [
              17.949430942390215,
              59.40566342450688
            ],
            [
              17.949427800680535,
              59.40566357722049
            ],
            [
              17.949424641320796,
              59.40566353230472
            ],
            [
              17.949421517261168,
              59.40566327179329
            ],
            [
              17.94941848145181,
              59.40566281365249
            ],
            [
              17.949415586842893,
              59.40566216686549
            ],
            [
              17.949412886384568,
              59.40566133143228
            ],
            [
              17.949410415376953,
              59.405660325319154
            ],
            [
              17.949408226770206,
              59.40565916649244
            ],
            [
              17.949406338214388,
              59.40565788190158
            ],
            [
              17.9494047850096,
              59.40565648052974
            ],
            [
              17.949403602455956,
              59.405654989326365
            ],
            [
              17.949402790553453,
              59.40565343524093
            ],
            [
              17.9494023846022,
              59.40565183623972
            ],
            [
              17.9494023846022,
              59.40565022825536
            ],
            [
              17.949402790553453,
              59.40564863823731
            ],
            [
              17.94940362010601,
              59.4056470212698
            ],
            [
              17.94940021364551,
              59.405646563129004
            ],
            [
              17.949399313492737,
              59.40564835077642
            ],
            [
              17.949398854591323,
              59.405650174356445
            ],
            [
              17.94937230890951,
              59.405650174356445
            ],
            [
              17.94937230890951,
              59.405608600325095
            ],
            [
              17.94942554147357,
              59.405608600325095
            ],
            [
              17.94942554147357,
              59.40563676250925
            ]
          ]
        ]
      },
      "properties": {
        "type": "area.room"
      }
    },
    {
      "type": "Feature",
      "id": "8be48a29-be19-424b-a5bb-bcbaf2b76861",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              17.94937230890951,
              59.405606803694525
            ],
            [
              17.94937230890951,
              59.405571706516376
            ],
            [
              17.94942554147357,
              59.405571706516376
            ],
            [
              17.94942554147357,
              59.405606803694525
            ],
            [
              17.94937230890951,
              59.405606803694525
            ]
          ]
        ]
      },
      "properties": {
        "type": "area.room"
      }
    },
    {
      "type": "Feature",
      "id": "7a970a7e-190e-42ca-a083-15cde6a436ca",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              17.949322906407254,
              59.40565189912179
            ],
            [
              17.949322906407254,
              59.40566651471146
            ],
            [
              17.94929237181315,
              59.40566651471146
            ],
            [
              17.94929237181315,
              59.40565119843587
            ],
            [
              17.94929237181315,
              59.40564048153453
            ],
            [
              17.949322906407254,
              59.40564048153453
            ],
            [
              17.949322906407254,
              59.405646338550184
            ],
            [
              17.949322906407254,
              59.40565189912179
            ]
          ]
        ]
      },
      "properties": {
        "type": "area.room"
      }
    },
    {
      "type": "Feature",
      "id": "ccfafba4-f6c8-4a74-bb95-984c9ddf9a3d",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              17.949255377299135,
              59.40565119843587
            ],
            [
              17.949255377299135,
              59.40566088227463
            ],
            [
              17.949249676331565,
              59.40566088227463
            ],
            [
              17.949240551253443,
              59.40566088227463
            ],
            [
              17.949240551253443,
              59.40566558046357
            ],
            [
              17.949240551253443,
              59.40566741302675
            ],
            [
              17.949324671412693,
              59.40566741302675
            ],
            [
              17.949324671412693,
              59.40565189912179
            ],
            [
              17.94936876124858,
              59.40565189912179
            ],
            [
              17.949398854591323,
              59.40565189912179
            ],
            [
              17.949398872241378,
              59.405652006919624
            ],
            [
              17.949399313492737,
              59.40565372270182
            ],
            [
              17.949399348792845,
              59.40565383049965
            ],
            [
              17.94940021364551,
              59.40565550136608
            ],
            [
              17.94940028424573,
              59.405655609163915
            ],
            [
              17.949401555049647,
              59.40565720816512
            ],
            [
              17.949401643299918,
              59.405657315962955
            ],
            [
              17.949403320055087,
              59.405658816149476
            ],
            [
              17.949403443605465,
              59.40565890598101
            ],
            [
              17.949405455711666,
              59.405660289386546
            ],
            [
              17.949405614562156,
              59.40566037921808
            ],
            [
              17.949407962019393,
              59.40566161889316
            ],
            [
              17.949408138519935,
              59.405661690758386
            ],
            [
              17.949410786028096,
              59.40566276873673
            ],
            [
              17.94941096252864,
              59.4056628316188
            ],
            [
              17.94941385713756,
              59.40566372993408
            ],
            [
              17.949414068938214,
              59.405663783833
            ],
            [
              17.94941715769773,
              59.40566448451892
            ],
            [
              17.949417369498384,
              59.40566452045153
            ],
            [
              17.949420617108395,
              59.40566501452494
            ],
            [
              17.9494208465591,
              59.40566503249124
            ],
            [
              17.94942418241938,
              59.405665310968985
            ],
            [
              17.94942441187009,
              59.405665319952135
            ],
            [
              17.949427800680535,
              59.40566537385105
            ],
            [
              17.949428012481185,
              59.40566537385105
            ],
            [
              17.949431383641578,
              59.405665212154304
            ],
            [
              17.949431613092283,
              59.405665194187996
            ],
            [
              17.949434913652457,
              59.40566480791242
            ],
            [
              17.949435125453107,
              59.405664771979815
            ],
            [
              17.949438302462898,
              59.40566417909172
            ],
            [
              17.94943851426355,
              59.405664134175964
            ],
            [
              17.949437755311212,
              59.405664331805326
            ],
            [
              17.949547856350538,
              59.40566428688956
            ],
            [
              17.949547856350538,
              59.40566558046357
            ],
            [
              17.949551103960548,
              59.40566558046357
            ],
            [
              17.949551103960548,
              59.40569007752136
            ],
            [
              17.949198014622347,
              59.40569007752136
            ],
            [
              17.949198014622347,
              59.40560948067407
            ],
            [
              17.949322906407254,
              59.40560949864038
            ],
            [
              17.949322906407254,
              59.40563958321925
            ],
            [
              17.949255377299135,
              59.40563958321925
            ],
            [
              17.949255377299135,
              59.40565119843587
            ]
          ]
        ]
      },
      "properties": {
        "type": "area.room"
      }
    },
    {
      "type": "Feature",
      "id": "b9b2d5f3-a12f-478a-bbc7-5b86ebcc824b",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              17.94929060680771,
              59.405652096751155
            ],
            [
              17.94929060680771,
              59.40566651471146
            ],
            [
              17.94926880899053,
              59.40566651471146
            ],
            [
              17.94926880899053,
              59.405652096751155
            ],
            [
              17.94929060680771,
              59.405652096751155
            ]
          ]
        ]
      },
      "properties": {
        "type": "area.room"
      }
    },
    {
      "type": "Feature",
      "id": "a764b07c-af8e-478e-a3b8-3ec6e20d69c1",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              17.94929060680771,
              59.40565119843587
            ],
            [
              17.94926880899053,
              59.40565119843587
            ],
            [
              17.949257142304575,
              59.40565119843587
            ],
            [
              17.949257142304575,
              59.40564048153453
            ],
            [
              17.94929060680771,
              59.40564048153453
            ],
            [
              17.94929060680771,
              59.40565119843587
            ]
          ]
        ]
      },
      "properties": {
        "type": "area.room"
      }
    },
    {
      "type": "Feature",
      "id": "7d149070-f2b7-4b39-a679-7e80506604e9",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              17.94972462164532,
              59.40566558046357
            ],
            [
              17.949731981718003,
              59.40566558046357
            ],
            [
              17.94974228934977,
              59.40566558046357
            ],
            [
              17.94974228934977,
              59.40572762710024
            ],
            [
              17.94972462164532,
              59.40572762710024
            ],
            [
              17.94972462164532,
              59.40566558046357
            ]
          ]
        ]
      },
      "properties": {
        "type": "area.room"
      }
    },
    {
      "type": "Feature",
      "id": "0bfbc16f-2c11-40fe-8547-d55abba3a2b2",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              17.949118801178216,
              59.405571706516376
            ],
            [
              17.949201632883497,
              59.405571706516376
            ],
            [
              17.949201632883497,
              59.40560858235879
            ],
            [
              17.949196249616907,
              59.40560858235879
            ],
            [
              17.949196249616907,
              59.40567733941064
            ],
            [
              17.949118801178216,
              59.40567733941064
            ],
            [
              17.949118801178216,
              59.405571706516376
            ]
          ]
        ]
      },
      "properties": {
        "type": "area.room"
      }
    },
    {
      "type": "Feature",
      "id": "d159e2b4-6a62-4ff8-878d-363562ca1efd",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              17.949551103960548,
              59.40572762710024
            ],
            [
              17.94951109128723,
              59.40572762710024
            ],
            [
              17.94951109128723,
              59.40569097583665
            ],
            [
              17.949551103960548,
              59.40569097583665
            ],
            [
              17.949551103960548,
              59.40572762710024
            ]
          ]
        ]
      },
      "properties": {
        "type": "area.room"
      }
    },
    {
      "type": "Feature",
      "id": "c1a02e43-7c51-45e4-9d8d-9cd3b79466cc",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              17.949201950584477,
              59.40572762710024
            ],
            [
              17.949118801178216,
              59.40572762710024
            ],
            [
              17.949118801178216,
              59.40567823772592
            ],
            [
              17.949196249616907,
              59.40567823772592
            ],
            [
              17.949196249616907,
              59.40569097583665
            ],
            [
              17.949201950584477,
              59.40569097583665
            ],
            [
              17.949201950584477,
              59.40572762710024
            ]
          ]
        ]
      },
      "properties": {
        "type": "area.room"
      }
    },
    {
      "type": "Feature",
      "id": "2a0edf3f-6a00-4edb-8ceb-4989977dc8e3",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              17.949244098914374,
              59.40572762710024
            ],
            [
              17.949203715589917,
              59.40572762710024
            ],
            [
              17.949203715589917,
              59.40569097583665
            ],
            [
              17.949244098914374,
              59.40569097583665
            ],
            [
              17.949244098914374,
              59.40572762710024
            ]
          ]
        ]
      },
      "properties": {
        "type": "area.room"
      }
    },
    {
      "type": "Feature",
      "id": "3ac4638a-10da-4569-bf8b-2646f9d59d1e",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              17.949245863919813,
              59.40572762710024
            ],
            [
              17.949245863919813,
              59.40569097583665
            ],
            [
              17.949329278076892,
              59.40569097583665
            ],
            [
              17.949329278076892,
              59.40572762710024
            ],
            [
              17.949245863919813,
              59.40572762710024
            ]
          ]
        ]
      },
      "properties": {
        "type": "area.room"
      }
    },
    {
      "type": "Feature",
      "id": "d72e39c1-1506-473f-bcac-7986a0457164",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              17.94942208206291,
              59.40572762710024
            ],
            [
              17.94933104308233,
              59.40572762710024
            ],
            [
              17.94933104308233,
              59.40569097583665
            ],
            [
              17.94942208206291,
              59.40569097583665
            ],
            [
              17.94942208206291,
              59.40572762710024
            ]
          ]
        ]
      },
      "properties": {
        "type": "area.room"
      }
    },
    {
      "type": "Feature",
      "id": "f53499eb-6a92-4573-8fbe-82fdbded0c09",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              17.949466736700533,
              59.40572762710024
            ],
            [
              17.94942384706835,
              59.40572762710024
            ],
            [
              17.94942384706835,
              59.40569097583665
            ],
            [
              17.949466736700533,
              59.40569097583665
            ],
            [
              17.949466736700533,
              59.40572762710024
            ]
          ]
        ]
      },
      "properties": {
        "type": "area.room"
      }
    },
    {
      "type": "Feature",
      "id": "181a32b8-1fb0-402e-9d96-5011e4bdc6a7",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              17.94950932628179,
              59.40572762710024
            ],
            [
              17.949468501705972,
              59.40572762710024
            ],
            [
              17.949468501705972,
              59.40569097583665
            ],
            [
              17.94950932628179,
              59.40569097583665
            ],
            [
              17.94950932628179,
              59.40572762710024
            ]
          ]
        ]
      },
      "properties": {
        "type": "area.room"
      }
    },
    {
      "type": "Feature",
      "id": "7bff1564-e89d-4b91-baf2-a45959ed7976",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              17.949203397888937,
              59.405571706516376
            ],
            [
              17.949286988546557,
              59.405571706516376
            ],
            [
              17.949286988546557,
              59.405608600325095
            ],
            [
              17.949203397888937,
              59.40560858235879
            ],
            [
              17.949203397888937,
              59.405571706516376
            ]
          ]
        ]
      },
      "properties": {
        "type": "area.room"
      }
    },
    {
      "type": "Feature",
      "id": "aa952b68-f7e2-4683-ac7e-65692833c5ef",
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              17.94972285663988,
              59.40572762710024
            ],
            [
              17.949552868965988,
              59.40572762710024
            ],
            [
              17.949552868965988,
              59.40569007752136
            ],
            [
              17.949552868965988,
              59.40566558046357
            ],
            [
              17.94955698142866,
              59.40566558046357
            ],
            [
              17.94955698142866,
              59.405664250956946
            ],
            [
              17.94972285663988,
              59.405664250956946
            ],
            [
              17.94972285663988,
              59.40566558046357
            ],
            [
              17.94972285663988,
              59.40572762710024
            ]
          ]
        ]
      },
      "properties": {
        "type": "area.room"
      }
    }
  ]
}
Back to top