Nutritious Pumpkin Meal

    TypeScript icon, indicating that this package has built-in type declarations

    0.1.12 • Public • Published


    Build Status Maintainability npm version


    Getting Started

    If you have npm installed, start using @openhps/geospatial with the following command.

    npm install @openhps/geospatial --save


    Creating Symbolic Spaces

    const building = new Building("Pleinlaan 9")
            topLeft: new GeographicalPosition(
                50.8203726927966, 4.392241309019189
            width: 46.275,
            length: 37.27,
            height: 50, // Height of the building
            rotation: -34.04
    const floor = new Floor("3")
    const office = new Room("3.58")
            new Absolute2DPosition(4.75, 31.25),
            new Absolute2DPosition(8.35, 37.02),
    const lab = new Room("3.58")
            new Absolute2DPosition(13.15, 31.25),
            new Absolute2DPosition(25.15, 37.02),

    Transforming Positions

    office.toPosition(); // (6.55, 34.135)
    office.transform(office.toPosition()); // (lat: 50.8204372851, lng: 4.39222609676)

    Updating Position

    const object = new DataObject("mvdewync");
    object.setPosition(new Absolute2DPosition(
    ), office);
    // Position relative to the global reference space (geographical)
    office.getPosition(); // (lat: 50.8204372851, lng: 4.39222609676)
    // Position relative to the floor
    office.getPosition(floor); // (6.55, 34.135)

    Symbolic Location

    Symbolic locations represent a physical position (e.g. 2D, 3D or geographical position) within a symbolic space, but are defined deliberately as a symbolic position. An example use case would be when you know a person is in a room, but you have no idea where in this room/space the person is located.

    @openhps/spaces does not provide an additional SymbolicLocation for this trivial indicator. Instead, we utilise the referenceObjectUID in an AbsolutePosition to indicate that a certain position is relative to a symbolic space.

    Geospatial Accuracy

    Geospatial accuracy is the accuracy set to a geospatial place.

    // Set the accuracy of the position to the floor
    position.accuracy = new GeospatialAccuracy(floor);


    The framework is open source and is mainly developed by PhD Student Maxim Van de Wynckel as part of his research towards Hybrid Positioning and Implicit Human-Computer Interaction under the supervision of Prof. Dr. Beat Signer.


    Use of OpenHPS, contributions and feedback is highly appreciated. Please read our contributing guidelines for more information.


    Copyright (C) 2019-2022 Maxim Van de Wynckel & Vrije Universiteit Brussel

    Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

    Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


    npm i @openhps/geospatial

    DownloadsWeekly Downloads






    Unpacked Size

    605 kB

    Total Files


    Last publish


    • maximvdw