@cityjson/flatcitybuf
    Preparing search index...

    Class CityObjectView

    One CityObject inside a feature, with the attribute schema that governs it already resolved.

    Index
    id: string

    The CityObject's id -- the key it appears under in the emitted CityObjects map. '' for a malformed object that omits it.

    type: string

    The CityJSON type name ('Building', 'BuildingPart', ...). An extension object's own extension_type string wins verbatim; a tag outside the generated enum's range becomes '+UnknownCityObject' rather than throwing.

    • The raw attribute bytes, or null when the object declares no attributes vector at all.

      Returns Uint8Array<ArrayBufferLike> | null

    • The schema that governs THIS object's attribute blob. Resolving this per object is not an optimisation, it is correctness: attribute records are not self-delimiting, so decoding with the header's schema when the object declares its own desynchronises the blob and yields plausible garbage rather than an error. In examples/data/delft.fcb every object with attributes declares its own columns and the header's 44 are never used.

      Returns readonly ColumnInfo[]

    • Whether this object DECLARES an attributes vector. Distinct from that vector being empty: present-but-empty must serialize as "attributes": {} while absent is omitted, and the corpus contains both.

      Returns boolean

    • Whether this object declares its OWN column schema, which then overrides the header's. Presence is what selects the override, not non-emptiness: an explicitly empty schema must not silently fall back to the header's.

      Returns boolean

    • The parsed FlatBuffers table behind this view.

      For callers that need a field this view does not surface -- the CityJSON emitter reads geometry, geometry_instances, children, children_roles, parents and geographical_extent off it. Deliberately a method rather than a public field, so it reads as "reach through to the raw table" at every call site.

      Returns CityObject