Building Footprints
-
Hi,
When our city got their aerial photography flown we received building footprints and contours. Sadly we didn't pay the extra money to get the heights of the buildings, we didn't really consider future 3d modeling.
I was wondering what would be the easiest way to get the whole city modeled in 3D without going and collecting every height individually?
right now I'm considering going through town and collecting building stories and just multiplying the number of stories by 10 (luckily it’s a pretty small town). Probably not too accurate but seems pretty simple.
thoughts would be appreciated,
Cory
-
If your city is shown in detail on google earth you could try the following:
Bring a snapshot into SU, then model a building whose height you know. Next adjust the shadow settings in SU (i.e. month, day, time of day -- a lot of trial and error but you can get close) to match the shadows cast on the photo. Finally, model the other buidings in simple form and pull up until their shadows match. Save these other buildings out as components and add detail as required, then re-load into SU. -
@pmiller said:
If your city is shown in detail on google earth you could try the following:
Bring a snapshot into SU, then model a building whose height you know. Next adjust the shadow settings in SU (i.e. month, day, time of day -- a lot of trial and error but you can get close) to match the shadows cast on the photo. Finally, model the other buidings in simple form and pull up until their shadows match. Save these other buildings out as components and add detail as required, then re-load into SU.whoa, that’s a way good idea. I don't think I woulda ever thought of that.
But I really don't wanna spent that much time on it. Although it is a small town that I am trying to model that would still be about 4000 building footprints I'd have to push/pull.
I'm really just trying to figure out a good workflow for getting heights around town. I plan on using the Arcgis toolbar to extrude all of my buildings. So your shadow technique would be adding an extra big step.
-
How 'bout taking a photo of each city block front(including something for a height referance of, say 5 ft), then use photomatch with grid adjusted to 5 feet, and turned ON. You then "tweak" the grid size until it matches the 5 ft reference, and just count the grid boxes to get the building heights.
Or, again using photomatch, take a picture of a city block front, then use the tapemeasure tool to "rescale" based on the measurement of, say a standard doorway (6'8"). Then you could use the tapemeasure to measure the height of each building in the photo. This method would require something be drawn, say a rectangle in a doorway because the rescale is for rescaling the DRAWING, not the PHOTO, (so there has to be something for it to rescale) but it will just change the measurement scale, and you should be able to then do point to point measurement with the tapemeasure tool with the photo turned on.
Please note that I haven't tried either of these methods, but this is what I might do.
When you get done, let the group know how you solved your problem. I'm sure others would be interested too.
GT
-
@chemtech said:
Or, again using photomatch, take a picture of a city block front, then use the tapemeasure tool to "rescale" based on the measurement of, say a standard doorway (6'8"). Then you could use the tapemeasure to measure the height of each building in the photo. This method would require something be drawn, say a rectangle in a doorway because the rescale is for rescaling the DRAWING, not the PHOTO, (so there has to be something for it to rescale) but it will just change the measurement scale, and you should be able to then do point to point measurement with the tapemeasure tool with the photo turned on.
GTI really like this Process GT it seems simple and I can get some good pictures to help texture the city. I'm now starting to wonder a little if I should even use the extrude option from the Sketchup GIS plug-in (which automatically extrudes footprints upon being imported to sketchup based on a attribute like “building height”).
I think it might just be easier to keep track of the pictures and the heights if I use a workflow resembling this
- Import the building footprints (non extruded)
- Bring in a picture of the whole block then find the matching block of building footprints
- Use the tape measure tool and "rescale" the picture to figure out the heights of the buildings
- push/pull the footprints to the correct height
- Texture the building with the picture we "rescaled"
- input the height information we received into our GIS footprint attribute table for future projects
Am I going to have to move step 1 after step 3? (because it would rescale the building footprints from their correct area?)
Also if I do have to move step 1 does that mean I have to do each block individually? because every time I'd rescale it would rescale the rest of the all ready push/pulled buildings.
Let me know if something I wrote needs clarification. It's kinda tough to understand what I’m trying to say when I'm brain storming.
And I'll be sure to letcha all know what I end up doing
-
First off, remember that I offered these as suggestions of ways to attack the problem, so this was just my version of a brainstorm idea, and second, I have never used any GIS functions, I don't even know what you're refering to, but I think I can get and idea from your discriptions.
It sounds like you're on the right track. If you can get the photo size to match the size of the footprint of the building, or vice versa, then, measure the size of one side of the footprint in the real world, (get the width of one of the buildings) use the tapemeasure to rescale based on the width of that building. Then just use it to measure the heights of other buildings in the photo.
I'm pretty sure that to do this accurately, you're going to have to use photomatch, rather than just painting a photo on as texture, because photomatch takes into account the perspective of the photo, and thus, measurements are related to the "vanishing point" of the photo, regular imported photos (I don't think) will do this.
This all sounds like a fun project. Also, if you can make this work, you also might consider posting a tutorial in the turorial section.
GT
-
Since you said you're using ArcGIS it's possible that you have MOD IV (tax and parcel) data for your city. This data will often contain a Building Description (BldgDesc) field that may be helpful in knowing how many stories the buildings are. You could do a spatial query to transfer this attribute, or at least part of it, to your building footprints. This would work in the method you described in your original post where you multiply the # of stories by a number but would not require you to go out and collect this data.
-
@chemtech said:
First off, remember that I offered these as suggestions of ways to attack the problem, so this was just my version of a brainstorm idea, and second, I have never used any GIS functions, I don't even know what you're refering to, but I think I can get and idea from your discriptions.
It sounds like you're on the right track. If you can get the photo size to match the size of the footprint of the building, or vice versa, then, measure the size of one side of the footprint in the real world, (get the width of one of the buildings) use the tapemeasure to rescale based on the width of that building. Then just use it to measure the heights of other buildings in the photo.
I'm pretty sure that to do this accurately, you're going to have to use photomatch, rather than just painting a photo on as texture, because photomatch takes into account the perspective of the photo, and thus, measurements are related to the "vanishing point" of the photo, regular imported photos (I don't think) will do this.
This all sounds like a fun project. Also, if you can make this work, you also might consider posting a tutorial in the turorial section.
GT
I'll definitely do this process for the down town area (where the focus of most people’s attention would be) and some of our more popular areas of town. I don't think I'll be going down each block and taking pictures of ever household I think it would consume a bit too much time. (even though that would be wicked, I mean who doesn't wanna see their house on google earth in 3D?) Once I get my process down and get a decent collection going I’d really enjoy making a tutorial .
Oh also another thing that I've been doing is assuming the height of a door is about 7foot (you can usually tell if it’s a bit taller) so using the tape measure tool you can use the door as a known height to scale the building as a whole (if you didn't have a chance to get an actual measurement to use scale the building)
@ehaflett said:
Since you said you're using ArcGIS it's possible that you have MOD IV (tax and parcel) data for your city. This data will often contain a Building Description (BldgDesc) field that may be helpful in knowing how many stories the buildings are. You could do a spatial query to transfer this attribute, or at least part of it, to your building footprints. This would work in the method you described in your original post where you multiply the # of stories by a number but would not require you to go out and collect this data.
I was kind of waiting for this to catch your eye
thank you for the tip, I'mma go search our city data asap to try and find that information. It would make this much easier than going out into the field and collecting the story data.
Advertisement