cjval 0.4.3

Validation of CityJSON files against its schemas
Documentation
{
    "type": "CityJSON",
    "version": "1.1",
    "CityObjects":
    {
        "LondonTower":
        {
            "type": "Building",
            "attributes":
            {
                "usage": "leisure",
                "roofType": "dual pent roof",
                "conditionOfConstruction": "demolished",
                "function": "leisure"
            },
            "hugo": "ledoux",
            "children":
            [
                "oneroom"
            ],
            "geometry":
            [
                {
                    "type": "MultiSurface",
                    "lod": "2.1",
                    "boundaries":
                    [
                        [
                            [
                                0,
                                1,
                                1,
                                1
                            ]
                        ],
                        [
                            [
                                2,
                                3,
                                4,
                                5
                            ]
                        ],
                        [
                            [
                                0,
                                1,
                                3,
                                2
                            ]
                        ],
                        [
                            [
                                1,
                                1,
                                4,
                                3
                            ]
                        ],
                        [
                            [
                                1,
                                1,
                                5,
                                4
                            ]
                        ],
                        [
                            [
                                1,
                                0,
                                2,
                                5
                            ]
                        ]
                    ]
                }
            ]
        },
        "LondonTower":
        {
            "type": "Building",
            "attributes":
            {
                "usage": "leisure2",
                "roofType": "dual pent roof",
                "conditionOfConstruction": "demolished",
                "function": "leisure"
            },
            "geometry":
            [
                {
                    "type": "MultiSurface",
                    "lod": "2.1",
                    "boundaries":
                    [
                        [
                            [
                                0,
                                1,
                                1,
                                1
                            ]
                        ],
                        [
                            [
                                2,
                                3,
                                4,
                                5
                            ]
                        ],
                        [
                            [
                                0,
                                1,
                                3,
                                2
                            ]
                        ],
                        [
                            [
                                1,
                                1,
                                4,
                                3
                            ]
                        ],
                        [
                            [
                                1,
                                1,
                                5,
                                4
                            ]
                        ],
                        [
                            [
                                1,
                                0,
                                2,
                                5
                            ]
                        ]
                    ]
                }
            ]
        },        
        "oneroom":
        {
            "type": "BuildingRoom",
            "attributes":
            {
                "usage": "leisure",
                "roomHeight":
                [
                    {
                        "highReference": "watdafuk",
                        "lowReference": "watdafuk",
                        "status": "hallo",
                        "value": 22.1
                    }
                ],
                "function": "leisure"
            },
            "parents":
            [
                "LondonTower",
                "gr",
                "hugo"
            ],
            "geometry":
            [
                {
                    "type": "MultiSurface",
                    "lod": "2",
                    "boundaries":
                    [
                        [
                            [
                                0,
                                1,
                                1,
                                1
                            ]
                        ],
                        [
                            [
                                2,
                                3,
                                4,
                                5
                            ]
                        ],
                        [
                            [
                                0,
                                1,
                                3,
                                2
                            ]
                        ],
                        [
                            [
                                1,
                                1,
                                4,
                                3
                            ]
                        ],
                        [
                            [
                                1,
                                1,
                                5,
                                4
                            ]
                        ],
                        [
                            [
                                1,
                                0,
                                2,
                                5
                            ]
                        ]
                    ]
                }
            ]
        }
    },
    "vertices":
    [
        [
            0,
            0,
            0
        ],
        [
            1000,
            0,
            0
        ],
        [
            1000,
            1000,
            0
        ],
        [
            0,
            1000,
            0
        ],
        [
            0,
            0,
            1000
        ],
        [
            1000,
            0,
            1000
        ]
    ],
    "geometry-templates":
    {
        "templates":
        [
            {
                "type": "MultiSurface",
                "lod": "2.1",
                "boundaries":
                [
                    [
                        [
                            0,
                            3,
                            2,
                            1
                        ]
                    ],
                    [
                        [
                            4,
                            5,
                            6,
                            7
                        ]
                    ],
                    [
                        [
                            0,
                            1,
                            5,
                            4
                        ]
                    ]
                ]
            },
            {
                "type": "MultiSurface",
                "lod": "2.4",
                "boundaries":
                [
                    [
                        [
                            1,
                            2,
                            6,
                            5
                        ]
                    ],
                    [
                        [
                            2,
                            3,
                            7,
                            6
                        ]
                    ],
                    [
                        [
                            3,
                            0,
                            4,
                            7
                        ]
                    ]
                ]
            }
        ],
        "vertices-templates":
        [
            [
                0.0,
                0.5,
                0.0
            ],
            [
                1.0,
                0.0,
                0.0
            ],
            [
                11.0,
                0.0,
                0.0
            ],
            [
                11.0,
                10.0,
                0.0
            ],
            [
                1.0,
                12.0,
                0.0
            ],
            [
                1.0,
                40.0,
                0.0
            ],
            [
                1.0,
                1.0,
                0.0
            ],
            [
                0.0,
                1.0,
                0.0
            ]
        ]
    },
    "appearance":
    {
        "default-theme-texture": "summer-textures",
        "default-theme-material": "irradiation",
        "vertices-texture":
        [
            [
                0.0,
                0.5
            ],
            [
                1.0,
                0.0
            ],
            [
                1.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ],
            [
                0.0,
                1.0
            ]
        ],
        "textures":
        [
            {
                "type": "PNG",
                "image": "myfacade.png"
            },
            {
                "type": "JPG",
                "image": "myroof.jpg"
            },
            {
                "type": "JPG",
                "image": "mymymy.jpg"
            }
        ],
        "materials":
        [
            {
                "name": "irradiation-0-50",
                "ambientIntensity": 0.75,
                "diffuseColor":
                [
                    0.9,
                    0.1,
                    0.75
                ],
                "specularColor":
                [
                    0.9,
                    0.1,
                    0.75
                ],
                "transparency": 1.0
            },
            {
                "name": "irradiation-51-80",
                "diffuseColor":
                [
                    0.9,
                    0.1,
                    0.75
                ],
                "shininess": 0.0,
                "transparency": 0.5,
                "isSmooth": true
            },
            {
                "name": "irradiation-81-100",
                "diffuseColor":
                [
                    0.19,
                    0.11,
                    0.175
                ],
                "shininess": 0.2,
                "transparency": 0.9,
                "isSmooth": true
            }
        ]
    },
    "transform":
    {
        "scale":
        [
            0.001,
            0.001,
            0.001
        ],
        "translate":
        [
            0.0,
            0.0,
            0.0
        ]
    }
}