GPKGBoundingBox
Objective-C
@interface GPKGBoundingBox : NSObject <NSMutableCopying>
Swift
class GPKGBoundingBox : NSObject, NSMutableCopying
Bounding box with longitude and latitude range
-
Longitude range
Declaration
Objective-C
@property (nonatomic, strong) NSDecimalNumber *minLongitude;Swift
var minLongitude: NSDecimalNumber! { get set } -
Undocumented
Declaration
Objective-C
@property (nonatomic, strong) NSDecimalNumber *maxLongitudeSwift
var maxLongitude: NSDecimalNumber! { get set } -
Latitude range
Declaration
Objective-C
@property (nonatomic, strong) NSDecimalNumber *minLatitude;Swift
var minLatitude: NSDecimalNumber! { get set } -
Undocumented
Declaration
Objective-C
@property (nonatomic, strong) NSDecimalNumber *maxLatitudeSwift
var maxLatitude: NSDecimalNumber! { get set } -
Create a new WGS84 bounding box with world bounds (degrees)
Declaration
Objective-C
+ (GPKGBoundingBox *)worldWGS84;Swift
class func worldWGS84() -> GPKGBoundingBox!Return Value
new bounding box
-
Create a new Web Mercator bounding box with world bounds (meters)
Declaration
Objective-C
+ (GPKGBoundingBox *)worldWebMercator;Swift
class func worldWebMercator() -> GPKGBoundingBox!Return Value
new bounding box
-
Create a new WGS84 bounding box bounded by Web Mercator limits
Declaration
Objective-C
+ (GPKGBoundingBox *)worldWGS84WithWebMercatorLimits;Swift
class func worldWGS84WithWebMercatorLimits() -> GPKGBoundingBox!Return Value
new bounding box
-
Initialize with degrees representing the entire world
Declaration
Objective-C
- (instancetype)init;Swift
init!()Return Value
new bounding box
-
Initialize with number range
Declaration
Objective-C
- (instancetype)initWithMinLongitude:(NSDecimalNumber *)minLongitude andMinLatitude:(NSDecimalNumber *)minLatitude andMaxLongitude:(NSDecimalNumber *)maxLongitude andMaxLatitude:(NSDecimalNumber *)maxLatitude;Swift
init!(minLongitude: NSDecimalNumber!, andMinLatitude minLatitude: NSDecimalNumber!, andMaxLongitude maxLongitude: NSDecimalNumber!, andMaxLatitude maxLatitude: NSDecimalNumber!)Parameters
minLongitudeminimum longitude
minLatitudeminimum latitude
maxLongitudemaximum longitude
maxLatitudemaximum latitude
Return Value
new bounding box
-
Initialize with double range
Declaration
Objective-C
- (instancetype)initWithMinLongitudeDouble:(double)minLongitude andMinLatitudeDouble:(double)minLatitude andMaxLongitudeDouble:(double)maxLongitude andMaxLatitudeDouble:(double)maxLatitude;Swift
init!(minLongitudeDouble minLongitude: Double, andMinLatitudeDouble minLatitude: Double, andMaxLongitudeDouble maxLongitude: Double, andMaxLatitudeDouble maxLatitude: Double)Parameters
minLongitudeminimum longitude
minLatitudeminimum latitude
maxLongitudemaximum longitude
maxLatitudemaximum latitude
Return Value
new bounding box
-
Initialize with double range
Declaration
Objective-C
- (instancetype)initWithMinLongitudeValue:(double)minLongitude andMinLatitudeValue:(double)minLatitude andMaxLongitudeValue:(double)maxLongitude andMaxLatitudeValue:(double)maxLatitude;Swift
init!(minLongitudeValue minLongitude: Double, andMinLatitudeValue minLatitude: Double, andMaxLongitudeValue maxLongitude: Double, andMaxLatitudeValue maxLatitude: Double)Parameters
minLongitudeminimum longitude
minLatitudeminimum latitude
maxLongitudemaximum longitude
maxLatitudemaximum latitude
Return Value
new bounding box
-
Initialize with existing bounding box
Declaration
Objective-C
- (instancetype)initWithBoundingBox:(GPKGBoundingBox *)boundingBox;Swift
init!(boundingBox: GPKGBoundingBox!)Parameters
boundingBoxbounding box
Return Value
new bounding box
-
Initialize with geometry envelope
Declaration
Objective-C
- (instancetype)initWithEnvelope:(SFGeometryEnvelope *)envelope;Swift
init!(envelope: SFGeometryEnvelope!)Parameters
envelopegeometry envelope
Return Value
new bounding box
-
Initialize with geometry
Declaration
Objective-C
- (instancetype)initWithGeometry:(SFGeometry *)geometry;Swift
init!(geometry: SFGeometry!)Parameters
geometrygeometry
Return Value
new bounding box
-
Get the min longitude double value
Declaration
Objective-C
- (double)minLongitudeValue;Swift
func minLongitudeValue() -> DoubleReturn Value
min longitude
-
Set the min longitude double value
Declaration
Objective-C
- (void)setMinLongitudeValue:(double)minLongitude;Swift
func setMinLongitudeValue(_ minLongitude: Double)Parameters
minLongitudemin longitude
-
Get the min latitude double value
Declaration
Objective-C
- (double)minLatitudeValue;Swift
func minLatitudeValue() -> DoubleReturn Value
min latitude
-
Set the min latitude double value
Declaration
Objective-C
- (void)setMinLatitudeValue:(double)minLatitude;Swift
func setMinLatitudeValue(_ minLatitude: Double)Parameters
minLatitudemin latitude
-
Get the max longitude double value
Declaration
Objective-C
- (double)maxLongitudeValue;Swift
func maxLongitudeValue() -> DoubleReturn Value
max longitude
-
Set the max longitude double value
Declaration
Objective-C
- (void)setMaxLongitudeValue:(double)maxLongitude;Swift
func setMaxLongitudeValue(_ maxLongitude: Double)Parameters
maxLongitudemax longitude
-
Get the max latitude double value
Declaration
Objective-C
- (double)maxLatitudeValue;Swift
func maxLatitudeValue() -> DoubleReturn Value
max latitude
-
Set the max latitude double value
Declaration
Objective-C
- (void)setMaxLatitudeValue:(double)maxLatitude;Swift
func setMaxLatitudeValue(_ maxLatitude: Double)Parameters
maxLatitudemax latitude
-
Get the longitude range
Declaration
Objective-C
- (NSDecimalNumber *)longitudeRange;Swift
func longitudeRange() -> NSDecimalNumber!Return Value
longitude range
-
Get the longitude range
Declaration
Objective-C
- (double)longitudeRangeValue;Swift
func longitudeRangeValue() -> DoubleReturn Value
longitude range
-
Get the latitude range
Declaration
Objective-C
- (NSDecimalNumber *)latitudeRange;Swift
func latitudeRange() -> NSDecimalNumber!Return Value
latitude range
-
Get the latitude range
Declaration
Objective-C
- (double)latitudeRangeValue;Swift
func latitudeRangeValue() -> DoubleReturn Value
latitude range
-
Get the bounding box centroid point
Return Value
centroid point
-
Get the centroid for the bounding box and projection
Declaration
Objective-C
- (SFPoint *)centroidInProjection:(PROJProjection *)projection;Swift
func centroid(in projection: PROJProjection!) -> SFPoint!Parameters
projectionprojection of the bounding box
Return Value
centroid point
-
Get the centroid for the bounding box and projection
Declaration
Objective-C
+ (SFPoint *)centroidOfBoundingBox:(GPKGBoundingBox *)boundingBox inProjection:(PROJProjection *)projection;Swift
class func centroid(of boundingBox: GPKGBoundingBox!, in projection: PROJProjection!) -> SFPoint!Parameters
boundingBoxbounding box
projectionprojection of the bounding box
Return Value
centroid point
-
Get the centroid for the bounding box in degrees
Return Value
centroid point
-
Build a Geometry Envelope from the bounding box
Declaration
Objective-C
- (SFGeometryEnvelope *)buildEnvelope;Swift
func buildEnvelope() -> SFGeometryEnvelope!Return Value
geometry envelope
-
Build a Geometry Envelope from the bounding box
Declaration
Objective-C
+ (SFGeometryEnvelope *)buildEnvelopeFromBoundingBox: (GPKGBoundingBox *)boundingBox;Swift
class func buildEnvelope(from boundingBox: GPKGBoundingBox!) -> SFGeometryEnvelope!Parameters
boundingBoxbounding box
Return Value
geometry envelope
-
Build a geometry representation of the bounding box
Return Value
geometry, polygon or point
-
Build a geometry representation of the bounding box
Declaration
Objective-C
+ (SFGeometry *)buildGeometryFromBoundingBox:(GPKGBoundingBox *)boundingBox;Swift
class func buildGeometry(from boundingBox: GPKGBoundingBox!) -> SFGeometry!Parameters
boundingBoxbounding box
Return Value
geometry, polygon or point
-
Determine if equal to the provided bounding box
Declaration
Objective-C
- (BOOL)equals:(GPKGBoundingBox *)boundingBox;Swift
func equals(_ boundingBox: GPKGBoundingBox!) -> BoolParameters
boundingBoxbounding box
Return Value
true if equal, false if not
-
Get a Map Rectangle representing the bounding box
Declaration
Objective-C
- (MKMapRect)mapRect;Swift
func mapRect() -> MKMapRectReturn Value
map rectangle
-
Get a Coordinate Region of the bounding box
Declaration
Objective-C
- (MKCoordinateRegion)coordinateRegion;Swift
func coordinateRegion() -> MKCoordinateRegionReturn Value
Coordinate Region
-
Get the Span of the bounding box
Declaration
Objective-C
- (MKCoordinateSpan)span;Swift
func span() -> MKCoordinateSpanReturn Value
Span
-
Get the center of the bounding box
Declaration
Objective-C
- (CLLocationCoordinate2D)center;Swift
func center() -> CLLocationCoordinate2DReturn Value
center location
-
Get with width and height of the bounding box in meters
Declaration
Objective-C
- (struct GPKGBoundingBoxSize)sizeInMeters;Swift
func sizeInMeters() -> GPKGBoundingBoxSizeReturn Value
bounding box size
-
If the bounding box spans the Anti-Meridian, attempt to get a complementary bounding box using the max longitude of the unit projection
Declaration
Objective-C
- (GPKGBoundingBox *)complementaryWithMaxLongitude: (double)maxProjectionLongitude;Swift
func complementary(withMaxLongitude maxProjectionLongitude: Double) -> GPKGBoundingBox!Parameters
maxProjectionLongitudemax longitude of the world for the current bounding box units
Return Value
complementary bounding box or nil if none
-
If the bounding box spans the Anti-Meridian, attempt to get a complementary WGS84 bounding box
Declaration
Objective-C
- (GPKGBoundingBox *)complementaryWgs84;Swift
func complementaryWgs84() -> GPKGBoundingBox!Return Value
complementary bounding box or nil if none
-
If the bounding box spans the Anti-Meridian, attempt to get a complementary Web Mercator bounding box
Declaration
Objective-C
- (GPKGBoundingBox *)complementaryWebMercator;Swift
func complementaryWebMercator() -> GPKGBoundingBox!Return Value
complementary bounding box or nil if none
-
Bound the bounding box longitudes within the min and max possible projection values. This may result in a max longitude numerically lower than the min longitude.
Declaration
Objective-C
- (GPKGBoundingBox *)boundCoordinatesWithMaxLongitude: (double)maxProjectionLongitude;Swift
func boundCoordinates(withMaxLongitude maxProjectionLongitude: Double) -> GPKGBoundingBox!Parameters
maxProjectionLongitudemax longitude of the world for the current bounding box units
Return Value
bounded bounding box
-
Bound the bounding box coordinates within WGS84 range values
Declaration
Objective-C
- (GPKGBoundingBox *)boundWgs84Coordinates;Swift
func boundWgs84Coordinates() -> GPKGBoundingBox!Return Value
bounded bounding box
-
Bound the bounding box coordinates within Web Mercator range values
Declaration
Objective-C
- (GPKGBoundingBox *)boundWebMercatorCoordinates;Swift
func boundWebMercatorCoordinates() -> GPKGBoundingBox!Return Value
bounded bounding box
-
Expand the bounding box max longitude above the max possible projection value if needed to create a bounding box where the max longitude is numerically larger than the min longitude.
Declaration
Objective-C
- (GPKGBoundingBox *)expandCoordinatesWithMaxLongitude: (double)maxProjectionLongitude;Swift
func expandCoordinates(withMaxLongitude maxProjectionLongitude: Double) -> GPKGBoundingBox!Parameters
maxProjectionLongitudemax longitude of the world for the current bounding box units
Return Value
expanded bounding box
-
Expand the bounding box max longitude above the max WGS84 projection value if needed to create a bounding box where the max longitude is numerically larger than the min longitude.
Declaration
Objective-C
- (GPKGBoundingBox *)expandWgs84Coordinates;Swift
func expandWgs84Coordinates() -> GPKGBoundingBox!Return Value
expanded bounding box
-
Expand the bounding box max longitude above the max Web Mercator projection value if needed to create a bounding box where the max longitude is numerically larger than the min longitude.
Declaration
Objective-C
- (GPKGBoundingBox *)expandWebMercatorCoordinates;Swift
func expandWebMercatorCoordinates() -> GPKGBoundingBox!Return Value
expanded bounding box
-
Transform the bounding box using the provided projection transform
Declaration
Objective-C
- (GPKGBoundingBox *)transform:(SFPGeometryTransform *)transform;Swift
func transform(_ transform: SFPGeometryTransform!) -> GPKGBoundingBox!Parameters
transformgeometry transform
Return Value
transformed bounding box
-
Determine if intersects with the provided bounding box
Declaration
Objective-C
- (BOOL)intersects:(GPKGBoundingBox *)boundingBox;Swift
func intersects(_ boundingBox: GPKGBoundingBox!) -> BoolParameters
boundingBoxbounding box
Return Value
true if intersects
-
Determine if intersects with the provided bounding box
Declaration
Objective-C
- (BOOL)intersects:(GPKGBoundingBox *)boundingBox withAllowEmpty:(BOOL)allowEmpty;Swift
func intersects(_ boundingBox: GPKGBoundingBox!, withAllowEmpty allowEmpty: Bool) -> BoolParameters
boundingBoxbounding box
allowEmptyallow empty ranges when determining intersection
Return Value
true if intersects
-
Get the overlapping bounding box with the provided bounding box
Declaration
Objective-C
- (GPKGBoundingBox *)overlap:(GPKGBoundingBox *)boundingBox;Swift
func overlap(_ boundingBox: GPKGBoundingBox!) -> GPKGBoundingBox!Parameters
boundingBoxbounding box
Return Value
bounding box
-
Get the overlapping bounding box with the provided bounding box
Declaration
Objective-C
- (GPKGBoundingBox *)overlap:(GPKGBoundingBox *)boundingBox withAllowEmpty:(BOOL)allowEmpty;Swift
func overlap(_ boundingBox: GPKGBoundingBox!, withAllowEmpty allowEmpty: Bool) -> GPKGBoundingBox!Parameters
boundingBoxbounding box
allowEmptyallow empty ranges when determining overlap
Return Value
bounding box
-
Get the union bounding box with the provided bounding box
Declaration
Objective-C
- (GPKGBoundingBox *)union:(GPKGBoundingBox *)boundingBox;Swift
func union(_ boundingBox: GPKGBoundingBox!) -> GPKGBoundingBox!Parameters
boundingBoxbounding box
Return Value
bounding box
-
Determine if inclusively contains the provided bounding box
Declaration
Objective-C
- (BOOL)contains:(GPKGBoundingBox *)boundingBox;Swift
func contains(_ boundingBox: GPKGBoundingBox!) -> BoolParameters
boundingBoxbounding box
Return Value
true if contains
-
Expand the bounding box to an equally sized width and height bounding box
Declaration
Objective-C
- (GPKGBoundingBox *)squareExpand;Swift
func squareExpand() -> GPKGBoundingBox!Return Value
new square expanded bounding box
-
Expand the bounding box to an equally sized width and height bounding box with optional empty edge buffer
Declaration
Objective-C
- (GPKGBoundingBox *)squareExpandWithBuffer:(double)bufferPercentage;Swift
func squareExpand(withBuffer bufferPercentage: Double) -> GPKGBoundingBox!Parameters
bufferPercentagebounding box edge buffer percentage. A value of 0.1 adds a 10% buffer on each side of the squared bounding box.
Return Value
new square expanded bounding box
-
Determine if the bounding box is of a single point
Declaration
Objective-C
- (BOOL)isPoint;Swift
func isPoint() -> BoolReturn Value
true if a single point bounds
View on GitHub
GPKGBoundingBox Class Reference