metadata
title: Land Redistribution Algorithm API
emoji: 🏘️
colorFrom: blue
colorTo: green
sdk: docker
app_port: 7860
pinned: false
Land Redistribution Algorithm API
API for industrial park land subdivision and redistribution using advanced optimization algorithms.
Features
- Multi-stage Optimization: NSGA-II genetic algorithm + OR-Tools constraint programming
- DXF Import: Upload site boundaries from CAD files
- Automated Layout: Grid optimization, block subdivision, and infrastructure planning
- Export Results: Download results as GeoJSON
API Endpoints
Health Check
GET /health
Full Optimization Pipeline
POST /api/optimize
Runs the complete 3-stage optimization:
- Grid Optimization (NSGA-II)
- Block Subdivision (OR-Tools)
- Infrastructure Planning
DXF Upload
POST /api/upload-dxf
Upload DXF file and extract boundary polygon.
Usage
Visit the interactive API documentation for detailed endpoint specifications and to test the API directly.
Quick Example
import requests
url = "https://your-space-name.hf.space/api/optimize"
payload = {
"config": {
"spacing_min": 20.0,
"spacing_max": 30.0,
"population_size": 50,
"generations": 100
},
"land_plots": [{
"type": "Polygon",
"coordinates": [[[0, 0], [100, 0], [100, 100], [0, 100], [0, 0]]]
}]
}
response = requests.post(url, json=payload)
result = response.json()
Frontend
For a complete user interface, use the Streamlit frontend: [Link to your Streamlit app]
Technology Stack
- FastAPI: High-performance Python web framework
- DEAP: Genetic algorithms (NSGA-II)
- OR-Tools: Constraint programming solver
- Shapely: Geometric operations
- ezdxf: DXF file parsing
License
MIT