geobase
Geospatial data, geometry, geodesy, projections, tiling schemes, and vector formats (GeoJSON, WKT, WKB).
1.5.0
15K downloads/mo
#2508 most downloaded on pub.dev
navibyte/geospatial
What this package is like to depend on
Last release 1 years ago
11 Mar 2025
Release timing varies
gaps range from 9 days to 6 months
Nearly every release is documented
notes for 22 of 22 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
65 releases · first in 2022
0 releases in the last 12 months
see the full history below
Release timeline
65 releases · Feb 2022 to Mar 2025Releases
latest 60 of 65-
1.5.011 Mar 2025Release notes
Open source →✨ New (2025-03-11): The stable version 1.5.0 with global grids, better WGS84 projection support and unit conversions.
🧩 Features:
- Port conversions between (historical) ellipsoidal datums to Dart #256
- Port UTM / WGS-84 conversion functions to Dart #257
- Port MGRS / UTM conversion functions to Dart #258
- Add Geocentric class on geodesy / ellipsoidal to represent ECEF (earth-centric earth-fixed) positions / calculations #260
- Handle optional m and elev coordinates when transforming between geographic and cartesian geocentric coordinates #259
- Conversions between geographic, UTM and geocentric coordinates in projections sub package #261
- Common units and conversions for angle, distance and area #264
- Common units and conversions for time (duration), speed and angular velocity #266
- Unit conversion extension on num with conversion methods for angle, angular velocity, area, length, speed and time units #267
- Geographic string representations (DMS) enhancements #176
🛠 Refactoring:
📚 Documentation updates:
-
1.5.0-dev.503 Feb 2025 pre-releaseNothing published for this version
-
1.5.0-dev.426 Jan 2025 pre-releaseNothing published for this version
-
1.5.0-dev.315 Jan 2025 pre-releaseNothing published for this version
-
1.5.0-dev.212 Jan 2025 pre-releaseNothing published for this version
-
1.5.0-dev.105 Jan 2025 pre-releaseNothing published for this version
-
1.5.0-dev.004 Jan 2025 pre-releaseNothing published for this version
-
1.4.010 Nov 2024Release notes
Open source →✨ New (2024-11-10): The stable version 1.4.0 with ellipsoidal geodesy functions letting you calculate distances, bearings, destination positions and intermediate points along the Earth surface accurately.
🧩 Features:
- Add a class for an earth ellipsoid with common default values #242
- Coordinate transformation between geocentric cartesian coordinates and geographic coordinates #243
- Vincenty calculations (distances and bearings) between geographic points #244
- Add GeographicBearing class to represent a bearing with a geographic position #245
- Add GeodeticArcSegment class to represent a geodesic arc between two points on an ellipsoid or a sphere #246
🛠 Refactoring:
- Remove dependency on equatable package #248
- Refactor polylabel function to use TinyQueue ported from JavaScript #253
🛠 Maintenance:
📚 Documentation updates
-
1.4.0+110 Nov 2024 -
1.4.0-dev.103 Nov 2024 pre-releaseNothing published for this version
-
1.4.0-dev.003 Nov 2024 pre-releaseNothing published for this version
-
1.3.026 Jul 2024Release notes
Open source →2024-07-26
- ✨ The stable version 1.3.0 with centroid, polylabel, point-in-polygon and other cartesian 2D calculations enhanced - read more!
- All docs: geospatial.navibyte.dev.
- Published packages at pub.dev:
Release notes
Open source →✨ New (2024-07-26): The stable version 1.3.0 with centroid, polylabel, point-in-polygon and other cartesian 2D calculations enhanced - read more!
🧩 Features:
- Add visual center point calculations for polygons #237
- Centroid2D as available from sub package geometric #240
- Add point-in-polygon function #236
- Add distance-to-from-point function #238
🛠 Maintenance:
- Add dependency on the
collectionspackage (forPriorityQueue). - New sub package for cartesian calculations #239
-
1.3.0-dev.125 Jul 2024 pre-releaseNothing published for this version
-
1.3.0-dev.025 Jul 2024 pre-releaseNothing published for this version
-
1.2.026 May 2024Release notes
Open source →2024-05-26
- ✨ The stable version 1.2.0 with the brand new documentation site published at geospatial.navibyte.dev.
- Published packages at pub.dev:
Release notes
Open source →✨ New (2024-05-26): The new documentation website (geospatial.navibyte.dev) for the geobase package documentation published along with the stable version 1.2.0.
🛠 Refactoring:
No functional changes on classes and functions, but major changes on documentation with the publication of the new docs website.
-
1.1.022 Apr 2024Release notes
Open source →2024-04-22
- ✨ The stable version 1.1.0 adds support for Newline-delimited GeoJSON, EWKT and EWKB.
- See also the article Decode and encode GeoJSON, WKT and WKB in Dart and Flutter apps.
- Published packages at pub.dev:
Release notes
Open source →✨ New (2024-04-22): Support for Newline-delimited GeoJSON, EWKT and EWKB added. Check out the blog post.
🧩 Features:
- Enhanced coordinate value output for positions and text data formats #98
- Add decodeHex and toBytesHex to geometry objects and builders #227
- Add EWKB encoding and decoding support on geobase #165
- Add EWKT support
- Support for GeoJSON Text Sequences
- Centroid for all geometry objects #223
- Factories to create multi geometries from geometry lists #229
- Item accessor operator and length in geometry and feature collections #230
- True dimensionality for geometry #231
-
1.1.0-dev.017 Apr 2024 pre-releaseNothing published for this version
-
1.0.209 Apr 2024Release notes
Open source →🧩 Features:
- Add Extended WKB or EWKB support #224
- Support decoding also EWKB data (no support for accessing an optional srid).
- These changes on WKB decoder internal logic without any library API changes.
- Quite extensive tests.
- Encoding EWKB data not yet implemented (see #165, coming in future version).
- Add Extended WKB or EWKB support #224
-
1.0.108 Apr 2024Release notes
Open source →🐛 Bugs fixed:
🛠 Maintenance:
- Adding trailing commas to avoid "Missing a required trailing comma" message.
- Small documentation fixes.
-
1.0.029 Oct 2023Release notes
Open source →2023-10-29
- ✨ New (2023-10-29): The stable version 1.0.0 is now ready. See also the article Geospatial tools for Dart - version 1.0 published at Medium
- geobase version 1.0.0
- geodata version 1.0.0
Release notes
Open source →✨ New (2023-10): The stable version 1.0.0 is now ready. See also the article Geospatial tools for Dart - version 1.0 published at Medium.
⚠️ Breaking changes:
- Remove previous deprecations for geobase 1.0.0 #207
- Restructure abstract base classes Positionable and Bounded #213
- Change signature of TransformPosition typedef #216
🧩 Features:
- Handle the special case of bbox or geometries spanning the anti-meridian (longitude 180 degrees) #185
- Merge and split on Box #211
- PositionScheme for generic, geographic and projected position data #214
- Add basic geometry calculation functions #191
- Operators in Position, Box and PositionSeries #215
- Transform and filter positions and position series #218
- Position element manipulation in PositionSeries #219
- Enum for dimensionality or topological dimension #220
🛠 Refactoring:
- Normalize longitude with inclusive limit on east 180 degrees #210
- Move Bounded to coordinates and implement it by PositionSeries #212
- Restructure codes and constants sub packages #221
🚥 Tests:
-
1.0.0-dev.327 Oct 2023 pre-releaseNothing published for this version
-
1.0.0-dev.222 Oct 2023 pre-releaseNothing published for this version
-
1.0.0-dev.115 Oct 2023 pre-releaseNothing published for this version
-
1.0.0-dev.008 Oct 2023 pre-releaseNothing published for this version
-
0.6.030 Sep 2023Release notes
Open source →✨ New (2023-09): Optimizing data structures (Position, PositionSeries, Box) used by simple geometries. Fixes, tests and documentation.
🧩 Features:
- Add copyWith (and map) methods to coordinate, meta, feature and geometry classes #189
- Populating and unpopulating bounds in geometries and feature objects #197
- Testing feature and geometry equality #188
- Factories on Position and Box to create from double arrays #199
- Redesigned PositionData supporting positions from coordinate value array and position objects #200
- Coordinates using data structures from typed data #203
- Position from subview of coordinate value array as doubles #204
- PositionSeries and geometries with reversed positions #205
- Get a subseries of positions in PositionSeries #206
⚠️ Breaking changes:
- Allow a position stored as "Position" in Point, and a bounding box as "Box" in Geometry classes #192
- Simplify Feature and FeatureCollection types #195
- Remove deprecated types in geobase version 0.6.0 #194
- Consistent crs and trs references in meta classes #196
- Deprecate PositionArray, PositionCoords and BoxCoords #201
- Refactor SimpleGeometryContent #202
🛠 Refactoring:
- isEmptyByGeometry on Bounded (and feature objects too, not only geometries)
🛠 Maintenance:
- PositionArray, PositionCoords and BoxCoords moved from vector_data to vector (and later deprecated by #201).
- Enhanced class documentation and tests.
-
0.6.0-dev.326 Sep 2023 pre-releaseNothing published for this version
-
0.6.0-dev.222 Sep 2023 pre-releaseNothing published for this version
-
0.6.0-dev.117 Sep 2023 pre-releaseNothing published for this version
-
0.6.0-dev.010 Sep 2023 pre-releaseNothing published for this version
-
0.5.112 Aug 2023 -
0.5.011 Aug 2023Release notes
Open source →✨ New (2023-07): spherical geodesy functions (distance, bearing, destination point, etc.) for great circle and rhumb line paths.
⚠️ Breaking changes:
- The
WkbConfclass removed, addedbuildEmptyGeometriesfor WKB decoder. PositionandBox: tolerance type fromnum?todouble(see #146).- Remove inheritance of Scalable2i from Projected #183
Measurableabstract class removed,isMeasureddefined inPositionable.- Coordinate values as doubles instead of num #186
🧩 Features:
- Add common geospatial and geodesy functions #106
- Add parse and format functions for dms representations of degrees #173
- Axis order information of coordinate reference systems #178
- GeoJSON output for non-default coordinate reference systems #179
- WKT decoder on geobase #159
- Consistent equals, equals2D, equals3D (and equalsBy) for coordinates, geometries and features #146
- Geometry objects instantiated from instances or iterables of Position objects #171
- Alternative logics to resolve axis order #182
- Handle explicit and implicit bounds in geometries and features on geobase #141
- Add project method for Position class #184
- Project bounding box #96
🛠 Refactoring:
- Enforce "geometry" under "Feature" when encoding GeoJSON text output #91
- Deprecate XY, XYZ, XYM, XYZM, LonLat, LonLatElev, LonLatM, LonLatElevM special classes extending PositionCoords - to be removed for version 1.0 of the package.
🐛 Bugs fixed:
🛠 Maintenance:
- Removed extra internal export files and made internal imports more excplicit.
✍️ In-progress:
- Geographic string representations (DMS) enhancements #176
- DMS lat/lon representatio default separator changed.
- The
-
0.5.0-dev.231 Jul 2023 pre-releaseNothing published for this version
-
0.5.0-dev.129 Jul 2023 pre-releaseNothing published for this version
-
0.5.0-dev.019 Jul 2023 pre-releaseNothing published for this version
-
0.4.219 Mar 2023 -
0.4.111 Mar 2023Release notes
Open source →📚 Documentation updates
- An introduction chapter for the readme.
🛠 Maintenance:
- The SDK constraint updated from '>=2.17.0 <3.0.0' to '>=2.17.0 <4.0.0'.
-
0.4.002 Dec 2022 -
0.4.0-dev.221 Nov 2022 pre-releaseNothing published for this version
-
0.4.0-dev.113 Nov 2022 pre-releaseNothing published for this version
-
0.4.0-dev.006 Nov 2022 pre-releaseNothing published for this version
-
0.3.203 Sep 2022Release notes
Open source → -
0.3.130 Aug 2022Release notes
Open source →📚 Small documentation updates. Also a link to the Geospatial demos for Dart repository.
-
0.3.021 Aug 2022Release notes
Open source →✨ New: Data structures for simple geometries, features and feature collections. ✨ New: Support for Well-known binary (WKB). Text and binary data formats, encodings and content interfaces also redesigned.
⚠️ Breaking changes:
- Content interfaces, content encoders and text formats redesigned
- Rename writers and content interfaces to generalize #127
- Geometry content written with more specific methods #128
- Allow coordinate value arrays along with position arrays on content interfaces #129
- Simplify Coords enum #130
- Type changes on projections and adapters #151
- Move "basic transforms" from geobase to geocore #152
🧩 Features:
- Combine writers and parsers for formats (GeoJSON, WKT) consistently #125
- Add WKB encoding/decoding support #115
- Text and Binary outputs on writers #126
- Text and Binary outputs on decoders #132
- Coordinate order on box and position consistently #134
- Positions as iterable of coordinate values on geobase #136
- PositionData access (on lists or buffers) #137
- new mini library "transforms" and "projections"
- Simple geometry data structures on geobase #133
- Feature data structures on geobase #138
- GeoJSON text decoder building new geometry and feature data structures on geobase #139(https://github.com/navibyte/geospatial/issues/139)
- Equals, hashCode and toString for geometries and features on geobase #143
- Encode / write methods directly from geometry and feature classes on geobase #144
- Decode GeoJSON and build data structures using new data structures by geobase #140
- Handle explicit and implicit bounds in geometries and features on geobase
- Handle projections and transforms of geometries and features on geobase #142
🛠 Refactoring:
- Optimize reading from iterable of coordinate values #131
- Feature properties and data maps as Map<String, dynamic> instead of Map<String, Object?> #147
- Refactor fromJson / toJson methods on model classes #150
🛠 Maintenance:
- Lint rules without old strong mode, but with new "stricter type checks" #148
- Mark internal classes with @internal #149
📚 Documentation
-
0.3.0-dev.206 Aug 2022 pre-releaseNothing published for this version
-
0.3.0-dev.131 Jul 2022 pre-releaseNothing published for this version
-
0.3.0-dev.031 Jul 2022 pre-releaseNothing published for this version
-
0.2.118 Jun 2022 -
0.2.1-dev.018 Jun 2022 pre-releaseNothing published for this version
-
0.2.017 Jun 2022Release notes
Open source →✨ New: Tiling schemes and tile matrix sets (web mercator, global geodetic). Also other improvements on coordinates, and refactorings on the code structure.
🧩 Features:
- Mini-libraries for geobase #109
- Conversion between WGS84 (lon-lat) and Web Mercator Quad tile matrix set #57
- MapPoint2i renamed to ScalableXY, and implementing Projected and Scalable #116
- Use OGC specified screen pixel size / ppi when calculating scale denominator #119
- Add World CRS84 TileMatrixSet #114
- Add zoomIn, zoomOut and zoomOut to Scalable2i #121
🛠 Maintenance:
-
0.2.0-dev.1115 Jun 2022 pre-releaseNothing published for this version
-
0.2.0-dev.1012 Jun 2022 pre-releaseNothing published for this version
-
0.2.0-dev.910 Jun 2022 pre-releaseNothing published for this version
-
0.2.0-dev.807 Jun 2022 pre-releaseNothing published for this version
-
0.2.0-dev.704 Jun 2022 pre-releaseNothing published for this version
-
0.2.0-dev.623 May 2022 pre-releaseNothing published for this version
-
0.2.0-dev.522 May 2022 pre-releaseNothing published for this version
-
0.2.0-dev.422 May 2022 pre-releaseNothing published for this version
-
0.2.0-dev.322 May 2022 pre-releaseNothing published for this version
-
0.2.0-dev.222 May 2022 pre-releaseNothing published for this version
-
0.2.0-dev.122 May 2022 pre-releaseNothing published for this version