Skip to main content
Solved

OSM data to 3D buildings

  • September 2, 2016
  • 6 replies
  • 67 views

How to convert OSM data to 3D buildings using FME

Best answer by crayxt

Example of data?

View original
Did this help you find an answer to your question?

6 replies

Forum|alt.badge.img
  • Best Answer
  • September 2, 2016

Example of data?


  • Author
  • September 2, 2016
crayxt wrote:

Example of data?

 

sorry i did'nt get your answer

 

 

Example of data? means

 

 

i am using .osm file

 

 

i loaded .osm file this is in 2D format in fme

 

and i want to convert that 2D to 3D using FME

 


Forum|alt.badge.img
  • September 2, 2016
balu wrote:

 

sorry i did'nt get your answer

 

 

Example of data? means

 

 

i am using .osm file

 

 

i loaded .osm file this is in 2D format in fme

 

and i want to convert that 2D to 3D using FME

 

Sorry I meant to left a comment instead of an answer. If you have height attribute you just use extruder.

 


  • Author
  • September 2, 2016
crayxt wrote:

Example of data?

kk thank you

 

 

i am not having height attribute then what can i do

 

please suggest me i am new to FME

 


redgeographics
Celebrity
Forum|alt.badge.img+49

If you want it to look realistic you'll need to have some source of elevation data so that you can determine the height (above sea level) of the buildings, then use a 3DForcer to set the building polygons to that height and an Extruder with a negative distance to create a 3d block of the building.

However, this way will look bad if you have buildings with height differences as the entire building will get a single elevation.

This knowledge base article should give you some pointers about the process, but the key issue is that you have to have building height data.

 


mark2atsafe
Safer
Forum|alt.badge.img+44
  • Safer
  • September 2, 2016

Well it's not quite true that you need to create building height... provided someone in OpenStreetMap has entered that information already. For example, here is a building in New York as viewed in FME...

So in theory you just need to use an Extruder transformer set to the attribute storing the height of the building.

In practice, I picked New York because I was sure there would be building heights. Your area of data may not have that, in which case you would have to make one up.

You could either set a fixed value, or generate one with the RandomNumberGenerator. Another way would be to use the ExpressionEvaluator to calculate a height based on the building area (footprint) - on the basis that a larger building is likely to be taller.

Alternatively, if you can get hold of point cloud data you could generate the height of the building using that.

So, it's possible, it just depends what data you have and how accurate you want to be.


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings