shapekit 0.2.0
shapekit: ^0.2.0 copied to clipboard
A comprehensive Dart library for reading and writing ESRI Shapefiles with support for all 13 geometry types and Korean text encoding (CP949).
0.2.0 #
Breaking Changes #
- Error handling refactored: Methods no longer return
boolfor success/failurereader()→read()(now returnsvoid, throws on error)writer()→write()(now returnsvoid, throws on error)writerEntirety()→writeComplete()(now returnsvoid, throws on error)analysis()→analyze()(now returnsvoid, throws on error)
- All I/O methods now throw
ShapefileExceptionsubclasses instead of returningfalse - Changed
PointZconstructor parameter order for consistency - Removed
minM/maxMparameters from methods - now using properBoundsMclasses - Changed type dependencies to immutable
Improvements #
- Switched bounds to use multiple classes (
Bounds,BoundsM,BoundsZ) for type safety - Implemented MultiPoint, MultiPointM, and MultiPointZ in
analyze()method - Reordered
analyze()method cases for cleaner code organization - Improved test coverage for all geometry types (PointM, PolylineM/Z, PolygonM/Z)
- Cleaned up duplicate tests and improved test organization
- Added 120-character line width formatting rule in
analysis_options.yaml - Minor README fixes
- Various bug fixes
Migration Guide #
// Before (0.1.0)
if (shapefile.reader('path.shp')) {
// success
} else {
// error
}
// After (0.2.0)
try {
shapefile.read('path.shp');
// success
} on ShapefileException catch (e) {
// error handling
}
0.1.0 #
- Initial release of ShapeKit
- Complete support for reading and writing ESRI Shapefiles (.shp, .shx, .dbf, .prj)
- Support for all 13 standard shapefile geometry types
- Full dBASE III+ (.dbf) file support for feature attributes
- UTF-8 encoding support
- Type-safe geometry classes with immutable data structures
- Clean architecture with well-organized codebase