2011.12.22 Weekly Check in - mattwigway/OpenTripPlanner GitHub Wiki
13:31 <demory> Hello everyone. Shall we do a quick check in?
13:31 <andrewbyrd> Hi.
13:32 <FrankP_> hey
13:33 <andrewbyrd> I guess I'll start.
13:33 <demory> sure
13:33 <andrewbyrd> I finished up (on a branch) reworking the vertex/edge hierarchy
13:34 <andrewbyrd> mostly to have a clear hierarchy of which vertices belong to which graph layer and where they are connected
13:34 <andrewbyrd> to be able to say instanceof (TransitVertex) for example
13:34 <novalis_dt> I've been working a bit on the OSM processing code for TriMet. I had a naive implementation working, but it takes hours for what should be the work of about a minute, so I'm rewriting.
13:35 <andrewbyrd> the original intent was to help speed up our heuristic searches, but it got me thinking about some encapsulation and type issues so I made a bunch of other changes
13:35 <andrewbyrd> once i get it all written up I'll post to the list for discussion
13:35 <novalis_dt> andrewbyrd, awesome.
13:35 <andrewbyrd> other than that I have been working on analytics
13:36 <novalis_dt> Anything new on analytics?
13:36 <andrewbyrd> geotools triangulated network coverage factory told me "unimplemented"
13:36 <andrewbyrd> so since we don't really want to interpolate values the way a TIN does anyway
13:37 <andrewbyrd> I decided to make a raster using distance to nearest vertex within each pixel
13:37 <FrankP_> novalis_dt, awsome :-)
13:37 <andrewbyrd> a geotools GridCoverage backed by an ImageFunction that fetches the traveltimes straight out of the SPT result from OTP, via a spatial index implemented as a 2D locality-preserving hashtable
13:37 <novalis_dt> FrankP, it's a straightforward task that SQL is just not suited for :)
13:38 <FrankP_> (about the OSM processor)
13:38 <andrewbyrd> once I get the pixel/vertex association cached it should be nice and fast
13:39 <FrankP_> yeah, I had a bit of annoying SQL headaches this week...funky language that I like/hate...
13:39 <andrewbyrd> the raster has holes in it where there are not vertices (long roads) which (besides being ugly)
13:40 <andrewbyrd> could lead to inaccuracies for places outside the dense city
13:40 <novalis_dt> andrewbyrd, you could do it by geometry, right?
13:40 <andrewbyrd> so I will throw the edges into the index too and use distance to closest edge's endpoint
13:41 <FrankP_> andrew, is geotools calculating anything for you (from the raster too), or is it just rendering?
13:42 <andrewbyrd> I am thinking of writing straight to image pixels and bypassing geotools - have you guys used images as overlay layers in openlayers?
13:42 <FrankP_> everything is coming from geotools/geoserver via WMS
13:43 <andrewbyrd> Basically the only thing geotools is doing is figuring out where the sample points fall on the earth, asking for the travel time to those points, and exporting the result as a geotiff.
13:43 <FrankP_> it is a single image, but OL and GT are doing the alighnment
13:44 <FrankP_> understood ... thanks
13:44 <FrankP_> My update:
13:44 <FrankP_> Not much here...working on unrelated OTP stuff. But for the other project, I need a geocoder that can work with a screen-reader. I'm thinking to write this in python (that generates html). I'm thinking down the line to use the same python webapp for a text version of the OTP webapp (probably hosted in a separate github project ... with more sytem map functionality). Thoughts one way or another?
13:46 <FrankP_> p.s., the other project is a simple app that tells customers whether their origin & destination are either in / out of an ADA boundary (6 boundaries, actually ... Weekday/Sat/Sun Day/Evening)
13:46 <novalis_dt> Well, I always like Python.
13:47 <novalis_dt> Will this need to interact in any way with the OTP code other than making calls to API-webapp?
13:48 <FrankP_> I see it just making calls to the API webapp, Dave.
13:49 <FrankP_> And being something that would have route information, it could also provide the exclude route X interface (eventually)
13:51 <demory> My update -- Still focused primarily on the OTP automated setup work -- I believe all of the pieces have been written, now it's just a matter of stitching everything together, which Kevin and I will be doing next week in NYC. Will be checking in some new work to the OTPsetup repo before I leave town tomorrow.
13:52 <novalis_dt> Cool.
13:54 <FrankP_> David, what is the motivation for the OTP automated setup? Was a customer of yours asking for such a thing? (I know you and Kevin had mentioned hearing the 'we need an admin interface')...
13:54 <novalis_dt> FrankP, We hope that it will help us get customers
13:54 <novalis_dt> The setup tool will be way more complicated to set up than OTP itself )
13:55 <novalis_dt> So we'll run one
13:55 <novalis_dt> And then people will be able to submit GTFS over the web
13:55 <novalis_dt> And we'll be able to build a graph, report errors, etc, and say, " this is what your webapp looks like"
13:55 <demory> it definitely came up at the July workshop -- several people there thought it would be useful
13:56 <FrankP_> Right...sounds good. So you'll be hosting the app, ala SaaS.
13:56 <novalis_dt> Yeah
13:56 <demory> right now i think the setup process is one of the barriers to OTP deployment, esp. for non-technical agency types
13:56 <demory> so this could help get around that
13:56 <FrankP_> Agreed.
13:56 <andrewbyrd> yeah I get the impression that there are people trying to evaluate OTP but getting stuck on setup or small customization details
13:56 <andrewbyrd> the automated system should avoid IOC XML being their first experience of OTP
13:57 <FrankP_> I would like to avoid that too :-)
13:58 <FrankP_> To avoid XML, I guess we could switch to annotations (joking)
13:58 <demory> FrankP_ -- we'll at least get the app up and running -- from there we could go a couple different routes. some customers might want us to do continued maintenance. But w/ others we could just "hand it over" once its ready
13:58 <FrankP_> Right...
13:59 <demory> In any case we're hoping to have something public in Jan, so we'll see what sort of interest we get
13:59 <FrankP_> One thing that I (kinda) want from an Admin interface is the ability for Jeff Frane (technical marketing ... not a developer and not someone who will be restarting tomcat, etc...) to be able to maintain the system, generate new graphs and deploy them, etc...
14:00 -!- grant_h [d819d21b@gateway/web/freenode/ip.216.25.210.27] has joined #opentripplanner
14:00 <FrankP_> Otherwise, I'm going to be the one maintaining OTP vs. someone like Jeff (who does things now with ATIS ... which is still low level, shell scripts, etc...)
14:01 <novalis_dt> FrankP, so far, we're mostly working on the getting-it-running phase
14:01 -!- mele [d819d2ef@gateway/web/freenode/ip.216.25.210.239] has joined #opentripplanner
14:01 <novalis_dt> But we will probably have the ability to do all those tasks
14:01 <novalis_dt> I think we're going to have a crash-only design.
14:01 <novalis_dt> So "restart tomcat" means "spin up a new EC2 instance"
14:02 <novalis_dt> Which reminds me: demory, have we thought about doing some DNS?
14:02 -!- Ppppeeejjjjay [d819d37a@gateway/web/freenode/ip.216.25.211.122] has joined #opentripplanner
14:03 <novalis_dt> FrankP, anyway, send us your wishlist for Jeff, since Jeff is probably a prototypical customer.
14:03 <Ppppeeejjjjay> we were all locked out of our computers. did we miss anything exciting?
14:03 <novalis_dt> We don't promise to implement it, but it's nice to have info from real customers
14:05 <demory> novalis_dt when you say doing some DNS what do you mean exactly? Assigning domains to point to the AWS deployments?
14:05 <novalis_dt> demory, yeah
14:06 <novalis_dt> demory, so, imagine that we spin up a server, realize that there's a problem, terminate it, and start it up again
14:06 <novalis_dt> now we have to tell the potential customer a new URL
14:06 <novalis_dt> not to mention that it's an ugly AWS URL
14:06 <demory> Yeah I'm not sure. That's the sort of stuff kpw and I will be working though next week
14:06 <novalis_dt> OK, awesome
14:08 <demory> so once we have a server up and running we can't make any changes after it's started (e.g. restarting tomcat w/ a rebuilt graph)?
14:08 <FrankP_> sounds like an IP load balancer
14:08 <novalis_dt> demory, oh, we could
14:08 <novalis_dt> demory, but a crash-only design would be simpler
14:08 <novalis_dt> demory, alternately, we might want to switch to a bigger instance
14:08 <demory> ok
14:09 <FrankP_> We don't have a command in the API to tell OTP to reload a graph, correct?
14:09 <novalis_dt> FrankP, not really
14:10 <novalis_dt> We could add one triviall
14:10 <novalis_dt> y
14:10 <andrewbyrd> the mechanism is there in graphservice
14:12 <FrankP_> No biggie...I find it easy to simply bounce tomcat ... and since I have 4 instances running, it's easy knowing that things are truly reloaded via reboot.
14:12 <novalis_dt> FrankP, we would want that to be authenticated to prevent a DOS
14:12 <FrankP_> Yeah, that would kind suck if Google's bot found that url.
14:13 <novalis_dt> I'll add it when I get a chance; it seems generally usefull.
14:13 <novalis_dt> And not achievable from outside tomcat
14:14 <FrankP_> Could put it on a separate servlet path...then I could hide that path from the public urls, and it would only be reachable via internal paths/ports
14:14 <novalis_dt> Well, we already support authenticated services
14:15 <andrewbyrd> unless OTP should just watch for new graph files to appear in the bundle directory and load them
14:15 <novalis_dt> andrewbyrd, we risk loading a half-written graph that way
14:15 <andrewbyrd> optionally of course
14:15 <novalis_dt> It seem like it would need a lot of support.
14:16 <andrewbyrd> yes, just a thought. i suppose triggering it manually makes more sense.
14:17 <novalis_dt> OK. Anything from the interns?
14:19 <novalis_dt> OK, so I guess let's call it a day!
14:19 <demory> Sounds good to me!
14:20 <novalis_dt> Happy holidays to those who celebrate them!
14:20 <FrankP_> You too...have a good one everyone
14:20 -!- mele [d819d2ef@gateway/web/freenode/ip.216.25.210.239] has quit [Quit: Page closed]