rugreefer/README.md
randogoth ef55e5ca83 logo
2025-02-28 14:19:32 +02:00

57 lines
No EOL
1.5 KiB
Markdown

<image src="assets/rugreefer.png" width="250" />
# Rugreefer
**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.
## 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 {
final lookup = RugReefer(
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
final lookup = RugReefer(
apiUrl: 'http://your-api.com/get_geodata/?format=geojson&geohash=',
enableCacheExpiration: true,
cacheExpirationDuration: Duration(days: 7),
);
```
## Author
[@randogoth](https://github.com/randogoth)