pub struct Metadata {
pub geographical_extent: Option<GeographicalExtent>,
pub identifier: Option<String>,
pub point_of_contact: Option<PointOfContact>,
pub reference_date: Option<String>,
pub reference_system: Option<ReferenceSystem>,
pub title: Option<String>,
pub other: HashMap<String, Value>,
}Expand description
The metadata member of a crate::CityJSON object (§ 5 Metadata).
The six members below are the ones the core spec names. They are not the
only ones a valid document may carry: metadata.schema.json’s metadata
object declares those six under properties and then stops – there is no
additionalProperties: false, unlike (say) transform or
geometry-templates, which both do declare it. So any further member is
legal CityJSON, and the spec itself points at the MetadataExtended
Extension as the place to put more.
Hence other: without it every such member is silently dropped on the way
through. Real files rely on this – every 3DBAG dataset carries
fullMetadataUrl and version in its metadata (see
tests/data/small.city.jsonl), and before this field existed both simply
vanished.
Fields§
§geographical_extent: Option<GeographicalExtent>§identifier: Option<String>§point_of_contact: Option<PointOfContact>§reference_date: Option<String>§reference_system: Option<ReferenceSystem>§title: Option<String>§other: HashMap<String, Value>Every metadata member the core spec does not name, kept verbatim.