Question

I want to convert 2D ESRI Shapefile data (which consist of Polygon, Line, POI info) into 3D KML format.


Badge

Can somebody suggest me how can this be done in FME like what info is necessary in Input files and which transformer can be used ??


8 replies

Badge +2

Take a look at this example which is Esri GDB to KML 3D so there are a lot of similarities. An example workspace is included to download.

https://knowledge.safe.com/articles/18762/basic-3d-kml.html

Badge

Take a look at this example which is Esri GDB to KML 3D so there are a lot of similarities. An example workspace is included to download.

https://knowledge.safe.com/articles/18762/basic-3d-kml.html

Thanks Mark,

I have checked the video. I tried it before also it is successful if i have only 1 floor but in my data i have multiple floors for which i need to define elevation for each floors. I used offsetter for defining Z values for each floor but something went wrong. Let me know if you have any suggestions on this.

Thanks.

Badge +2

Take a look at this example which is Esri GDB to KML 3D so there are a lot of similarities. An example workspace is included to download.

https://knowledge.safe.com/articles/18762/basic-3d-kml.html

Can you post an example of the data and workspace? Do you have multiple features one per floor or one feature with an attribute stating number of floors? In the latter I expect you will need to calculate a total height to use in the extruder transformer. If you want individual floor features you are correct in using an offsetter in z value. You may need a cloner transformer to create multiple features based on the number of floors one feature per floor.

Badge

Can you post an example of the data and workspace? Do you have multiple features one per floor or one feature with an attribute stating number of floors? In the latter I expect you will need to calculate a total height to use in the extruder transformer. If you want individual floor features you are correct in using an offsetter in z value. You may need a cloner transformer to create multiple features based on the number of floors one feature per floor.

sampledata-fmewb.zip

Attached here Sample data and Workbench. In my data i have multiple feature on each floor. Data consist of each layer of each feature with floor level information. I used Extruder & offsetter. I am not able to figure out how can i give height to floors and then each floor will attain that height . For eg if my building have 50 height for each floor then second floor geometry should start after 50 from ground .All the ways which i have tried, it is giving height to 2 secnd floor aswell from ground :-( I am new to FME and i am trying to understand the transformers but might be missing some logic's. Kindly suggest.

Thanks for your help.

Badge +2

Take a look at the attached Workspace. The Offsetter wasn't the correct transformer as the data was only 2D. So a 3DForcer with a calculated Z value using the AttributeCreator based on the value from the LEVEL attribute. The Extruder is used to make into a 3D shape. However the Extruder doesn't work on aggregate geometry and your sample included Aggregates hence the Deaggregator. The result using the source data isn't great however as lines don't really convert into 3D very well.

shape2ogckml.fmw

Userlevel 4
Badge +25

Take a look at the attached Workspace. The Offsetter wasn't the correct transformer as the data was only 2D. So a 3DForcer with a calculated Z value using the AttributeCreator based on the value from the LEVEL attribute. The Extruder is used to make into a 3D shape. However the Extruder doesn't work on aggregate geometry and your sample included Aggregates hence the Deaggregator. The result using the source data isn't great however as lines don't really convert into 3D very well.

shape2ogckml.fmw

Just wanted to mention that the Offsetter got an update recently (probably 2016.1) where if the original data is 2D then it assumes a Z of zero and offsets it.

As you might have noticed, up to now Offsetter would only offset in the Z axis if the data had a Z value.

I am looking for the solution about similar situation. Kindly let me know if u were able to solve the issue

Userlevel 1
Badge +10

I am looking for the solution about similar situation. Kindly let me know if u were able to solve the issue

Hi @vini.devgan! I would be interested in knowing more about your scenario and the challenges you are trying to overcome. Have you had any luck with the concept outlined in the Basic 3D KML tutorial or the suggestions provided on this Q&A Post? If not, let us know what results/errors you are getting and what you're expecting. Attaching you screenshots, your FME workspace and/or sample data if possible will be helpful.

Reply