A web app designed to conduct both offline and online clustering experiments using a dataset of archaeological sites in Vienna.
Offline:
- FUNDE_N (PCA, UMAP)
- BEZ_N, DATIERUNG_N
- BEZ_N, FUNDE_N
- BEZ_N, FUNDKATEGORIE_N
- BEZ_N, FUNDE_N, DATIERUNG_N
- BEZ_N, FUNDE_N, DATIERUNG_N, FUNDKATEGORIE_N
Online:
- k-Means
- DBSCAN
- AGNES
Clustering is based on a combination of the columns: BEZ, FUNDE, DATIERUNG and FUNDKATEGORIE.
Work:
- In the sidebar, click Start to work on a specific dataset that has already been clustered. After making changes, you can use Export to save the results as a CSV file. This allows you to import the file later and resume your work.
- On the map, specific cluster groups can be hidden or displayed by clicking on the eye icon.
- In the table view, the CSV Edit menu can be toggled by clicking on the pencil icon. The edit mode enables you to add new rows or delete existing ones.
- Node.js: 18.17.0
- Angular CLI: 16.1.8
- Package Manager: npm 9.8.1
- OS: win32 x64
After processing the data with Python, all CSV files were cleaned using CSVCleaner. Here are the key points from the cleaning process:
- Damaged Rows: Some rows were corrupted when displayed in the graph.
- Row Removal: The cleaner removed one trailing row.
- SHAPE Column Type: The SHAPE column is suspected to be of the datetime type instead of a string, type must be changed.
- Header Cleanup: Commas in the CSV headers were removed, because the website uses them as delimiters.
General:
- npm install --save @fortawesome/react-fontawesome @fortawesome/free-solid-svg-icons
- npm install @fortawesome/fontawesome-svg-core
- npm install @fortawesome/free-solid-svg-icons
- npm install @fortawesome/angular-fontawesome
- npm install angular-gridster2
- npm install topojson-client --save
- npm install @types/topojson-client --save-dev
Graphs:
- ng add igniteui-angular
- npm install --save igniteui-angular-core
- npm install --save igniteui-angular-charts
- npm install --save igniteui-angular-maps
- npm install highcharts --save
- npm install highcharts-angular --save
Clustering:
- npm i kmeans-ts // K-Means-TS GitHub Repository
- npm install density-clustering
- npm i --save-dev @types/density-clustering
- npm install ml-hclust
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The application will automatically reload if you change any of the source files.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI Overview and Command Reference page.