This is a Streamlit-based web application for performing geospatial clustering using Fuzzy C-Means (FCM) optimized with Particle Swarm Optimization (PSO). In addition to spatial clustering, the app includes a basic blog dashboard to post, view, and manage news or articles related to your data insights.
- Reads
.shpshapefile and Excel datasets containing geographic and indicator data. - Visualizes clustering results with interactive Plotly Choropleth Mapbox.
- Implements Fuzzy C-Means (FCM) clustering, enhanced with PSO optimization.
- Evaluation metrics: Davies-Bouldin Score and Silhouette Score.
- Create, view, and delete posts in a simple blog system.
- Uses SQLite as the backend database.
- Blog cards styled with HTML templates for a clean layout.
.
├── app.py # Main Streamlit app
├── pso_clustering.py # FCM-PSO clustering logic
├── particle.py # PSO particle behavior
├── db_functions.py # Blog-related SQLite functions
├── data.db # SQLite database
├── dataset/ # Folder for uploaded Excel files
├── gadm36_IDN_2.shp # Shapefile for Indonesia's regions
├── requirements.txt # Python dependencies
└── README.md # Project documentation
git clone https://github.com/your-username/Streamlit_App_GIS_Clustering_FCM_PSO.git
cd Streamlit_App_GIS_Clustering_FCM_PSOpython -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activatepip install -r requirements.txtstreamlit run app.py- Python 3.8+
- Internet connection (for loading Mapbox tiles)
- Shapefile and structured Excel dataset
Built with ❤️ by Alexander Tiopan
📧 Email: alexandertiopan1212@gmail.com
💼 LinkedIn: linkedin.com/in/alexander-tiopan-85215117b
This project is licensed under the MIT License.






