Skip to main content
Solved

Adding a 3D model and Geo-referencing it with multiple XY points

  • August 22, 2017
  • 4 replies
  • 83 views

Forum|alt.badge.img

I have a workspace with a single 3D model (a tree) and a point dataset of several thousand points. Is it possible to replicate the 3D model and geo-reference it for every point?

Best answer by takashi

Hi @proudgis, a possible way I can think of is:

  1. CoordinateExtractor: Extract (x, y, z) for every point feature.
  2. FeatureMerger: Unconditionally merge the tree geometry to every point (i.e. replace all point geometries with an identical tree geometry). To do that, send the point features to the Requestor port, send the tree feature to the Supplier port, set an identical constant value (e.g. 1) to the Join On for both Requestor and Supplier, and set "Geometry" to the Feature Merge Type parameter.
  3. Offsetter: Move each tree to desired location based on coordinates (x, y, z) of the original point.
This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

4 replies

takashi
Celebrity
  • 7843 replies
  • Best Answer
  • August 23, 2017

Hi @proudgis, a possible way I can think of is:

  1. CoordinateExtractor: Extract (x, y, z) for every point feature.
  2. FeatureMerger: Unconditionally merge the tree geometry to every point (i.e. replace all point geometries with an identical tree geometry). To do that, send the point features to the Requestor port, send the tree feature to the Supplier port, set an identical constant value (e.g. 1) to the Join On for both Requestor and Supplier, and set "Geometry" to the Feature Merge Type parameter.
  3. Offsetter: Move each tree to desired location based on coordinates (x, y, z) of the original point.

Forum|alt.badge.img
  • Author
  • 12 replies
  • August 23, 2017

Hi @proudgis, a possible way I can think of is:

  1. CoordinateExtractor: Extract (x, y, z) for every point feature.
  2. FeatureMerger: Unconditionally merge the tree geometry to every point (i.e. replace all point geometries with an identical tree geometry). To do that, send the point features to the Requestor port, send the tree feature to the Supplier port, set an identical constant value (e.g. 1) to the Join On for both Requestor and Supplier, and set "Geometry" to the Feature Merge Type parameter.
  3. Offsetter: Move each tree to desired location based on coordinates (x, y, z) of the original point.
Yes, this is looking good. I hadn't realised you could use constant values in the feature merger in place of attributes. Now to see if extrusion is possible. Thanks!

 

 


takashi
Celebrity
  • 7843 replies
  • August 24, 2017

Hi @proudgis, a possible way I can think of is:

  1. CoordinateExtractor: Extract (x, y, z) for every point feature.
  2. FeatureMerger: Unconditionally merge the tree geometry to every point (i.e. replace all point geometries with an identical tree geometry). To do that, send the point features to the Requestor port, send the tree feature to the Supplier port, set an identical constant value (e.g. 1) to the Join On for both Requestor and Supplier, and set "Geometry" to the Feature Merge Type parameter.
  3. Offsetter: Move each tree to desired location based on coordinates (x, y, z) of the original point.
The unconditional merging technique with the FeatureMerger is very useful in some scenarios.

 

Another approach. This workflow would also be possible.
  1. Read the tree feature.
  2. GeometryExtractor (Geometry Encoding: FME Binary): Save the tree geometry as an attribute called e.g. "_geometry".
  3. FeatureReader: Read the point features. Here, set "Merge Initiator and Result" to the Accumulation Mode parameter, in order to merge "_geometry" to every point feature. Leave the Geometry parameter "Use Result" (default).
  4. CoordinateExtractor: Extract coordinates (x, y, z) for each point.
  5. GeometyReplacer (Geometry Encoding: FME Binary): Replace the point geometry with the tree geometry from "_geometry".
  6. Offsetter: Move the geometry to desired location based on the (x, y, z).

 


Forum|alt.badge.img+1
  • 1 reply
  • December 21, 2021

hi Takashi!

The format of the feature merger seems to have changed a bit since 2017, but for the most part it seems to work (testing it now). Do you know if there is a way to 1) randomly rotate the points and 2) draw the trees at different sizes/scales based on a height attribute in points?

thanks much