I was able to complete this with "Select by Location" in ArcPro using 3D Intersect. However it would be great if there is a way to do this in FME instead of using Arcpy/ArcPro.
Any help with this question?
There is a workaround for this in FME that works for simple 3D shapes.
You intersect the lines with the hull of the shape in every plane (XY, XZ, YZ) do some aggregation and test for the number of planes in witch it intersects a shape (cube).
If it is equal to 3 it intersects the cube you are testing for and you get the cube ID.
I attached a sample workspace (thanks for the sample data 😀) that does this. I created UUID's both for cubes and for lines so i can work faster, you can ditch UUIDGenerators and replace your own ID's in the SpatialRelators attributes to add to the list and Aggregator, if there are any.
Hi @caracadrian,
This should not be complex that much.
Is there any other easy way? @david_r @Takashi Iijima @Mark Stoakes @ebygomm @daveatsafe
Perhaps contacting Safe support could give you some additional answers. If the functionality isn't available or doesn't work as intended, I'm sure Safe would like to know about it.
Perhaps contacting Safe support could give you some additional answers. If the functionality isn't available or doesn't work as intended, I'm sure Safe would like to know about it.
Hi David,
Thanks for the suggestion. I just opened a case.
Hi @canerakin,
We are working on improving FME's 3D intersecting capabilities to include surface features, but at present only solid and point cloud geometries are supported. However, using a little geometry transformation, I think we can get the answers you are looking for.
The attached workspace densifies the lines and converts them into linear point clouds, then clips by the cubes to transfer their attributes onto the appropriate lines.
Please try the workspace to see it produces the results you need.