Data processed using R

Image for post
Image for post

The Hack

In the aftermath of the attempted insurrection, Parler faced a flurry of events. Google and Apple dropped them from their respective app stores, and Amazon informed them that they would be shutting down their servers. Oh, and someone (@donk_enby) breached their website and extracted 56.7 TB of user data.

The Data

After the website breach, Kyle McDonald made the data available in an easily digestible CSV, alongside instructions on how to view the videos for each data point.

While this project is not interested in finding out who was at the riot, or in viewing any of the videos, you can check out other projects, such as @patr10tic’s map which visualize videos the day of the riot. …

using Java, Leaflet, and turf.js


If you want to skip reading, you can navigate straight to LoopMyRun. The purpose of this web app is to create a running (or walking) loop in any road network, given a preferred distance and location.

Image for post
Image for post
Looking for a 5k in Madison, WI

Though I wish I knew that Strava had already created this solution before I embarked on this project, creating this app did have worthwhile benefits anyhow:

  1. It was a great learning experience.
  2. My app is free while Strava’s routing is a premium feature.
  3. While Strava pulls potential routes from its “3 billion activities and 50 million users”, my app does not keep track of your location, or email, or…anything. …

with Python, Mapbox GL JS, and Flask

The City of Grand Rapids, with data available since 2004, has handled code compliance and building cases originating internally and from the public. At the time of this writing, the number of cases started is fast approaching 300,000 cases.

Interestingly enough, there is no means to view this data spatially. That is why I built a mapping interface. I aim to update this data at least once a week.

If you would like to learn about the implementation of this web app, please read on. If not, then you can find the Code Compliance map here. Please be patient as the data loads.

Note: this does not work on Android and probably does not work on iOS. Please use your computer. …

This article was originally written on Apr. 26th, 2018.

Image for post
Image for post

The goal of this project is to analyze the demographics of donors to a non-profit in West Michigan with Python. Demographic data was acquired from the U.S. Census Bureau’s American Fact Finder, donor data through my geocoding project, and the shapefiles were found through the Census’s TIGER shapefiles. I looked for the following data:

First, I imported the relevant modules and set the current working directory:

Next, the spreadsheets are turned into a pandas dataframe and the column headers are dropped. …

This article was originally written on March 2nd, 2018.

The goal of this project was to map out the donors of a nonprofit in West Michigan. The CSV of donors numbered over 10,000 records. While there are many geocoding options out there, I decided to turn to an organization that specializes in data gathering for residences: the U.S. Census Bureau.

First, I formatted the CSV for geocoding via Python’s pandas library:

The maximum amount the U.S. Census Bureau can geocode per file is 10,000. Since I was working with a CSV that slightly exceeded that, I needed to split the CSV in two. …

Article originally written on Apr. 12th, 2018.

The purpose of this project was to allow any citizen to view cemeteries online so that they can search for occupants in any of Grand Rapids’ six cemeteries. This project was based on four phases: implementing surveying maps, reconciling polygon data with cemetery records, automating much of the workflow in Python, and visualizing it all in ArcGIS Online.

Image for post
Image for post

Survey Map of Woodlawn West

The first phase of the project dealt largely with georeferencing the surveying maps, converting the image to editable features, and cleaning up said features. Though there are six cemeteries, there were eight different maps, each of which being georeferenced to their respective cemetery. After georeferencing, the survey maps were converted into editable features via the Raster to Polygon tool. From there, over 20,000 polygons from eight maps were cleaned up and labeled (e.g. …

Article originally written on Jan. 24th, 2018.

For millennia, the marshes in Mesopotamia — located by Iraq and Iran — boasted a rich culture of Marsh Arabs and a diverse ecosystem. Enter Saddam Hussein: after the building of dams and the targeting of marshes for political reasons, the ecosystem went under a drastic change. This project helps visualize the changes from 1988 to 2015 using Landsat 7 images and the remote sensing software ERDAS Imagine.

Images were acquired via USGS’s Global Visualization Viewer (GloVis). These images mostly derived from NASA’s Landsat 7 satellite, though for the earlier year of 1988, the Landsat 5 satellite was used. My partner in this project, Kristen Childs, and I aimed to analyze images from the area’s wet season (February to March) in order to minimize potential errors in analysis. …


Kray Freestone

Just a curious GIS Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store