Coder Social home page Coder Social logo

atlantabeltlineinteractivemap's Introduction

This work was done as part of a class assignment for Georgia Tech's CS4464/6465 Fall 2016 (https://github.com/jacobeisenstein/gt-compj-class/). The opinions expressed here, if any, are solely those of the students working on this assignment and not of the Instructor or Georgia Tech

My project is hosted on my website.

Description of Efforts

I was finally able to get the NPU map of Atlanta all choroplethed. I wasted a lot of time trying to work with one of Atlanta GIS' NPU Shapefiles. Turns out that their formatting was wonky. Once I figured that out, development went pretty smoothly.

I used D3 for all of my mapping functionality. I gathered crime data from APD, sorted it by year, then counted the number of crimes per year per NPU. This left me with year over year change in crime numbers by NPU.

I then got an NPU map from Atlanta GIS and plotted it using D3. AFter that, I used the crime change numbers I calculated to run a gradient over each of the NPU shapes I plotted, essentially turning it into a choropleth.

I wanted to map the location of the Atlanta Beltline over this map to try and match up any possible crime trends with their proximity to Beltline projects. There were a few issues with this approach.

First of all, the crime data itself showed a large amount of variance with some NPUs seeing crime changes in the thousands. Moreover, any correlation that might be seen with the Beltline could probably also be attributed to other factors. Overall, it seems there's a downward trend in crime over time which makes it hard to figure out where the project fits in.

Another big snag was that Beltline GIS data is severely limited. There are very few, if any, files holding just the beltline coordinates. As I"m doing change over time, I wanted to show the progress of the beltline in tandem with the crime data it overlayed. However, the same issue of lack of data is exacerbated as you go further back. As such, I relented to just have the current beltline progress up (I had to manually do this).

Sources

The point of my visualization was to compare the crime rates in each NPU with the progress of the Beltline. My hypothesis was that Crime rates would drop in areas surrounding the Beltline and rates would either increase or remain the same in areas further out. The idea was to map the NPUs as a choropleth and then overlay the coordinates of the Beltline in each year for which I had crime data. You could then toggle through the different years to see the Beltlines progress as well as crime data for the surrounding areas.

Got the BAD NPU shapefile from Atlanta's GIS website

Got the GOOD one from here

Used ogre to convert the NPU shapefile to geoJson. I also downloaded the GLAD and TopoJson converters as suggested here

Got Atlanta's Crime Data for the past 5 years from APD's website

Used the Python Pandas library/framework to read through the CSV files, as well as filter out incorrectly logged data, perform the crime by NPU counts, and calculate the year over year crime change by NPU.

I used Inkscape and GIMP to create some of the overlays. JQuery to deal with button clicks and rerendering when a new year is selected.

Attempted to use both LeafletJS and D3JS to create the map front ends. I ended up getting stuck with both at different points. With LeafletJS, I was unable to get they're official tutorial working, so I dropped it. As stated earlier, I was unable to get D3 to show each individual NPU a different color, which makes the visualization pretty useless. Eventually figured it out, but definitely not a linear approach.

atlantabeltlineinteractivemap's People

Contributors

sirhamy avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.