The Land Viability Checker is a comprehensive AI-powered agricultural assessment tool designed to evaluate land suitability for crop production. By integrating soil quality analysis, climate assessment, and machine learning-based yield predictions, it provides farmers and agribusinesses with data-driven insights for informed agricultural decisions.
- Soil Quality Assessment: Evaluates 15+ soil parameters including pH, nutrients, texture, and fertility
- Climate Suitability Analysis: Assesses temperature, rainfall, humidity, and sunshine patterns
- Crop-Specific Recommendations: Provides suitability scores for 6+ major crops (maize, rice, wheat, sorghum, cassava, yam)
- Machine Learning Predictions: Uses trained ML models to predict crop yields with high accuracy
- Economic Viability Analysis: Calculates revenue, profit margins, and cost-benefit ratios
- Risk Assessment: Identifies limiting factors and potential challenges
- Comparative Analysis: Ranks crops by viability and profitability
- Interactive Visualizations: Generates comprehensive charts and dashboards
- Command-Line Interface: Easy-to-use CLI for quick assessments
- Interactive Mode: Step-by-step guided assessment process
- Comprehensive Reports: Detailed PDF-style reports with recommendations
- Export Capabilities: Save results as JSON, images, and reports
- Python 3.13: Modern Python with latest features
- Scikit-learn: Machine learning algorithms and model training
- Pandas & NumPy: Data manipulation and numerical computing
- Matplotlib & Seaborn: Data visualization and reporting
- Random Forest Regressor: Ensemble learning for robust predictions
- Gradient Boosting: Advanced boosting algorithms
- Linear Regression: Fast and interpretable baseline models
- Support Vector Regression: Non-linear pattern recognition
- Historical Crop Yield Data: 70+ years of West African agricultural data
- Soil Parameter Databases: Comprehensive soil characteristic references
- Climate Data: Temperature, rainfall, and weather pattern analysis
- Economic Data: Current crop prices and production costs
- Python 3.13 or higher
- pip package manager
- Git (for cloning the repository)
-
Clone the repository:
git clone https://github.com/Bempong-Sylvester-Obese/land-viability-checker.git cd Land-Viability-Checker -
Create and activate virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Verify installation:
python main.py --demo
python main.py --demoThis runs a comprehensive demonstration showcasing all features with sample data.
python main.py --train-modelsTrains and optimizes crop yield prediction models using historical data.
python main.pyChoose option 2 for interactive mode where you can input your own land parameters.
python main.py --soil-analysis # Soil quality analysis only
python main.py --climate-analysis # Climate suitability only
python main.py --full-assessment # Complete land assessmentLAND VIABILITY ASSESSMENT REPORT
============================================================
PROPERTY INFORMATION:
Location: Kumasi, Ghana
Coordinates: 6.5000, -1.6000
Elevation: 150 meters
OVERALL VIABILITY ASSESSMENT:
Overall Score: 99.16/100
Viability Level: Excellent
CROP VIABILITY ANALYSIS:
MAIZE: Highly Viable (98.67/100)
RICE: Highly Viable (99.58/100)
WHEAT: Highly Viable (92.93/100)
SORGHUM: Highly Viable (95.33/100)
ECONOMIC ANALYSIS:
RICE: $592.44/hectare profit (33.0% margin)
MAIZE: $28.83/hectare profit (3.5% margin)
soil_analysis_demo.png- Soil quality charts and metricsfull_assessment_dashboard.png- Comprehensive viability dashboardmodel_performance.png- ML model comparison and accuracy metricscrop_yield_analysis.png- Historical yield trends and patterns
from models import LandViabilityAssessor, LandParameters
# Create custom land parameters
land = LandParameters(
latitude=6.5,
longitude=-1.6,
elevation=150,
soil_ph=6.2,
organic_matter=2.5,
nitrogen=25.0,
# ... other parameters
)
# Perform assessment
assessor = LandViabilityAssessor()
assessment = assessor.assess_land_viability(land, ['maize', 'rice'])
# Generate report
report = assessor.create_comprehensive_report(land)
print(report)from models.crop_yield_models import train_crop_yield_models
# Train models with custom parameters
predictor = train_crop_yield_models('path/to/custom_data.csv')
# Evaluate model performance
summary = predictor.get_model_summary()
print(summary)Land-Viability-Checker/
โโโ models/ # Core ML models and analysis modules
โ โโโ crop_yield_models.py # Crop yield prediction models
โ โโโ soil_analysis.py # Soil quality assessment
โ โโโ climate_analysis.py # Climate suitability analysis
โ โโโ land_viability_assessor.py # Integrated assessment system
โ โโโ __init__.py # Package initialization
โโโ Data/ # Data files and outputs
โ โโโ crop_yield_data.csv # Historical crop yield data
โ โโโ *.png # Generated visualizations
โ โโโ *.json # Assessment results
โโโ main.py # Main application entry point
โโโ data_preprocessing.py # Data preprocessing pipeline
โโโ requirements.txt # Python dependencies
โโโ README.md # This file
The system currently supports analysis for these major crops:
- Maize - Staple cereal crop with high nutritional value
- Rice - Primary food crop in many regions
- Wheat - Important cereal for bread and pasta production
- Sorghum - Drought-resistant cereal crop
- Cassava - Root crop with high carbohydrate content
- Yam - Important tuber crop in West Africa
Our machine learning models achieve excellent performance:
- Linear Regression: Rยฒ = 1.000 (Perfect fit on training data)
- Ridge Regression: Rยฒ = 0.9998 (Excellent generalization)
- Gradient Boosting: Rยฒ = 0.9752 (Strong ensemble performance)
- Random Forest: Rยฒ = 0.9624 (Robust and interpretable)
- Web-based dashboard with interactive maps
- Real-time weather data integration
- User account management and history
- Mobile-responsive design
- Satellite imagery integration
- Mobile app for field assessments
- IoT sensor data integration
- Multi-language support
- API for third-party integrations
- Large-scale farm management tools
- Advanced analytics and reporting
- Integration with agricultural databases
We welcome contributions! Here's how you can help:
- Bug Reports: Report issues and unexpected behavior
- Feature Requests: Suggest new functionality
- Code Contributions: Submit pull requests for improvements
- Documentation: Help improve guides and examples
- Testing: Test on different systems and datasets
git clone https://github.com/Bempong-Sylvester-Obese/land-viability-checker.git
cd Land-Viability-Checker
pip install -r requirements.txt
python -m pytest tests/ # Run tests- Assessment Speed: < 2 seconds for complete land analysis
- Model Accuracy: 95%+ accuracy on crop yield predictions
- Data Processing: Handles 1000+ records in < 10 seconds
- Memory Usage: < 500MB for typical assessments
- Scalability: Supports batch processing of multiple locations
- Local Processing: All analysis performed locally, no data sent to external servers
- Open Source: Full source code available for review and audit
- No Tracking: No user data collection or tracking
- Secure: No API keys or sensitive credentials required for basic functionality
- Email: Sylvesterobese6665@gmail.com
- Phone: +233(0) 540456262
- GitHub: @Bempong-Sylvester-Obese
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Project Wiki
This project is licensed under the MIT License - see the LICENSE file for details.
- Data Sources: West African agricultural databases and research institutions
- Open Source Libraries: Scikit-learn, Pandas, NumPy, Matplotlib communities
- Research Community: Agricultural scientists and agronomists worldwide
- Contributors: All developers who have contributed to this project
๐ก "Empowering farmers with AI-driven insights for smarter agriculture." ๐ฑ
Built with โค๏ธ for sustainable agriculture and food security.