Stephen C. Sanders

|-- GIS & DATA ANALYSIS --|

BUFFALO, NEW YORK

About Me

Portrait picture of Stephen C. Sanders

I'm Stephen C. Sanders, and I am currently a market research analyst working with demographics and market-level financial data. I am also an M.A. in Geography student at the University at Buffalo.

I have 2 years of experience using geographic information systems, specifically ArcGIS Pro and QGIS. I have programmed in Python extensively in my work, and can use the ArcPy, Pandas, GeoPandas, and Plotly libraries. I also have experience with R, and am familiar with the tidyverse, tidycensus, terra, sf, ggplot2, and leaflet packages. In the past, I worked as a web developer for four years, mainly using WordPress, HTML5/CSS3 (SCSS, Bootstrap), and Git. I also acted as a website administrator for multiple client websites.

The main activity in which I partake outside of GIS is genealogical research. I have been researching my family tree for around five years. I enjoy research involving New York State, veterans of the American Civil War, Gottschee, and Germany.

I am also an amateur philosopher (I have to put my philosophy degree to use somehow). I've written some stuff related to culture, society, and philosophical topics such as epistemology.

GIS Projects

MCC & City of Traverse City Centerline QA/QC Project

Spring 2023

A systematic review of the city's centerline (road) GIS layer in relation to other datasets (e.g., Right of Way, parcels, County road data, aerial imagery) to flag issues or areas that need additional clarification. The main issues that needed to be marked are those concerning spatial accuracy, topology, dangles/gaps, missing data, and attribution. Any issue or anomaly was marked up using the provided mark-up layers with an issue type and comment, or they are identified in other output layers that would necessitate looking at certain attribution values to determine which features have certain issues (e.g., dangles/gaps, address continuity issues, railroad intersection points). The final deliverables will help the city assess the QA/QC after it has been delivered and make appropriate data changes to the Centerline layer.


Included is a Python script called Intersect_By_Attribute_Merge.py. The script allows the user to intersect an input layer based on a specified field and attribution values with a polygon layer. An example usage is to figure out which City Local or Private roads intersect with the parcel data as a means of pinpointing issues pertaining to "Maintained By" attribution issues in the Centerline master layer. This is a fairly limited script that requires specifying the field (e.g., MAINTAS) and target attribution values of the field (e.g., City Local, Private) from the input layer (e.g., the Centerline layer) that are to be intersected in relation to a polygon layer (e.g., Parcels). If more than 1 attribution value is targeted, then the script will merge the resulting intersect layers into a single merge layer. You can then change the symbology of the merge layer to a graduated color scheme to visualize the features based on the targeted field values. This script may be converted into an ArcGIS Pro toolbox at some point in the future.


This was my capstone experience/internship through Monroe Community College in collaboration with the City of Traverse City, Michigan.

Analyzing Distressed Population and Land Cover Changes in New York Appalachia (2010-2019)

Fall 2024

A study on the distressed population and land cover changes between 2010 and 2019 in New York's Southern Tier. Used demographics data mainly from the American Community Survey and primary land cover data from the U.S. Geological Survey's LCMAP Project. Code written in R (using the tidyverse, tidycensus, terra, sf, leaflet, mapview, and heatmaply packages), rendered to HTML through Quarto, and hosted as a website on GitHub Pages. Final project for GEO 511 - Spatial Data Science during the Fall 2024 semester at the University at Buffalo.

Tweet Keyword Mapper

April 2023 - Present

Search Twitter for Tweets containing a keyword, then write results to a CSV/XLSX file and/or map the results using ArcGIS Pro or GeoPandas. Tweet data can be imported from a CSV file/XLSX, with support for pulling data for multiple keywords in the same session. You can append your count results to shapefiles (ArcGIS Pro & GeoPandas) and feature classes within geodatabases (ArcGIS Pro). Written entirely in Python (Pandas/GeoPandas, ArcPy, Matplotlib).

Food Deserts & Oases - Mapping Food Insecurity in Buffalo, New York

Fall 2022

Explores food insecurity in the City of Buffalo based on each census tract's poverty level and walking distance proximity to a grocery or corner store. Includes a chloropleth map that showcases the relationship between the above variables. Used a color scheme generated by Paletton.com. Data obtained, analyzed, and displayed using QGIS, Google Sheets, Google Earth Pro, and Google Maps.

Determining Vegetation Changes on the Land Surrounding the Western Aral Sea

Fall 2022

Investigates any vegetation changes between 1989 and 2019 around the Western Aral Sea that have occurred due to the shrinkage of the Aral Sea, and how past and present restoration projects may have influenced these changes since they began. Also displays the extent of the shrinkage that the Aral Sea has undergone. Uses Landsat data from GLOVIS. Data analyzed in ArcGIS Pro.

The Digital Divide - Identifying Suitable Sites for New Public WiFi Locations in Rochester, NY

Spring 2022

Determines potential sites for new public WiFi locations in the City of Rochester based on which census tracts are most in need. Considers percentage of households without internet access, proximity to a preexisting free WiFi location, and population density of school-aged people. Data analyzed in ArcGIS Pro.

Can Publicly Accessible Areas Alleviate Increasing Homicide Rates?

Intersession 2022

Investigates if there is a correlation between homicide rate, median household income level, and the number of parks, playgrounds, and other publicly accessible areas within census tracts of the City of Rochester. Data analyzed using ArcGIS Pro and Google Sheets.

Other Projects

Indigenous reindeer herders are under threat, but they could hold the key to Norway's climate strategy

Spring 2024

An opinion editorial about the importance of indigenous Sámi reindeer herders in Norway's climate change mitigation strategy. Written for GEO 503 - Environmental Governance at the University at Buffalo.

screenshot of Willow Ridge Kennels website

Willow Ridge Kennels Site

Feb 2020 - Feb 2022

Willow Ridge Kennels of New York was a bernedoodle breeding and training business located in Rochester, New York. I designed and developed a WordPress website for them using the Baesick WordPress theme, which uses HTML/SCSS and Bootstrap. The site was hosted by BlueHost, and used Google Analytics.

screenshot of Buffalo Firefighters website

Buffalo Firefighters Site

Jun 2017 - Sep 2017

The website for the Buffalo Firefighters (Local 282) was developed by me in mid-to-late-2017 in collaboration with e3communications, and was still used by them as their main source of communication with matters that concern the general public until around 2023. The website was built using WordPress and was hosted by GoDaddy.

To see other websites and projects that I have worked on, you can look at the links under the relevant experiences on my LinkedIn profile.