FCF-67 API for Polygon upload
Description:
From a selected polygon area, POST the GeoJSON and calculate the biomass density mean across loaded carbon bands/rows for the raster of that area. Add a preliminary carbon
table to load the raster along with a function to calculate the means.
To test:
- In
fcf.carbon
:
(comment
(def geojson-str "{\n \"type\": \"FeatureCollection\",\n \"features\": [\n {\n \"id\": \"1e3f442ad1fdf0d465df28a156f960f0\",\n \"type\": \"Feature\",\n \"properties\": {},\n \"geometry\": {\n \"coordinates\": [\n [\n [\n -122.84967654845981,\n 38.09961099653634\n ],\n [\n -122.79919050594084,\n 38.103757591881305\n ],\n [\n -122.79310024016037,\n 38.06204407227444\n ],\n [\n -122.840321894426,\n 38.05082236004026\n ],\n [\n -122.84967654845981,\n 38.09961099653634\n ]\n ]\n ],\n \"type\": \"Polygon\"\n }\n }\n ]\n}")
(println "geojson " geojson-str)
(call-sql "calculate_band_stats" geojson-str))
- You can also
POST
to the API with a REST client tohttp://localhost:8080/carbon/polygon-calculation
. JSON example:
{"geojson": {
"type": "FeatureCollection",
"features": [
{
"id": "1e3f442ad1fdf0d465df28a156f960f0",
"type": "Feature",
"properties": {},
"geometry": {
"coordinates": [
[
[
-122.84967654845981,
38.09961099653634
],
[
-122.79919050594084,
38.103757591881305
],
[
-122.79310024016037,
38.06204407227444
],
[
-122.840321894426,
38.05082236004026
],
[
-122.84967654845981,
38.09961099653634
]
]
],
"type": "Polygon"
}
}
]
}
}
- Or select an area with "Draw Area" from the interface and hit "Generate Data", which should print the returned result to the console.
Closes FCF-67
Edited by Sifeddine Biri