![]() ![]() Maybe this is the ultimate source of the issue. Unfortunately, the resolution of the data the multipatch is based off of is quite coarse at ~8km. The screenshots below are the subsequent service layers in a WAB (dev edition) application. The extruded layer was then converted to a multipatch via the Layer 3D to Feature Class tool. The multipatch was created by extruding the features to a depth from surface field in ArcPro (relative to ground). Is there a way to mask out portions of the multipatch that are above ground level or force the surface of the multipatch to align with the terrain service? The subsurface portions of the multipatch work great. # Then add a selection to the layer based on location to features in another feature classĪrcpy.SelectLayerByLocation_management ("roof_layer", "intersect", "H:/ArcGIS/temp_bbox.shp")Īrcpy.CopyFeatures_management('roof_layer', 'C:/temp/3Ddatabas/dev1.gdb/ROOF_selected_' + `t`)Īrcpy.Delete_management("H:/ArcGIS/temp_bbox.Is there a workflow that could allow for me to align an extruded polygon feature class with a 3D elevation layer (ESRI Terrain 3D)? I am trying to use a multipatch to model subsurface characteristics, though the multipatch does not align with the surface. ![]() # First, make a layer from the feature classĪrcpy.MakeFeatureLayer_management("C:/temp/3Ddatabas/multipatchfixfull.gdb/ROOF_MULTIPATCH", "roof_layer") # Create FeatureClass put features in it.Īrcpy.CopyFeatures_management(feature, "H:/ArcGIS/temp_bbox.shp") Mxd = ("CURRENT")ĭataframe = (mxd)įeature_data =, ,, ]įeature = arcpy.Polygon(arcpy.Array()) I began coding this into a python toolbox: def execute(self, parameters, messages): The AOI tool solved the problem while in ArcSceneĪnother option is to use SelectLayerByLocation tool paired with CopyFeatures tool. Resulting intersection (extruded polygons converted to multipatch features): After you extrude the building footprints run the Layer 3D to Feature Class tool to create a multipatch feature class from the extruded polygons. The buildings are now extruded to the correct height but are not yet aligned with the surface. Same as above but using multipatch features created from extruding polygons: Click the Unit drop-down menu and click Feet to match the projection of the data. Resulting Intersection of the above (features are closed - also calculated volume): (Spheres created using a technique similar to what you've described) 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.) 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. I suspect your polygon multipatches do not fully enclose a volume. Intersection also succeeded without errors. (See screen captures below) I then created some circular polygons, extruded them and converted them to multipatch features. Intersection succeeded without errors and produced expected results. I was also able to calculate volume of the spheres. Extruded 3D Areas to generate a 3D area feature with the extrusion mode. I tried running an example with spheres and created 2 intersecting multipatch feature classes. If selected, the Generate Multi-Patch Features for Areas option specifies that. Personally, I have not had a lot of success using "Extrude Between" with complex surfaces) You can work around this limitation by using the 'Layer 3d to Feature Class' GP tool to create a multipatch of the extruded polygons, then publishing that multipatch to a local or hybrid Portal - however you won't be able to publish it direct to ArcGIS Online as of this release. (Unless you extrude between 2 TIN surfaces which should produce a closed multipatch. ![]() Multipatch features created with the Interpolate multipatch to polygon (using a surface) tool can likely not be closed. To close a multipatch feature, it must completely enclose a volume. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |