I'm on ArcGIS 10. According to all the documentation I've read, 3D Analyst should be able to do what I am trying to get it to do, but I am running into problem after problem and I'm almost ready to give up and find a simpler way to answer the question I'm being asked.
In a nutshell, I have several layers I need to intersect or union in 3D. Some are points (thousands of them, which each represent a 3D volume, either a cube or a sphere, the dimensions of which are attribute values), some are polygons. I'm pretty sure the 3D Union and 3D Intersect tools only work on Multipatch features so I need to convert all of them to Multipatch features first.
The main problem I'm having so far is that the 3D Analyst Union and Intersect tools refuse to operate on Multipatch features that are not "closed", and I can't seem to force ArcGIS to create Multipatches that are closed. I've tried converting my one polygon layer (8 features) to a Multipatch both by extruding it in Arcscene using its height and converting that to multipatch and also using the "Extrude Between" tool, and they both produce some multipatches that are closed and some that aren't. I tried converting my points to spheres, using an example I found on ESRI's site here:
http://www.esri.com/news/arcuser/1010/3danalysis.html
Which tells you to symbolize the points as spheres, using an attribute as the radius, then use the "Layer 3D To Feature Class" tool to make them into multipatches. That also produces multipatches that are not closed and therefore useless. I haven't tackled converting points to 3D cubes yet.
So if anyone knows a way to reliably create closed multipatches from 2D polygon layers and/or center points (with attributes describing the dimensions), let me know. Any alternative software solutions would be great too, I'm not tied to ESRI. Indeed, after mucking about with this for the last few days and realizing that ESRI's own tools create multipatches that can't be used with many 3D Analyst tools, an alternative would be preferable.
ETA: What I'm ultimately after is to calculate the volume of space that is occupied by (for example) cubes with a an attribute value of X where they intersect spheres with a value of Y (of course, I have lots and lots of values of X and Y to run).
Answer
To close a multipatch feature, it must completely enclose a volume. Multipatch features created with the Interpolate multipatch to polygon (using a surface) tool can likely not be closed. (Unless you extrude between 2 TIN surfaces which should produce a closed multipatch. Personally, I have not had a lot of success using "Extrude Between" with complex surfaces)
I tried running an example with spheres and created 2 intersecting multipatch feature classes. The spheres are closed. I was also able to calculate volume of the spheres. Intersection succeeded without errors and produced expected results. (See screen captures below) I then created some circular polygons, extruded them and converted them to multipatch features. Intersection also succeeded without errors.
I suspect your polygon multipatches do not fully enclose a volume. Exactly how were they created? Can you provide some screen captures? (You might need to create more complex 3D solid object features in a 3rd party 3D drawing software as ArcGIS is very limited in this area. You could try editing the multipatch in SketchUp by the way of Collada then replacing the model when you are finished editing) ArcScene 3D Editor --> Replace with Model (This should be possible according to documentation but I have not tried.)
Two multipatch features. (Spheres created using a technique similar to what you've described)
Resulting Intersection of the above (features are closed - also calculated volume):
Same as above but using multipatch features created from extruding polygons:
Resulting intersection (extruded polygons converted to multipatch features): The "polygon" features are closed
No comments:
Post a Comment