One large flat rooftop, ah ah ah...
October 15, 2013 12:49 PM   Subscribe

How would you go about getting an accurate count of the number of flat 3,000+ square meter rooftops in a city?

I need to estimate the number of large flat rooftops in a variety of cities around the world to within about 500 rooftops per city. Doing a count of a representative sample area and then extrapolating for the who city obviously doesn't work because city planning and zoning means that there's no such thing as a "representative sample area."

My current (terrible) solution is to do a methodical flyover in Google Earth actually counting every building that looks to be about the right size and breaking out the ruler tool every 50 or so to verify the continued accuracy of my eyeball area estimates.

A quick time-to-completion estimate against the number of cities I have to do this for suggests that we're talking about hundreds of hours of this and that's just not viable from use-of-my-time and eyestrain perspectives.

I've considered the possibility of writing a program to do this for me based on the Google Earth API, but experience suggests that that might be just as bad or worse from a man-hours perspective and the problem may turn out to be much harder to automate than I anticipate.

I've also considered printing out massive satellite images from Google Earth and marking them up with pen. I think this might be faster (and definitely less eyestrain inducing) than the current approach, but still not fast enough. And how big would a sufficiently high-res image of, say, Toronto have to be for this to be workable? Back of the napkin suggests something like 5x10 meters. That's a lot of ink.

Ideal solution would be to call up the City Planning Department and have them just give me a number. But either nobody knows this number, or I can't figure out the right person to call to get it. Plus, many of these cities are in nations where English is not the dominant language.

How would you approach this task? Has someone else already written a Google Earth plugin that I could massage into service for this? Is this the sort of thing one uses Amazon Mechanical Turk for? If so, how does one verify the accuracy of the results?
posted by 256 to Technology (8 answers total)
Maybe you could contact some of the researchers who've published similar stats and ask them?
If you dig around in the sources for a few of the papers cited by the people advocating for cool roofs they have some figures for area (one was 2.58 billion square meters of commercial building conditioned roof area in the US- not as specific as you need but maybe a start?).

source was:
R. Levinson and H. Akbari. 2010. “Potential benefits of cool roofs on commercial buildings: conserving energy, saving money, and reducing emission of greenhouse gases and air pollutants.” Energy Efficiency, 3 (1)

Its easy to find the abstract online but I can't find a free copy of the full text right now.
posted by Wretch729 at 1:11 PM on October 15, 2013

I don't think that this is something a building or planning department would keep records of, so calling them probably won't get you anything, as you indicate. However, they, and the modern zoning techniques that you're thinking work against you may actually help you out. 3000 square meters is a pretty huge property - basically 54 m square on a side (or 180+ feet or 32,670 square feet, or almost exactly 3/4 of an acre). So, you're probably going to be looking for property sizes that are at least 3/4 of an acre in size, probably quite a bit more to account for parking, building setbacks, and parts of buildings that don't have flat roofs. I'd guess that that acreage and building size is going to limit you to almost entirely major commercial buildings and industrial plants, so you can probably check with planning departments to determine where in a city the minimum lot size is 3/4 of an acre and zoned for commercial or industrial use. I'd guess that would probably eliminate something like 90% of a normal city's land area, which should drastically reduce your work load.
posted by LionIndex at 1:13 PM on October 15, 2013

I actually think that if you go in and just do a spot survey on Google and find a couple buildings that you can measure out to have 3000 square meter roofs, it'll get pretty easy after that to just eyeball buildings of similar size when you're looking at other locations at the same map scale. There won't be too many.
posted by LionIndex at 1:22 PM on October 15, 2013

I've seen a demo done with image processing to classify and count trees. I don't remember the particular tools they were using for the image processing, but it's quite possible that there's some OpenCV-based tools (QGIS plug-ins, maybe?) that'll let you give some sample data and will pull out a lot of this sort of thing.

A quick Google search also suggests that there's often building footprint data for cities. For instance: You might have to do a little more roof classification after you find outlines greater than 3k square meters, but as LionIndex points out, 3k square meters is pretty big, and it's likely that any building with a roof that large isn't a simple set of peaked rafters.

As for how you verify... Samples two different ways (take a few randomly sampled regions, count them by hand, count them using your other techniques, do this with enough regions that you start to get a feel for the differences between the data), and if that mechanism involves lots of human judgement (ie: Mechanical Turk), have different people do the same region and check the results between them.
posted by straw at 1:23 PM on October 15, 2013

Response by poster: I actually think that if you go in and just do a spot survey on Google and find a couple buildings that you can measure out to have 3000 square meter roofs, it'll get pretty easy after that to just eyeball buildings of similar size when you're looking at other locations at the same map scale. There won't be too many.

This is what I'm doing, and there are rather a lot. 10,000 or more for most large cities. So just to clarify, this is the method that I am looking for something better to replace.
posted by 256 at 1:36 PM on October 15, 2013

I think city governments might actually have this data, or the raw data needed to come up with the numbers you want, because it is important for modeling storm-water runoff rates.

In terms of automating the process: Mechanical Turk.
posted by Good Brain at 1:41 PM on October 15, 2013 [1 favorite]

Best answer: If you have access to high resolution data (from satellites like QuickBird or Ikonos) and Exelis ENVI software, you could play around with feature extraction to get what you want. You could build classifiers strictly from visual spectra, or you could take reflectance into consideration with UV spectral data.

Here is an example of what I'm talking about. You would calibrate your classifiers by ground truthing them.
posted by oceanjesse at 2:11 PM on October 15, 2013 [1 favorite]

Best answer: Digging further: the GIS department of my city of 60k publishes building footprint shapefiles. Per Good Brain's reasoning, I'd bet almost every city in the U.S. has similar data, and there's download links for a good number of the larger ones in that link in my previous answer.

Import those shapefiles into PostGIS, do a SELECT ... WHERE ST_Area(footprint) >= 5000 ..., view the output over aerial imagery (in my area available as a download from the county) in QGIS (or export it into KML to view it in GoogleEarth), check to see what the error rate looks like... I'll bet this is a pretty tractable problem after all.
posted by straw at 2:44 PM on October 15, 2013 [1 favorite]

« Older Learning Basic Accounting from Home   |   Dancing in Boston this Saturday night (10/19) Newer »
This thread is closed to new comments.