最近在博客园中认识的MR|Right(小瞿大哥)前辈,把它做的东西都分享出来给大家, 让大家共同进步! 其实我觉得这是对的,如果大家把做的东西都藏着掖着,那么对于我们gis的进步是不利的!虽然自己的能力不吧,做的东西也不一定有价值,但是毕竟把自己的经验分享出来,那么,这势必会有一定的帮助!最近做了一件事,就是关于怎样把一系列的二维点,生成三维的树状图,从而获得直观的显示效果!下面是实现的思路:
1.准备数据,数据的类型就以Point为例,记住,新建要素类的时候,一定要把下面的Z value的选项勾上,不然无法转换为三维坐标点。2.在AE中,导入这个要素类,然后通过查询获取你想进行三维连线的要素点,这是个简单的查询问题,就不再赘述!3.获取点之后,我们要给点的Z属性赋上高程值,记住不要使pOrign=point;这种方式,这样的话会改变原来的点坐标,不利于后续的工作。我们假设上面获取的点为pOrign,pDestination,新实例化的两个点为p1,p2,通过PutCoords()方法,为这两个点赋上坐标。4.下面是如何将两个点转化为线的过程,涉及到两个接口,IPointCollection和IPolyline,将我们上面的p1,p2加入到点的集合中,然后使用强制转化,使之称为Polyline对象。5.为Polyline启用三维,默认的Polyline是二维显示效果。启用三维效果主要使用的是IZaware接口和Polyline的Zaware属性,使用的让是如下:IZaware pZaware = Polyline as IZaware; pZaware.Zaware = true;这样就启用了polyline 的三维效果。然后将生成的三维线更新到要素集中就可以了。至于要素的更新,这里就不多言。6.上面是一条三维线的生成过程,利用上面的思路,将像连线的点添加到同一个PointCollection 中,就可以实现多条线的转换。在桌面端启用Arcsence,导入二维点和三维线,进行风格化。从而实现出如下的效果: 7.树状图的实现,主要是以上面的思路为核心,加之一些连线的思维就可以实现。希望对大家有所帮助!