Looking to move to a new city can be a hassle. You want to be informed as possible, but doing so may require you to jump back and forth between websites to obtain information such as cost of living, crime rate, temperature, and more.
What it does
City Search x GIS solves this problem by providing users with a dashboard of statistics about each city when they click on its location on the map. Users can access temperature, price of rent, cost of living rating, Movehub rating, purchase power, health care, pollution, crime rate, and quality of life rating data in order to decide where to move all on an easy to use, interactive dashboard.
How we built it
Our team spent much time understanding the data given to us and ensuring we had all the data possible for each city. To accomplish this, we began to search for kaggle and other sites for more data. Before deciding to include the data, we went through each file. We checked the source to ensure we were interpreting the data correctly, with the proper unit and understanding of which value is better: higher or lower. We then merged pandas data frames to compile a list of cities that were constant among all of our data. From here, we wanted to make sure we understandably gave users accurate metrics, so we used pandas data frames, sum functions, grouping functions, and more to process our data. We separated some data, like the cost of living and quality of life, into quantiles and labeled each quantile for the user to make the category values more intuitive for the user with the addition of other data, like the temperature data, required averaging over daily averages. We also collected state data to see if there were any interesting relationships between cities in the same state. However, we ultimately decided the state data was too broad to apply well to the city level. For instance, the political data we processed for Texas would misrepresent Austin as a Republican city. Keeping with the city data, we merged all categories into one data frame and uploaded our final processed data frame to ArcGIS, and used Esri's web tools to create a user-friendly dashboard that will display spatial relations as well as the data we processed for each city.
Challenges we ran into
The major challenge we ran into was deciding what data to include. For the city data, we wanted to make sure all categories had valuable information for each city. However, this meant we shrank our data down to only 30 cities. If we had more time, we would have developed algorithms and found other datasets to supplement the missing information for some cities across datasets in order to provide the user of City Search x GIS with more city options to explore. Another challenge in deciding what data to include was deciding what to do with state data. We wanted to see if state data could accurately represent the cities within the state and explore relationships between city and state data. However, we did not fully realize the blanketing affect state data could have on cities. Therefore, we decided to exclude the state data from this submission, a difficult choice but one we felt would allow users to more accurately choose the city that they would want to move to.
Accomplishments that we're proud of
We are proud we completed the project, giving the users a dashboard full of interpretable data. One of the features we are most proud of is the ability to click and drag over a section of the map on the dashboard and have the city inside that section's information display. We are also proud of our use of skills not commonly found in computer science courses such as our utilization of ArcGIS and Esri's web tool to create a dashboard. We stand behind the data we are giving to our users and know that our processing and thorough understanding of this data made the end result better. Ultimately, we are proud of how we worked as a team, leveraging and learning skills while using pandas and GIS tools to create the user dashboard we have submitted.
What we learned
The biggest learning experience for us was the realization that finding data is difficult. It is messy and requires lots of cleaning and will often not be provided in the format someone is looking for. We learned how to go through data and what it means to "clean" data. Our team also increased our knowledge of pandas and how to manipulate data frames using groupby, merge, and mean. We also expanded our knowledge of ArcGIS as we learned how to add coordinates to a map and explored how to add web tools like graphs to an interactive dashboard.
What's next for City Search x GIS
Next, City Search x GIS will expand its dataset to include more cities, inferring values for incomplete data using algorithms and supplemental datasets. We will even expand to including the state data we processed by creating a new GIS layer for the state map. The increased city and state data would appear on the dashboard depending on how zoomed into the map the user is. A more zoomed in dashboard will display city data while zooming out will provide state data.