|A portion of a Sanborn Fire Insurance Map|
Very little data on individual homes will be recorded. An initial glance at Google Earth imagery and Sanborn Fire Insurance maps suggests to me that house style and construction materials have far more to do with date of construction and region than with population or other factors. Prevalence of Brick vs. stone vs. frame construction varies mostly by region and age of the town, and age of the structure. Style is dependent upon region and date of construction. There's also far more data on residential units than the rest of a town, and it is largely less relevant to capturing the feel of a town, in my opinion.
Also collected will be details on businesses and other institutions. Businesses will include industrial and commercial establishments. The business data will be tied to the building data. What's this business data good for? It lets me know for a given population, how many businesses, and what types, should be added to the town, and where. While I expect the commercial establishments to vary a little between regions, I expect the industrial establishments to vary to a greater extent. One would expect more canneries in fruit growing regions and more creameries in dairy regions. A large town on the American plains should have more grain elevators. I think a coal yard, lumber yard, and oil dealer could show up anywhere.
So where am I collecting the data from? Mostly from the Sanborn Fire Insurance maps. Utah, Indiana, and Pennsylvania all make their pre-1923 maps available online to the general public, I can access the Ohio maps by virtue of being a resident of Ohio, and the Library of Congress has partial online coverage of various states. USGS Topographical Maps, Google Earth, and historical railroad maps may also play a part.
|Screenshot of the prototype|
Even after the town data is collected and useful statistics are available, a lot more graphics code will need to be written to actually generate and visualize a new town. The split-based code I mentioned in yesterday's post is part of the likely building generation solution. The road and railroad code needs additional work, particularly with respect to intersections and switches, respectively. And I need to finish up the straight skeleton calculation code, which along with buffer operations (inset/outset) is needed for both building generation and generation of lots for a block. Speaking of blocks, I need to finish up implementation of minimum cycle basis code based upon David Eberly's paper, which is required to "recognize" the blocks in a generated plan of roads in the town.
All in all, there's still a lot to do, but a little bit more gets done each day. Until the holidays come. Then work will likely grind to a halt for a few days. Maybe I can find something else to blog about then.