Code Monkey home page Code Monkey logo

arckit's Introduction

ArcKit

A location and activity recording framework for iOS.

Demo App Examples

Short Walk Between Nearby Buildings

Raw (red) + Smoothed (blue) Smoothed (blue) + Visits (orange) Smoothed (blue) + Visits (orange)

The blue segments indicate locations that ArcKit determined to be moving. The orange segments indicate stationary. Note that locations inside buildings are more likely to classified as stationary, thus allowing location data to be more easily clustered into "visits".

Tuk-tuk Ride Through Traffic in Built-up City Area

Raw Locations Smoothed (blue) + Stuck (orange) Smoothed (blue) + Stuck (orange)

Location accuracy for this trip ranged from 30 to 100 metres, with minimal GPS line of sight and significant "urban canyon" effects (GPS blocked on both sides by tall buildings and blocked from above by an elevated rail line). However stationary / moving state detection was still achieved to an accuracy of 5 to 10 metres.

Note: The orange dots in the second screenshot indicate "stuck in traffic". The third screenshot shows the "stuck" segments as paths, for easier inspection.

Features

  • Raw locations, Kalman filtered locations, and dynamically smoothed LocomotionSamples (combined location / motion / activity state objects)
  • High resolution, near real time stationary / moving state detection (with accuracy up to 5 metres, and reporting delay between 6 and 60 seconds)
  • Dynamic energy use management, to achieve best possible accuracy without wasteful battery consumption
  • Filtered and sanitised Core Motion accelerometer, pedometer, and activity type data
  • Coming in next release: Machine learning based activity type detection with significantly higher accuracy than Core Motion, and ability to distinguish between more activity types (car, train, bus, and more).

Installation

pod 'ArcKit'

Demo Apps

  • To run the demo app from this repository, do a pod install before building
  • To see the full SDK features in action in a production app (including as yet unreleased machine learning features) try Arc App on the App Store

Code Example

See the demo app source in this repo for more complete code examples.

let locoManager = LocomotionManager.highlander
let noteCenter = NotificationCenter.default
let queue = OperationQueue.main 

// watch for location updates
noteCenter.addObserver(forName: .locomotionSampleUpdated, object: nil, queue: queue) { _ in
    print("rawLocation: \(locoManager.rawLocation)")
    print("filteredLocation: \(locoManager.filteredLocation)")
    print("locomotionSample: \(locoManager.locomotionSample())")
}

// start recording
locoManager.startCoreLocation()

Documentation

arckit's People

Contributors

sobri909 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.