We were also able to estimate the date of historical photos fairly accurately by first incorporating them into a 3D reconstruction and then reasoning about the visibility of structures in the scene.
Some videos of the time-varying 3D point cloud here:
That page also has an interactive demo of a unified 3D model of Atlanta from 1864 to the 2000s based purely on image-based reconstruction. Here's a photo of Atlanta from the civil war (1864) with a modern skyline rendered into it by projecting the reconstructed building geometry and textures from modern photos into the recovered camera position of the civil war era photo: http://4d-cities.cc.gatech.edu/atlanta/img/atlanta1864_2008....
We've been so surprised at the excitement over the response and we've had to bump up our timeline to catch up the energy of everyone who's gotten in touch.
There's a few big things we're focused on right now:
* Improving performance of CV recognition of historical buildings [https://github.com/nypl/map-vectorizer] from insurance atlases.
* Parsing data from historical records. We love old documents that are basically databases in print form. Old playbills, city directories, tax records; lots of tabular data with locations, people, businesses - the names of history. Getting those names out and tied to locations are what become the searchable elements for places.
* Rebuilding the underlying gazetteer. We worked with the team from Topomancy to prototype the underlying system a few years ago [https://github.com/topomancy/gazetteer]
There's a lot more, but that's where were starting. If you're interested, drop us a line at firstname.lastname@example.org or sign up for our (comically nascent) forum at http://talk.spacetime.nypl.org where we're trying to coordinate most of the effort.
So we err on the side of dividing single buildings up into multiple semantic objects. If our data included detailed reconstructions of the streets between each building, then the whole thing might be connected and we'd need more criteria to separate them out -- we do automatically estimate a ground plane so that's one way: just ignore everything near the ground for grouping purposes.
There's slightly more detail in the paper:
Aside: I am really interested in contributing to these sorts of efforts, except, ideally, at a level higher than a mechanical turk.  Might anyone be able to suggest self-directed learning resources (Coursera courses, ebooks, websites, open source projects, etc.) in the realm of geographically-oriented web development or the latest in geographic/GIS data wrangling? Any suggestions for languages to learn or frameworks to become familiar with? Thanks.
Really well done by the smart folks at Mapbox.
It was a larger scale, lower resolution version of this. The PoC demo was to demonstrate the borders of the Mongol empire over time. It was, as far as I can tell, a few years ahead of it's time in 1997(ish).
It was also the first time I got to use a proper SGI workstation. Damn, those things could make every other computer you used feel like a Jalopy.
EDIT: This has since been bundled into the "Heurist" project: http://heuristnetwork.org/
For example, everyone in NYC knows that "Little Italy" is really a shadow of its former self and is mostly "Chinatown" now. If all the data was processed, you could visualize changes like that on a map over time and increase accuracy by adding more data sets (e.g. business directories, also in City archives).