model library

Core data models for geographic and map-related data structures.

This library provides fundamental classes for:

  • Geographic coordinates (LatLong, ILatLong)
  • Spatial boundaries (BoundingBox, MapRectangle)
  • Map elements (Tile, Way, PointOfInterest)
  • Geometric primitives (MapPoint, MapSize)
  • Data organization (Tag, DatastoreBundle)
  • Zoom level management (ZoomlevelRange)
  • Coordinate utilities and transformations

Classes

BoundingBox
Immutable rectangular geographic boundary defined by latitude and longitude coordinates.
Datastore
Abstract base class for map data storage and retrieval.
DatastoreBundle
A container for the data returned from a Datastore.
ILatLong
An interface for a geographical point with latitude and longitude coordinates.
LatLong
Immutable geographic coordinate representing a point on Earth's surface.
Mappoint
An immutable pair of absolute double coordinates in map pixels.
MappointRelative
An immutable pair of relative double coordinates in map pixels.
MapRectangle
An immutable rectangle defined by four double coordinates in map pixels.
MapSize
An immutable size in map pixels.
PointOfInterest
An immutable container for all data associated with a single Point of Interest (POI).
Tag
An immutable key-value pair, used to store metadata for map elements.
TagCollection
A collection of Tag objects that provides a convenient way to access tags by key.
Tile
Represents a rectangular map tile in a hierarchical tiling scheme.
Way
An immutable container for all data associated with a single way or area (closed way).
Waypath
A mutable container for a single path of a way, which is a list of ILatLong coordinates.
ZoomlevelRange
An immutable range of zoom levels, defined by a minimum and maximum value.