立体效果地图可以将原来简单显示的平面地图变成有立体感的地图,由此用户可以更好的辨识地物,并增加地图的美观度;目前百度地图、腾讯等多家地图厂商都已推出立体地图查看模式,只需放大地图到一定的比例尺范围,就可以看到该区域建筑的立体效果。
原理:立体效果包括顶面和侧面。
侧面是通过原始顶面与往下平移的面,将上下对应每段线段两两组合而成生成侧面,最后在盖上原始顶面则可。
先生成侧面,再叠加上顶面则可完成效果。
代码如下:
ISegment seg = sc.get_Segment(s);原始顶面
ISegment seg1 = (seg as IClone).Clone() as ISegment;
(seg1 as ITransform2D).Move(0, m_height);原始顶面平移后
seg1.ReverseOrientation();
RingClass ring = new RingClass();
ring.AddPoint(seg.FromPoint);
ring.AddPoint(seg.ToPoint);
ring.AddPoint(seg1.FromPoint);
ring.AddPoint(seg1.ToPoint);
//ring.AddSegment(seg);
//ring.AddSegment(seg1);
ring.Close();
PolygonClass p = new PolygonClass();//构建侧面
p.AddGeometry