本文基于ArcGIS Runtime SDK for .NET
(100.9.0),官方有2D的资料Spatial relationships,本文完成三维的立方体是否相交的判定,效果如图
img-JWXnIrxF-1606466099992
实现思路
地图初始化
使用SceneView
初始化地图
创建三个图层,原始建筑数据的基础图层
,绘制立方体的绘制图层
,和显示相交结果的结果图层
(这里均使用了shp文件作为基础创建图层)
设置图层的Renderer
属性,将Z
属性作为高程显示出来
SimpleLineSymbol mySimpleLineSymbol = new SimpleLineSymbol(SimpleLineSymbolStyle.Solid, System.Drawing.Color.Black, 1);
SimpleFillSymbol mysimpleFillSymbol = new SimpleFillSymbol(SimpleFillSymbolStyle.Cross, System.Drawing.Color.DarkGray, mySimpleLineSymbol);
SimpleRenderer mySimpleRenderer = new SimpleRenderer(mysimpleFillSymbol);
RendererSceneProperties myRendererSceneProperties = mySimpleRenderer.SceneProperties;
myRendererSceneProperties.ExtrusionMode = ExtrusionMode.AbsoluteHeight;
myRendererSceneProperties.ExtrusionExpression = "[Z]";
graphicLayer.Renderer = mySimpleRenderer;
绘制立方体
通过交互获得点坐标