{"id":24520418,"url":"https://github.com/Aswajith7077/TNTrendAnalyzer","last_synced_at":"2025-10-02T23:35:17.514Z","repository":{"id":273059810,"uuid":"918588094","full_name":"Aswajith7077/PopulationAnalysis","owner":"Aswajith7077","description":"A Streamlit-based web application designed to visualize and predict population growth in Tamil Nadu sub-districts using a continuous-time logistic model","archived":false,"fork":false,"pushed_at":"2025-01-18T10:39:10.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-18T11:30:54.301Z","etag":null,"topics":["logistic-model","population-based-training","python","scientific-computing","streamlit","time-series-analysis"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Aswajith7077.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-18T10:28:16.000Z","updated_at":"2025-01-18T10:39:31.000Z","dependencies_parsed_at":"2025-01-18T11:41:17.425Z","dependency_job_id":null,"html_url":"https://github.com/Aswajith7077/PopulationAnalysis","commit_stats":null,"previous_names":["aswajith7077/populationanalysis"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aswajith7077%2FPopulationAnalysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aswajith7077%2FPopulationAnalysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aswajith7077%2FPopulationAnalysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aswajith7077%2FPopulationAnalysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aswajith7077","download_url":"https://codeload.github.com/Aswajith7077/PopulationAnalysis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235049530,"owners_count":18927813,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["logistic-model","population-based-training","python","scientific-computing","streamlit","time-series-analysis"],"created_at":"2025-01-22T02:22:33.584Z","updated_at":"2025-10-02T23:35:12.412Z","avatar_url":"https://github.com/Aswajith7077.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Population Prediction Application\n\n## Overview\n\nA **Streamlit-based web application** designed to visualize and predict population growth in Tamil Nadu sub-districts using a **continuous-time logistic model**. The app provides a user-friendly interface for analyzing population growth and future infrastructure requirements based on dynamic inputs.\n\nThe app integrates map visualization using **Folium**, enabling users to interact with geospatial data and mark specific locations for further analysis.\n\n---\n\n## Features\n\n1. **Population Prediction:**\n   - Predicts future population using a continuous-time logistic growth model.\n   - Includes sinusoidal adjustments for seasonal variations.\n\n2. **Map Visualization:**\n   - Displays Tamil Nadu districts and sub-districts on an interactive map.\n   - Allows users to add markers for selected sub-districts.\n\n3. **Dynamic Input Options:**\n   - Select a district and sub-districts for analysis.\n   - Customize growth model parameters such as time period, amplitude, and sinusoidal components.\n\n4. **Infrastructure Requirements:**\n   - Analyzes predicted population to suggest future infrastructure needs, such as:\n     - Hospitality\n     - Education\n     - Public Safety\n     - Transportation\n     - Water Connection\n     - Infrastructures\n     - Commercial and Retail\n\n5. **User Interaction:**\n   - Provides actionable suggestions for infrastructure needs based on population predictions.\n   - Interactive buttons to visualize recommendations for specific facilities.\n\n6. **Data Display:**\n   - Show underlying data in tabular format for transparency.\n\n---\n\n## Installation\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/Aswajith7077/PopulationAnalysis.git\n   cd PopulationAnalysis\n   ```\n\n2. Install dependencies:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3. Run the application:\n   ```bash\n   streamlit run run.py\n   ```\n\n---\n\n## Usage\n\n1. **Data Requirements:**\n   - Ensure the following files are present:\n     - GeoJSON to CSV data: `geojson-to-csv.csv`\n     - Population data: `A-1_NO_OF_VILLAGES_TOWNS_HOUSEHOLDS_POPULATION_AND_AREA_1.xlsx`\n\n2. **Steps to Use the App:**\n   - Select a district from the dropdown.\n   - Choose sub-districts for analysis.\n   - Adjust growth model parameters (time, amplitude, sinusoidal period) as needed.\n   - View predictions and suggested infrastructure needs.\n\n3. **Map Features:**\n   - Markers for selected sub-districts.\n   - Use the **\"Submit\"** button to calculate predictions and display results.\n\n4. **Threshold Analysis:**\n   - Facilities are suggested based on population thresholds for sub-districts.\n\n---\n\n## File Descriptions\n\n1. **`algo.py`:**\n   - Contains the `project_continuous_time_logistic_model` function for population prediction.\n\n2. **`geojson-to-csv.csv`:**\n   - GeoJSON data converted to CSV format containing geospatial and demographic details.\n\n3. **`A-1_NO_OF_VILLAGES_TOWNS_HOUSEHOLDS_POPULATION_AND_AREA_1.xlsx`:**\n   - Excel file with population data for Tamil Nadu.\n\n---\n\n## Key Functions\n\n1. **Population Prediction:**\n   - Uses the logistic model with optional sinusoidal adjustments.\n\n2. **Interactive Map:**\n   - Displays sub-districts and allows marker placement.\n\n3. **Threshold Analysis:**\n   - Maps population values to predefined facility needs.\n\n4. **Infrastructure Voting:**\n   - Users can interact with infrastructure recommendations via dialog boxes.\n\n---\n\n## Dependencies\n\n- **Streamlit**: For creating the web interface.\n- **Folium**: For map visualization.\n- **Pandas**: For data manipulation.\n- **Shapely**: For handling geospatial data.\n- **NumPy**: For numerical calculations.\n- **Math**: For mathematical computations.\n\n---\n\n## Future Improvements\n\n- Add support for uploading custom datasets.\n- Improve map interactivity with detailed overlays.\n- Include more advanced prediction models.\n- Optimize the interface for better user experience.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAswajith7077%2FTNTrendAnalyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAswajith7077%2FTNTrendAnalyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAswajith7077%2FTNTrendAnalyzer/lists"}