Skip to content

Releases: helpisdev/dbscan_dart

dbscan_dart v1.1.0

Choose a tag to compare

@helpisdev helpisdev released this 06 Jun 15:54
5d13eb8

What's Changed

  • FEAT: Integrate Melos for version management
  • FEAT(core): Initial release of dbscan_dart package

Features

🚀 DBSCAN Dart Implementation - A high-performance, pure-Dart implementation of the DBSCAN clustering algorithm with spatial optimization.

Key Features:

  • 🔍 KD-Tree & Grid Optimization - Dramatically improves performance on large datasets through spatial indexing
  • 🧩 Flexible Point Interface - Cluster any data type by implementing a simple interface
  • 🔄 Efficient Expansion Algorithm - Uses optimized seed-set expansion with duplicate tracking
  • 🛡️ Border Point Handling - Smart border point detection prevents misclassification as noise
  • 📊 Comprehensive Results - Returns both per-cluster point collections and per-point cluster assignments

Installation

dependencies:
  dbscan_dart: ^1.1.0

Usage

import 'package:dbscan_dart/dbscan_dart.dart';

// Create sample points
final points = [
  LatLngPoint(pointId: PointId(1), lat: 37.7749, lng: -122.4194),
  LatLngPoint(pointId: PointId(2), lat: 37.7849, lng: -122.4094),
  // ... more points
];

// Run DBSCAN clustering
final dbscan = DBScan(eps: 5, minPoints: 4);
final result = dbscan.run(points: points);

// Access results
print('Clusters: ${result.clusters}');
print('Labels: ${result.labels}');

Full Changelog: https://github.com/helpisdev/dbscan_dart/blob/main/CHANGELOG.md