Skip to content

Instantly share code, notes, and snippets.

@kurtraschke
kurtraschke / area.py
Created December 17, 2012 23:18
Find bounding box and convex hull of agency coverage (as WKT) for a OneBusAway TDS.
from mustaine.client import HessianProxy
from shapely.geometry import box
from shapely.ops import cascaded_union
service = HessianProxy("http://172.16.2.32:8080/onebusaway-transit-data-federation-webapp/remoting/transit-data-service")
agencies = service.getAgenciesWithCoverage()
boxes = []
{
"Routes": [
{
"Name": "10:00:00 AM - 10A HUNT TOWERS-PENT ",
"RouteID": "10A"
},
{
"Name": "10:00:00 AM - 10A HUNT TOWERS-PENT ",
"RouteID": "10Av1"
},
@kurtraschke
kurtraschke / gist:1390328
Created November 24, 2011 00:18
WMATA bus API says there are no buses...
Kurt-Raschke:~ kurt$ curl http://api.wmata.com/Bus.svc/json/JBusPositions?api_key=redacted
{"BusPositions":[]}
@kurtraschke
kurtraschke / test.html
Created September 15, 2011 21:58
Demonstration of polling disconnect in socket.io
<html>
<head>
<script src="/socket.io/socket.io.js"></script>
<script>
var connectTime;
var socket = io.connect('/', {transports: ['websocket', 'htmlfile', 'xhr-multipart', 'xhr-polling', 'jsonp-polling']});
socket.on('connect', function(){
console.log('connected');
connectTime = new Date().getTime();
@kurtraschke
kurtraschke / subviewer1.py
Created September 6, 2011 17:52
Two approaches to visualizing MTA NYCT A Divsion ATS data in Google Earth
from csv import DictReader
from collections import defaultdict
import xml.etree.ElementTree as etree
from datetime import datetime
import pytz
from gtfs import Schedule
from gtfs.entity import Stop
@kurtraschke
kurtraschke / subviewer.pde
Created September 6, 2011 16:56
Render archived MTA NYCT A Division ATS data
import processing.video.*;
MovieMaker mm;
OSMMercator om;
PFont theFont;
void setup() {
size(1280, 720);
smooth();
@kurtraschke
kurtraschke / README.markdown
Created August 13, 2011 02:21
XSLT stylesheet to translate WMATA Metrobus positions to KML

Get an API key from developer.wmata.com, and put it in buspos.sh.

If you don't happen to have a web server running, but you do have Python, do the following:

  1. chmod +x buspos.sh
  2. chmod a+r bus.xslt
  3. mkdir cgi-bin
  4. mv buspos.sh bus.xslt cgi-bin
  5. python -m CGIHTTPServer 8001
@kurtraschke
kurtraschke / updatetweets.js
Created July 26, 2011 21:55
Google Apps Script to set cell comment to latest Tweet
function setComments() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var twitterDataRange = ss.getRangeByName("Twitter3");
vals = twitterDataRange.getValues();
for (i in vals) {
var row = vals[i];
for (j in row) {
var col = vals[i][j];
if (col.length > 0) {
@kurtraschke
kurtraschke / twitterlinks.js
Created July 26, 2011 21:45
Google Apps Script to turn Twitter usernames into links
@kurtraschke
kurtraschke / shortdoi.applescript
Created June 3, 2011 03:22
Set BibDesk URLs to ShortDOI shortcuts
(*
Set BibDesk URLs to shortDOI shortcuts
Kurt Raschke
kurt@kurtraschke.com
Licensed under the BSD license
*)
on run
tell application "BibDesk"
tell document 1