RectangleGeographicArea class Core
Rectangular geographic area aligned with latitude and longitude lines.
Represents a geographic rectangle defined by its top-left (northwest) and bottom-right (southeast) corner coordinates. The rectangle's sides are parallel to parallels and meridians, making it suitable for bounding boxes, search areas, and map viewport definitions.
For a valid rectangle, the top-left coordinate must have:
latitudegreater than bottom-right latitude (north is "up")longitudeless than bottom-right longitude (west is "left")
This class provides operations for rectangle intersection, union, containment testing, and various construction methods from bounds or center points.
A valid RectangleGeographicArea requires:
topLeft.latitude > bottomRight.latitudetopLeft.longitude < bottomRight.longitude
The constructor does not enforce these constraints, so callers must ensure proper coordinate ordering.
See also:
- GeographicArea: Abstract base class for all geographic areas.
- CircleGeographicArea: Circular geographic area implementation.
- PolygonGeographicArea: Polygonal geographic area implementation.
- Implemented types
Constructors
- RectangleGeographicArea({required Coordinates topLeft, required Coordinates bottomRight})
- Creates a rectangular geographic area from corner coordinates.
-
RectangleGeographicArea.fromJson(Map<
String, dynamic> json) -
Deserializes a JSON-compatible map to create an instance.
factory
Properties
- bottomRight ↔ Coordinates
-
The southeast corner coordinate of the rectangle.
getter/setter pair
- boundingBox → RectangleGeographicArea
-
Gets the smallest rectangle that completely encloses this geographic area.
no setteroverride
- centerPoint → Coordinates
-
Gets the representative center point of this geographic area.
no setteroverride
- copy → RectangleGeographicArea
-
Creates a deep copy of this rectangle with identical coordinates.
no setter
- hashCode → int
-
The hash code for this object.
no setteroverride
- isDefault → bool
-
Indicates whether this geographic area is in a default or empty state.
no setteroverride
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- topLeft ↔ Coordinates
-
The northwest corner coordinate of the rectangle.
getter/setter pair
- type → GeographicAreaType
-
Gets the specific type identifier for this geographic area implementation.
no setteroverride
Methods
-
contains(
RectangleGeographicArea area) → bool - Tests whether this rectangle completely contains another rectangle.
-
containsCoordinates(
Coordinates point) → bool -
Tests whether a coordinate point lies within this geographic area.
override
-
convert(
GeographicAreaType toType) → GeographicArea? -
Attempts to convert this geographic area to a different type.
override
-
intersects(
RectangleGeographicArea area) → bool - Tests whether this rectangle intersects with another rectangle.
-
makeIntersection(
RectangleGeographicArea area) → RectangleGeographicArea - Creates the intersection of this rectangle with another rectangle.
-
makeUnion(
RectangleGeographicArea area) → RectangleGeographicArea - Creates the union of this rectangle with another rectangle.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
reset(
) → void -
Resets this geographic area to its default empty state.
override
-
setFromBounds(
{required double minLat, required double maxLat, required double minLon, required double maxLon}) → void - Sets rectangle coordinates using minimum and maximum latitude/longitude bounds.
-
setFromCenterAndRadii(
{required Coordinates coords, required double horizRadius, required double vertRadius}) → void - Sets rectangle coordinates using a center point and horizontal/vertical radii.
-
toJson(
) → Map< String, dynamic> -
Serializes this instance to a JSON-compatible map.
override
-
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
covariant RectangleGeographicArea other) → bool -
The equality operator.
override