rugreefer/README.md

55 lines
1.5 KiB
Markdown
Raw Normal View History

2025-02-27 15:24:16 +02:00
# Rugreefer
2025-02-27 23:14:03 +02:00
**Rugreefer** is a Dart library for retrieving metadata about geographic coordinates from a [dopecarpet](http://github.com/TheRandonauts/dopecarpet) server. It converts coordinates into a geohash, fetches a gzipped GeoJSON file from the API, and extracts relevant spatial data such as polygons and lines. The library also supports caching with optional expiration to improve performance.
2025-02-27 15:24:16 +02:00
## Features
- Converts latitude/longitude to geohash (precision: 4 characters)
- Fetches GeoJSON files from a remote API
- Extracts relevant metadata from polygons and lines
- Supports caching for performance optimization
- Optional cache expiration (default: 14 days)
- Works in **Flutter** (mobile, desktop, web)
## Installation
Add **rugreefer** to your `pubspec.yaml`:
```yaml
dependencies:
rugreefer:
git:
url: https://github.com/TheRandonauts/rugreefer.git
```
Then, run:
```sh
flutter pub get
```
## Usage
### **Basic Example**
```dart
import 'package:rugreefer/rugreefer.dart';
void main() async {
2025-02-27 23:14:03 +02:00
final lookup = RugReefer(
2025-02-27 15:24:16 +02:00
apiUrl: 'http://localhost:8000/get_geodata/?format=geojson&geohash=',
enableCacheExpiration: true,
);
final results = await lookup.lookup(30.5735040, 34.453125);
print(results);
}
```
### **Custom Cache Settings**
```dart
2025-02-27 23:14:03 +02:00
final lookup = RugReefer(
2025-02-27 15:24:16 +02:00
apiUrl: 'http://your-api.com/get_geodata/?format=geojson&geohash=',
enableCacheExpiration: true,
cacheExpirationDuration: Duration(days: 7),
);
```
## Author
[@randogoth](https://github.com/randogoth)