AWSLocationGeofenceGeometry

Objective-C

@interface AWSLocationGeofenceGeometry

Swift

class AWSLocationGeofenceGeometry

Contains the geofence geometry details.

A geofence geometry is made up of either a polygon or a circle. Can be a polygon, a circle or a polygon encoded in Geobuf format. Including multiple selections will return a validation error.

Amazon Location doesn’t currently support polygons with holes, multipolygons, polygons that are wound clockwise, or that cross the antimeridian.

  • A circle on the earth, as defined by a center point and a radius.

    Declaration

    Objective-C

    @property (nonatomic, strong) AWSLocationCircle *_Nullable circle;

    Swift

    var circle: AWSLocationCircle? { get set }
  • Geobuf is a compact binary encoding for geographic data that provides lossless compression of GeoJSON polygons. The Geobuf must be Base64-encoded.

    A polygon in Geobuf format can have up to 100,000 vertices.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSData *_Nullable geobuf;

    Swift

    var geobuf: Data? { get set }
  • A polygon is a list of linear rings which are each made up of a list of vertices.

    Each vertex is a 2-dimensional point of the form: [longitude, latitude]. This is represented as an array of doubles of length 2 (so [double, double]).

    An array of 4 or more vertices, where the first and last vertex are the same (to form a closed boundary), is called a linear ring. The linear ring vertices must be listed in counter-clockwise order around the ring’s interior. The linear ring is represented as an array of vertices, or an array of arrays of doubles ([[double, double], ...]).

    A geofence consists of a single linear ring. To allow for future expansion, the Polygon parameter takes an array of linear rings, which is represented as an array of arrays of arrays of doubles ([[[double, double], ...], ...]).

    A linear ring for use in geofences can consist of between 4 and 1,000 vertices.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray<NSArray<NSArray<NSNumber *> *> *> *_Nullable polygon;

    Swift

    var polygon: [[[NSNumber]]]? { get set }