{"id":17059751,"url":"https://github.com/salami162/gps-fun","last_synced_at":"2025-08-21T12:32:57.710Z","repository":{"id":73396337,"uuid":"89676970","full_name":"salami162/gps-fun","owner":"salami162","description":"GPS for Fun! How to Cluster Location Data to Find Popular Destinations","archived":false,"fork":false,"pushed_at":"2017-04-28T22:31:22.000Z","size":164,"stargazers_count":8,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T18:04:12.573Z","etag":null,"topics":["clustering-algorithm","gps-data","locations","machine-learning","mapbox-gl","python"],"latest_commit_sha":null,"homepage":null,"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/salami162.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,"zenodo":null}},"created_at":"2017-04-28T06:53:20.000Z","updated_at":"2023-07-19T17:18:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"7fba1768-107b-46d3-a948-51685c99d93e","html_url":"https://github.com/salami162/gps-fun","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salami162%2Fgps-fun","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salami162%2Fgps-fun/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salami162%2Fgps-fun/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salami162%2Fgps-fun/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/salami162","download_url":"https://codeload.github.com/salami162/gps-fun/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248610346,"owners_count":21132921,"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":["clustering-algorithm","gps-data","locations","machine-learning","mapbox-gl","python"],"created_at":"2024-10-14T10:35:19.924Z","updated_at":"2025-04-12T18:08:16.135Z","avatar_url":"https://github.com/salami162.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Women Who Code - CONNECT Conference Workshop\n\n## What does this repo have?\n1. Data - A list of (lat,lng) coordinates around San Francisco. Look under `gps-fun/data`.\n2. A Frontend Page - To visualize the raw data and clustered results on the map.\n3. Scripting entries - Run clustering algorithms to generate clusters and find the most representative center of a cluster. Centers can be visualized on the frontend page.\n\n## Setup\nThe following steps will help you setup a development environment.\n\n1. ### Install pip\n```\n$ sudo easy_install pip\n```\n\n2. ### Install virtualenv\n```\n$ sudo pip install virtualenv\n```\n\n3. ### Clone this repository\n```\n$ git clone git@github.com:salami162/gps-fun.git\n$ cd gps-fun\n```\n\n4. ### Activate virtual environment\n```\n$ virtualenv venv\n$ source venv/bin/activate\n```\n\n5. ### Install the required python packages\n```\n$ pip install -r requirements.txt\n```\n\n6. ### Find Help/Available options\n```\n$ python manage.py --help\n```\n\n7. ### Running the server\n```\npython manage.py runserver\n```\nThis will launch a server on localhost at port 5000. Hit up the index page at ```http://localhost:5000/```\nThe Start/Stop toggle button on the top right corner is meant to start polling for changes in the trained clusters. Before you hit it the first time, make sure you've run atleast one round of clustering, so as to generate a `./data/trained_output.csv`. To run one, see the next step.\n\n8. ### Running KMeans\n```\npython manage.py kmeans -c 4 -src './data/wwc_conf_dataset_tiny.csv' -dest './data/trained_output.csv'\n```\nGiven a csv file of locations, generates clusters and outputs the cluster centers into another csv file. The above command will output 4 clusters, with the lat/lng of the centers in `./data/trained_output.csv`\n\n\n## Recommended Reading\nHere's some reading you can do to help familiarize yourself with [Clustering](https://en.wikipedia.org/wiki/Cluster_analysis), [k-means clustering](https://en.wikipedia.org/wiki/K-means_clustering) and [Hierarchical clustering](https://en.wikipedia.org/wiki/Hierarchical_clustering).\n\n### Documentation\n[sklearn clustering](http://scikit-learn.org/stable/modules/clustering.html) links to docs for the python package that implements various clustering algorithms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalami162%2Fgps-fun","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsalami162%2Fgps-fun","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalami162%2Fgps-fun/lists"}