--- 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 ```bash GET /health ``` ### Full Optimization Pipeline ```bash POST /api/optimize ``` Runs the complete 3-stage optimization: 1. Grid Optimization (NSGA-II) 2. Block Subdivision (OR-Tools) 3. Infrastructure Planning ### DXF Upload ```bash POST /api/upload-dxf ``` Upload DXF file and extract boundary polygon. ## Usage Visit the [interactive API documentation](/docs) for detailed endpoint specifications and to test the API directly. ### Quick Example ```python 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