Skip to content

Instantly share code, notes, and snippets.

View dmcglone's full-sized avatar

Daniel McGlone dmcglone

  • Azavea
  • Philadelphia
View GitHub Profile
@dmcglone
dmcglone / dogooddata2015.md
Last active February 29, 2024 10:56
Breaking the Cycle: When Spatial Analysis and Transit Data Collide

Do Good Data
Breaking the Cycle: When Spatial Analysis and Transit Data Collide
May 1, 2015 1:30 - 3:00pm

###Introduction Daniel McGlone, Senior GIS Analyst, Azavea
Tyler Dahlberg, Geospatial Solutions Specialist, Azavea

###Presentation
Bike Theft Analysis

@dmcglone
dmcglone / .block
Created March 2, 2017 20:47
2. Transforming data
license: gpl-3.0
height: 240
border: no
@dmcglone
dmcglone / .block
Created March 2, 2017 20:56
2. Transforming data
license: gpl-3.0
height: 240
border: no
@dmcglone
dmcglone / .block
Created March 2, 2017 20:58
3. Drawing shapes
license: gpl-3.0
height: 240
border: no
@dmcglone
dmcglone / .block
Last active October 31, 2018 18:14
redistricting-morpher-nc-senate
license: mit
border: no
height: 60
@dmcglone
dmcglone / index.html
Last active October 31, 2018 16:42
redistricting-morpher-us-pa-house
<!DOCTYPE html>
<meta charset="utf-8">
<style>
path {
stroke-width: 1px;
stroke: #444;
}
text {
@dmcglone
dmcglone / README.md
Created October 14, 2019 19:24 — forked from veltman/README.md
Redistricting

Old vs. new proposed North Carolina congressional districts, data via WRAL.

Polygons were pre-processed for gentler animation as follows:

  1. For each district, find the difference n in the number of vertices between the old and new district.
  2. Add n vertices to whichever one has fewer, evenly spaced along the existing polyline, so the old and new shape each have the same number of vertices (not great for performance).
  3. For each pair of old/new district, wind the old district around to minimize the sum of the squared distances between point index i in the old district and point index i in the new district.
This file has been truncated, but you can view the full file.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<style>body{background-color:white;}</style>
<script>(function() {
// If window.HTMLWidgets is already defined, then use it; otherwise create a
// new object. This allows preceding code to set options that affect the
// initialization process (though none currently exist).