Positioning 6.S062 Class 2 2/15/2017 Sam Madden NAD27 vs NAD83 - - PowerPoint PPT Presentation

positioning
SMART_READER_LITE
LIVE PREVIEW

Positioning 6.S062 Class 2 2/15/2017 Sam Madden NAD27 vs NAD83 - - PowerPoint PPT Presentation

Positioning 6.S062 Class 2 2/15/2017 Sam Madden NAD27 vs NAD83 (WGS84) Geoid Undulations 360 degree spherical harmonic https://en.wikipedia.org/wiki/Geoid#/media/File:Geoid_height_red_blue_averagebw.png Finding the Distance Between


slide-1
SLIDE 1

Positioning

6.S062 Class 2 – 2/15/2017 Sam Madden

slide-2
SLIDE 2

NAD27 vs NAD83 (WGS84)

slide-3
SLIDE 3

Geoid Undulations – 360 degree spherical harmonic

slide-4
SLIDE 4

https://en.wikipedia.org/wiki/Geoid#/media/File:Geoid_height_red_blue_averagebw.png

slide-5
SLIDE 5

Finding the Distance Between Two Points

u w

slide-6
SLIDE 6

Law of haversines (hav)

c a b C u w

slide-7
SLIDE 7

Law of haversines (hav)

c a b C u w c a b C π/2,0 u w

slide-8
SLIDE 8

Law of haversines (hav)

c a b C u w c a b C π/2,0 u w c a b C π/2,0

π/2-lat1

π/2-lat2

lon1-lon2

u w

slide-9
SLIDE 9

Law of haversines (hav)

c a b C u w c a b C π/2,0 u w c a b C π/2,0

π/2-lat1

π/2-lat2

lon1-lon2

u w

slide-10
SLIDE 10

Law of haversines (hav)

c a b C u w c a b C π/2,0 u w c a b C π/2,0

π/2-lat1

π/2-lat2

lon1-lon2

u w

slide-11
SLIDE 11

Law of haversines (hav)

c a b C u w c a b C π/2,0 u w c a b C π/2,0

π/2-lat1

π/2-lat2

lon1-lon2

u w

slide-12
SLIDE 12

Trilateration in 3D

slide-13
SLIDE 13

Positioning APIs

locmgr = [[CLLocationManager alloc] init]; locmgr.desiredAccuracy = kCLLocationAccuracyThreeKilometers; //cellular? locmgr.desiredAccuracy = kCLLocationAccuracyHundredMeters; //wifi? locmgr.desiredAccuracy = kCLLocationAccuracyBest; //gps? [locmgr startUpdatingLocation]; (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray<CLLocation *> *)locations { …. }

slide-14
SLIDE 14

Ranging APIs

  • (void) init {

locMgr = [[CLLocationManager alloc] init]; static NSString * const activeUUID= @"B8FED863-9F1C-447C-8F82-DF0C2E067DEA"; CBUUID *uuid = [[NSUUID alloc] initWithUUIDString:activeUUID] ; region= [[CLBeaconRegion alloc] initWithProximityUUID:uuid identifier:@”region”]; [locMgr startRangingBeaconsInRegion:region]; }

  • (void)locationManager:(CLLocationManager *)manager

didRangeBeacons:(nonnull NSArray<CLBeacon *> *)beacons inRegion:(nonnull CLBeaconRegion *)region { … }

slide-15
SLIDE 15

Indoor Ranging Performance

Faragher et al. An Analysis of the Accuracy of Bluetooth Low Energy for Indoor Positioning.

slide-16
SLIDE 16

Geocoding APIs

CLGeocoder *geocoder = [[CLGeocoder alloc] init]; … [geocoder reverseGeocodeLocation:location //location is a CLLocation completionHandler: ^(NSArray< CLPlacemark *>* placemarks, NSError* error){ if ([placemarks count] > 0) { NSLog(@"%@\n%@\n%@", placemarks[0].name, placemarks[0].thoroughfare, placemarks[0].locality]]; } }];