geobase 0.6.0-dev.1 geobase: ^0.6.0-dev.1 copied to clipboard
Geospatial data, spherical geodesy, projections, tiling schemes, and vector formats (GeoJSON, WKT, WKB).
0.6.0 #
NOTE: Version 0.6.0 currently under development (0.6.0-dev.1).
𧩠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
β οΈ 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).
0.5.1 #
Small document fixes (readme links to assets), no code changes.
0.5.0 #
β¨ New (2023-07): spherical geodesy functions (distance, bearing, destination point, etc.) for great circle and rhumb line paths.
β οΈ Breaking changes:
- The
WkbConf
class removed, addedbuildEmptyGeometries
for WKB decoder. Position
andBox
: tolerance type fromnum?
todouble
(see #146).- Remove inheritance of Scalable2i from Projected #183
Measurable
abstract class removed,isMeasured
defined 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.
0.4.2 #
π Documentation updates:
- Readme enhanced with multiple class diagrams.
0.4.1 #
π 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.0 #
0.3.2 #
π Documentation updates.
π Refactoring:
0.3.1 #
π Small documentation updates. Also a link to the Geospatial demos for Dart repository.
0.3.0 #
β¨ 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.2.1 #
π Bugs fixed:
0.2.0 #
β¨ 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.1.1 #
0.1.0 #
Initial version with some code originating from geocore
package:
- π’ enums for geospatial coordinate and geometry types
- π geographic positions and bounding boxes (longitude-latitude-elevation)
- πΊοΈ projected positions and bounding boxes (cartesian XYZ)
- ποΈ coordinate transformations and projections (initial support)
- π temporal data structures (instant, interval)
- π geospatial data writers for features, geometries, coordinates, properties:
- π supported formats: GeoJSON
- π geospatial data writers for geometries and coordinates:
- πͺ§ supported formats: WKT
𧩠Features:
- Separate some common features of geocore to separate common package #86
- Base interface for bounding boxes compatible with RFC7946 #87
- Separate basic point properties as position interface #84
- Formatting to text on Point (and other geometries) more flexible #81
- Coordinate types enhanced #92
- Coordinate value accessors on position classes #94
- Equality and hashcode for (Geo)Position and (Geo)Box classes #89
- Generalize and move project and transform from geocore to geobase #95
- Intersects bounds generalized on geobase #97
- Renewed GeoExtent with spatial and temporal parts #99
π Maintenance: