You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 7-8.RSVP
Socket
Socket
Sign inDemoInstall

@openhps/geospatial

Package Overview
Dependencies
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

@openhps/geospatial

Open Hybrid Positioning System


Version published
Maintainers
1
Created

Readme

Source

OpenHPS
@openhps/geospatial

Build Status Maintainability npm version

@openhps/coreAPI


Getting Started

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

npm install @openhps/geospatial --save

Usage

Creating Symbolic Spaces

const building = new Building("Pleinlaan 9")
    .setBounds({
        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")
    .setBuilding(building)
    .setFloorNumber(3);
const office = new Room("3.58")
    .setFloor(floor)
    .setBounds([
        new Absolute2DPosition(4.75, 31.25),
        new Absolute2DPosition(8.35, 37.02),
    ]);
const lab = new Room("3.58")
    .setFloor(floor)
    .setBounds([
        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(
    6.55,
    34.135,
    LengthUnit.METER
), 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);

Contributors

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.

Contributing

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

License

Copyright (C) 2019-2023 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

https://www.apache.org/licenses/LICENSE-2.0

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.

Keywords

FAQs

Package last updated on 24 Mar 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc