Skip to content

Instantly share code, notes, and snippets.

View AndrewTheTM's full-sized avatar
🏃‍♂️

Andrew Rohne AndrewTheTM

🏃‍♂️
View GitHub Profile
# NOTE: There's a post that will be on siliconcreek.net about this someday soon.
import os
map_list = [
{'fieldname': 'final_accessibility_auPkRetail', 'Legend Name': 'Peak Auto Accessibility to Retail', 'qryZero': False, 'tablename': 'final_accessibility', 'precision': 4},
{'fieldname': 'final_accessibility_auPkTotal', 'Legend Name': 'Peak Auto Accessibility to Total Emp.', 'qryZero': False, 'tablename': 'final_accessibility', 'precision': 4},
{'fieldname': 'final_accessibility_auOpRetail', 'Legend Name': 'Off-Peak Auto Accessibility to Retail', 'qryZero': False, 'tablename': 'final_accessibility', 'precision': 4},
{'fieldname': 'final_accessibility_auOpTotal', 'Legend Name': 'Off-Peak Auto Accessibility to Total Emp.', 'qryZero': False, 'tablename': 'final_accessibility', 'precision': 4},
{'fieldname': 'final_accessibility_trPkRetail', 'Legend Name': 'Peak Transit Accessibility to Retail', 'qryZero': False, 'tablename': 'final_accessibility', 'precision': 4},
@AndrewTheTM
AndrewTheTM / get_centroid.py
Created January 27, 2022 16:19
I'm putting this here for posterity. This is how pretty accurate centroids can be determined from a set of points. This was originally written using the shapefile library, and I no longer need it in my code because I'm switching everything to the geopandas package (because of another step that needs geoprocessing that the shapefile library doesn…
def getCentroidFromPoints(self, s):
points = s.points
p_x = 0
p_y = 0
pp = np.array(s.points)
pp = np.append(pp, [pp[0]], axis = 0)
area = self.shoelace(pp)
for p in range(0, len(pp) - 1):
p_x += (pp[p, 0] + pp[p + 1, 0])*(pp[p, 0] * pp[p + 1, 1] - pp[p + 1, 0] * pp[p, 1])
p_y += (pp[p, 1] + pp[p + 1, 1])*(pp[p, 0] * pp[p + 1, 1] - pp[p + 1, 0] * pp[p, 1])
# -*- coding: utf-8 -*-
"""
Created on Sun Aug 2 13:05:58 2020
@author: andrew.rohne
"""
import socket
def setLights(setting):
# NeoPixel library strandtest example
# Author: Tony DiCola (tony@tonydicola.com)
#
# Direct port of the Arduino NeoPixel library strandtest example. Showcases
# various animations on a strip of NeoPixels.
import time
from neopixel import *
let tweet = function(){
Twitter.post('statuses/update', {
status: 'Random Number: ' + Math.random()
}, function(err, data, response){
if(err !== undefined){
console.log('err: ' + err);
}
});
}
library(xkcd)
library(ggplot2)
# Load the font from https://github.com/shreyankg/xkcd-desktop/blob/master/Humor-Sans.ttf
windowsFonts(HS=windowsFont("Humor Sans"))
airplaneSeats1 = data.frame(Width = pnorm(seq(0,1,0.025), mean = 0.5, sd = 0.1) * 10)
airplaneSeats1$label = "Avg American Width"
airplaneSeats1$time = as.integer(row.names(airplaneSeats1)) + 1975
library(openxlsx)
library(ggplot2)
library(reshape2)
library(plyr)
# Fix the path!
cd = read.xlsx("countdata.xlsx", "Sheet1")
# Summarize counts to get average weekdays
cntByDay.1 = ddply(cd, .(DayOfWeek, CntTimeTxt), summarize, NB = mean(NB), SB = mean(SB))
@AndrewTheTM
AndrewTheTM / HBWDCPrep.R
Created December 15, 2015 12:53
HBW Destination choice prep file. Do not use, it takes forever.
#
# HBWDCPrep.R
#
# Prepares Destination choice files for HBW DC
library(foreign)
source("http://raw.githubusercontent.com/osPlanning/omx/dev/api/r/omx.R")
A1201 = read.dbf("C:\\Modelrun\\Model80\\Base\\A1201.DBF")
@AndrewTheTM
AndrewTheTM / CountyFlow.r
Last active October 8, 2015 13:06
R+OMX County Flow
modelPath = "C:\\Modelrun\\Model80\\Base\\"
source("http://raw.githubusercontent.com/osPlanning/omx/dev/api/r/omx.R")
ZtoC = A1201[,c("TAZ","COUNTY")] # This is the TAZ-County equivalence table
hbwpk = readMatrixOMX(paste(modelPath,"HBWPK.OMX",sep=""),"M1")
cnames = rbind('HAMILTO', 'CLERMON', 'BUTLER', 'WARREN', 'BOONE', 'CAMPBEL', 'KENTON', 'DEARBOR') #could probably also do rbind(unique(ZtoC$COUNTY))
@AndrewTheTM
AndrewTheTM / ReadExcel.R
Created September 16, 2015 13:03
Code to read an Excel file in R
library(openxlsx)
dat<-read.xlsx("file path","Sheetname")
# Optionally, add startRow = 13, possibly colNames=F