The projects created in the application are stored as a folder with the extension .imdfproj
.
For better understanding of the folder structure this guide documents the contents and behavior
of the .imdfproj
-Folder.
The folder itself can have any valid folder name. Since the application uses a UUID to find a project by its name (the same as for the manifest-File) it is advised to use the projects UUID for the folder name as well.
The project folder could be named fdbb83cd-3482-4fb8-886d-f5cf10e31bb7.imdfproj
The contents are pretty straightforward:
manifest.json
overlays/
<overlay_name>.overlay/
contents.json
overlay.png
...
archive.imdf/
...
The manifest.json
describes the project and stores some metadata. The manifest is a JSON-Object
with simple key-value pairs which could look like this:
{
"uuid": "fdbb83cd-3482-4fb8-886d-f5cf10e31bb7",
"title": "Starcourt Mall, Hawkins"
"description": "The indoor map of the Starcourt Mall in Hawkins, IN"
"client": "Larry Kline",
"created_at": "2020-02-10T08:00:00",
"updated_at": "2020-02-12T15:23:12",
"imdfproj_version": 1
}
uuid
(String) – The unique identifier of the project. This uuid can be used to identify the project in a set of different projectstitle
(String) – The display title of the projectdescription
(String|null) – An optional description of the projectclient
(String|null) – An optional client namecreated_at
(ISO8601 Date) – The datetime of the timestamp the project was created atupdated_at
(ISO8601 Date) – The datetime of the timestamp the project was last updated atimdfproj_version
(Integer) – The version of the imdfproj-structure. When the structure of the imdfproj changes in future versions this number is used to indicate which project needs a migrate
Overlays are images which are rendered between the map and the indoor mapping entities. This enables
the mapper to place footprint images which can be used as guidelines to create the units, kiosks and
other features. Overlays are stored in the Overlays/
subfolder.
Each overlay has an own folder in the Overlays/
subfolder with a UUID for the unique name and the
.overlay
extension. An example could be 0cb2afad-f767-4b8a-9ce2-c246d1930614.overlay/
. In this folder are two files
which describe the overlay. A content.json
with metadata and the raw image file named overlay.png
.
Important: Only PNG-Files are supported for overlays!
The content.json
for the overlay describes where exactly the overlay is placed and how to transform
it in the renderer which could look like this:
{
"uuid": "0cb2afad-f767-4b8a-9ce2-c246d1930614",
"title": "Level 2 Footprint",
"anchor": [
33.960946,
-84.125951
]
"scale": 1.9,
"angle": 24
}
uuid
(String) – The unique identifier of the overlay. This uuid can be used to identify the overlay in a set of different overlaystitle
(String) – The display title of the overlayanchor
(Array) – An array of two double values (coordinates) of the anchor where the overlay is placed on the mapscale
(Double) – A scale used to enlarge or reduce the size of the overlayangle
(Integer) – An angle used to rotate the overlay (360 equals 0 and 370 equals 10)
The archive.imdf/
folder is used to place all files for the Indoor Mapping Data Format. These
files conform to the specification of the IMDF.