https://github.com/monolithgoon/automated-land-subdivision-api
Automatically divide up land into pre-specified chunk sizes, and report back the coordinates for each chunk.
https://github.com/monolithgoon/automated-land-subdivision-api
api aws express-js gis javascript jwt leaflet-js mapbox-gl-js mongo-db node-js pug turf-js
Last synced: 15 days ago
JSON representation
Automatically divide up land into pre-specified chunk sizes, and report back the coordinates for each chunk.
- Host: GitHub
- URL: https://github.com/monolithgoon/automated-land-subdivision-api
- Owner: monolithgoon
- Created: 2020-08-13T12:46:08.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2025-01-22T07:55:02.000Z (5 months ago)
- Last Synced: 2025-04-04T12:35:51.722Z (3 months ago)
- Topics: api, aws, express-js, gis, javascript, jwt, leaflet-js, mapbox-gl-js, mongo-db, node-js, pug, turf-js
- Language: JavaScript
- Homepage: http://13.61.173.110/
- Size: 31.8 MB
- Stars: 4
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# [_Automated Land-Subdivision API_](http://13.61.173.110/)
> Helping put smallholder farmers on the map

Automatically divide up a single, contiguous land expanse into pre-specified chunk sizes. Instantly reports back precise, high-resolution plot boundary coordinates that enables precision agriculture. The tool works regardless of the size of the initial land expanse.
Helps smallholder farmer geo-coops digitize their fam locations at very low cost.
## 🌐 *_Resources_*
### [_Auto Land-Subdivision API Landing Page_](http://13.61.173.110/)
*[Frontend demo app](https://farmplots.web.app)*
*[Video demo (2min 23s)](https://www.loom.com/share/44a371170c8f46fe9bf30ed946f44604)*
*[Video pitch (3min 46s)](https://www.loom.com/share/c5ae871e21c1405e84ca1e573a9a7c99)*

## 🛠️ *_Usage_*
### [_Detailed API Documentation_](http://13.61.173.110/api-guide)
### 🔄 *Process Flow*
1. Use a smartphone app to capture `.gpx` tracks that trace the extent of the collective land
2. Upload the `.gpx` data for processing via this endpoint `/api/v2/geofiles/geofile/upload/`
3. Upload list of plot owners (farmers) & acreage allocation per. owner to `/api/v2/geo-clusters/geo-cluster/details/`
4. Query this endpoint `/api/v1/parcelized-agcs/?` for a preview map of the subdivided plots.
### 📊 *Automated Land Division Examples*


## 📝 *_NGINX Configuration_*
### *_Config File_*
Add the following block to your NGINX configuration file (`/etc/nginx/sites-available/land_subdivision_api`):```bash
server {
listen 80;
server_name 13.61.173.110;
root /var/www/land_subdivision_api;
index index.html;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
location / {
proxy_pass http://localhost:9443;
proxy_http_version 1.1;
}
location /api/ {
proxy_pass http://localhost:9443/api/;
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 404 /404.html;
location = /404.html {
root /var/www/land_subdivision_api;
}
}
```
### 🌠 *_Enable the Site_*
Create a symbolic link in the `sites-enabled` directory:
```bash
sudo ln -s /etc/nginx/sites-available/land_subdivision_api /etc/nginx/sites-enabled/
```
### 🌠 *_Test the Configuration_*
Before applying changes, verify the syntax and configuration:
```bash
sudo nginx -t
```
Ensure the output confirms a successful test.
### 🌠 *_Restart NGINX_*
If the configuration test passes, restart NGINX to apply the changes:
```bash
sudo systemctl restart nginx
```
### 🌠 *_Verify System Functionality_*
- Access the application in your browser via `http://13.61.173.110` to confirm it loads correctly.
- Check the API endpoints (e.g., `http://13.61.173.110/api/`) to ensure proper proxying.