|
--- |
|
tags: |
|
- geospatial |
|
- geobase |
|
- land-cover-classification |
|
license: mit |
|
--- |
|
| <img src="https://upload.wikimedia.org/wikipedia/commons/6/6a/JavaScript-logo.png" width="28" height="28"> | [GeoAi](https://www.npmjs.com/package/geoai) | |
|
|---|---| |
|
|
|
|
|
|
|
> `task = land-cover-classification` |
|
|
|
### 🛠 Model Purpose |
|
This model is part of the **[GeoAi](https://github.com/decision-labs/geoai.js)** javascript library. |
|
|
|
**GeoAi** enables geospatial AI inference **directly in the browser or Node.js** without requiring a heavy backend. |
|
|
|
**GeoAi** pipeline accepts **geospatial polygons** as input (in GeoJSON format) and outputs results as a **GeoJSON FeatureCollection**, ready for use with libraries like **Leaflet** and **Mapbox GL**. |
|
|
|
<video controls autoplay loop width="1024" height="720" src="https://geobase-docs.s3.amazonaws.com/geobase-ai-assets/land-cover-classification.mp4"></video> |
|
|
|
--- |
|
### 🚀 Demo |
|
|
|
Explore the model in action with the interactive [Demo](https://docs.geobase.app/geoai-live/tasks/land-cover-classification). |
|
|
|
### 📦 Model Information |
|
- **Architecture**: [SparseMask](https://github.com/wuhuikai/SparseMask) |
|
- **Source Model**: https://github.com/cliffbb/oem-lightweight |
|
- **Quantization**: Yes |
|
--- |
|
|
|
> **Note:** This model only works if the input imagery contains both RGB and NIR bands. |
|
|
|
|
|
### 💡 Example Usage |
|
|
|
```javascript |
|
import { geoai } from "geoai"; |
|
|
|
// Example polygon (GeoJSON) |
|
const polygon = { |
|
type: "Feature", |
|
properties: {}, |
|
geometry: { |
|
coordinates: [ |
|
[ |
|
[-99.98170823334205, 50.64318249608178], |
|
[-99.9806018185983, 50.6431476272638], |
|
[-99.9807117895183, 50.642403469489295], |
|
[-99.98256386074388, 50.64247150726101], |
|
[-99.98170823334205, 50.64318249608178] |
|
], |
|
], |
|
type: "Polygon", |
|
}, |
|
} as GeoJSON.Feature; |
|
|
|
// Initialize pipeline |
|
const pipeline = await geoai.pipeline( |
|
[{ task: "land-cover-classification" }], |
|
providerParams |
|
); |
|
|
|
// Run detection |
|
const result = await pipeline.inference({ |
|
inputs: { polygon } |
|
}); |
|
|
|
// Sample output format |
|
// { |
|
// "detections": [ |
|
// {type: 'FeatureCollection', features: Array(6)}, |
|
// {type: 'FeatureCollection', features: Array(43)}, |
|
// {type: 'FeatureCollection', features: Array(6)}, |
|
// {type: 'FeatureCollection', features: Array(3)}, |
|
// {type: 'FeatureCollection', features: Array(11)}, |
|
// {type: 'FeatureCollection', features: Array(36)}, |
|
// {type: 'FeatureCollection', features: Array(0)}, |
|
// {type: 'FeatureCollection', features: Array(9)} |
|
// ] |
|
// "outputimage": GeoRawImage {data: Uint8ClampedArray(1048576), width: 512, height: 512, channels: 4, bounds: {…}, …} |
|
// } |
|
|
|
``` |
|
### 📖 Documentation & Demo |
|
|
|
- GeoBase Docs: https://docs.geobase.app/geoai |
|
- NPM Package: https://www.npmjs.com/package/geoai |
|
- Demo Playground: https://docs.geobase.app/geoai-live/tasks/land-cover-classification |
|
- GitHub Repo: https://github.com/decision-labs/geoai.js |