MVFv3 API Documentation
    Preparing search index...

    The Geometry schema is a core part of the MVFv3 spec.

    It adds a geometry property to the bundle, which is a Record<FloorId, GeometryCollection> object. Meaning, for a given FloorId, there will be a GeometryCollection that contains all of the GeometryFeatures present on that floor. In the bundle, this will be a folder called geometry with a geojson file for each FloorId.

    geometry/
    ├── 1234567890.geojson
    ├── 1234567891.geojson
    ├── 1234567892.geojson
    └── 1234567893.geojson

    This is a fundamental concept in MVF that is used by many other extensions.

    There will almost certainly be a GeometryCollection for every FloorId in the bundle, though they may possibly have an empty array of features.

    type GeometrySchema = {
        geometry: Partial<
            {
                [key: `f_${string}`]: {
                    features: {
                        geometry: | { coordinates: [number, number]; type: "Point" }
                        | { coordinates: [number, number][]; type: "MultiPoint" }
                        | { coordinates: [number, number][]; type: "LineString" }
                        | { coordinates: [(...), (...)][][]; type: "MultiLineString" }
                        | { coordinates: [(...), (...)][][]; type: "Polygon" }
                        | { coordinates: (...)[][][]; type: "MultiPolygon" };
                        properties: { id: `g_${string}` } & {
                            details?: {
                                description?: (...) | (...);
                                externalId?: (...) | (...);
                                icon?: (...) | (...);
                                name?: (...) | (...);
                                shortName?: (...) | (...);
                            };
                        };
                        type: "Feature";
                    }[];
                    type: "FeatureCollection";
                };
            },
        >;
    }
    Index

    Properties

    Properties

    geometry: Partial<
        {
            [key: `f_${string}`]: {
                features: {
                    geometry: | { coordinates: [number, number]; type: "Point" }
                    | { coordinates: [number, number][]; type: "MultiPoint" }
                    | { coordinates: [number, number][]; type: "LineString" }
                    | { coordinates: [(...), (...)][][]; type: "MultiLineString" }
                    | { coordinates: [(...), (...)][][]; type: "Polygon" }
                    | { coordinates: (...)[][][]; type: "MultiPolygon" };
                    properties: { id: `g_${string}` } & {
                        details?: {
                            description?: (...) | (...);
                            externalId?: (...) | (...);
                            icon?: (...) | (...);
                            name?: (...) | (...);
                            shortName?: (...) | (...);
                        };
                    };
                    type: "Feature";
                }[];
                type: "FeatureCollection";
            };
        },
    >