55 lines
No EOL
1.5 KiB
Markdown
55 lines
No EOL
1.5 KiB
Markdown
# 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) |