Is a 3D Dissolve possible?

2995
4
01-09-2017 08:16 AM
NatanMicheletti1
New Contributor II

Hello everyone,

I am looking for a way to "dissolve" touching 3D data without losing the Z information, is that possible? My input data can either be multipatch or polygonZ. Any workaround would help, and avoiding to obtain a single feature in the output would be a great plus. 

Briefly, what I have is a street network as 3D polyline, with a field indicating the width of every street. I used 3D symbology to create a strip of the right width, and used "3D layer to feature class" to obtain a multipatch. However, this operation naturally cause overlaps at road crossings, which are a) not nice, and b) causing many issues when I process my data further (e.g. flickering "fighting" polygons).

I could obtain both multipatch and polygonZ, and extrude the data to ensure touching volumes, but I was not able to eliminate the overlaps. 3D intersect extract all of them, but I don't know how to proceed without losing the 3D information. I also have bridges, hence I really need something that works in 3D for close features. The desired output would looks as in Multipatch_width.jpg (where we do not see the overlaps, but they are there unfortunately).

Any help would be greatly appreciated!

Thank you in advance,

Best wishes

Natan

0 Kudos
4 Replies
DanPatterson_Retired
MVP Emeritus

if the points forming the feature have z values then the dissolve tool honours those environment settings.

Output has Z Values (Environment setting)—Help | ArcGIS Desktop 

I would experiment with some know conditions rather than expect a blanket acceptance or rejection since the geometry seems to be more important.  Also are they unioned in any fashion?

0 Kudos
NatanMicheletti1
New Contributor II

Thank you for your answer. My input does have Z value (it is either a polygonZ or a multipatch and I see it in 3D in arcscene), but Dissolve still provides 2D polygons nonetheless, and this despite in the environment settings the Z values being enabled. It seems unable to dissolve touching objects in 3D and goes back to their footprints in 2D.

I apologize, but I do not quite understand the second part of your answer. What conditions do you refer to? In my case it does not really matter how geometry are solved at these crossing since the differences are really minimal, what's important is to avoid overlaps of different objects.

The data are not unioned (yet), every segment in the 3D polyline is an object, but the network is contiguous (vertex are snapped) and I do have quite some attribute in addition to the street width (e.g. a street class attribute).

I still haven't made any progress, I failed at using Difference 3D to solve the problem. Any thoughts / hint?

Thank you again

Natan

0 Kudos
WhitacreJ_CMNH
New Contributor II

I am having this issue also, but with polygons. I run the Dissolve tool in a Python script on a z-enabled polygon feature class of water bodies with valid geometry z-values and the Dissolve tool changes all the z-values to 0. Absolutely no idea why this is happening...

0 Kudos
WhitacreJ_CMNH
New Contributor II

Ok...I did some experimenting. In my original script, I did not identify a field to dissolve by, as it was not needed (so I thought). Apparently when you do not have a dissolve field, for some reason the tool does not add the correct z-values when dissolving features. It turns them all to 0. But, as soon as I add a field to dissolve by, the z-values miraculously appear! I am going to report this as a bug!

0 Kudos