阅读:1267回复:0
MapXtreme 2005学习(3):向图层中添加线段
<br>向图层中添加线段和向图层中添加点是一样的,其本质都是向图层中添加一个图元,只是属于不同类型的图元。并且点和线段是可以在一个图存上共存的。代码示例如下:</p>
<p><font face="Verdana"> /// <summary><br> /// 向图层中添加线段<br> /// Design by Glacier<br> /// 2008年8月6日<br> /// <param name="tempLayerTableName">表名</param><br> /// <param name="tempLayerName">图层名</param><br> /// <param name="startPoint">线段起点坐标</param><br> /// <param name="endPoint">线段终点坐标</param><br> /// </summary><br> public static void AddPointToLayer(string tempLayerTableName, string tempLayerName, DPoint startPoint, DPoint endPoint)<br> {<br> MapInfo.Mapping.Map myMap = MapInfo.Engine.Session.Current.MapFactory[MapControl1.MapAlias];</font></p> <p><font face="Verdana"> //获取图层和表<br> FeatureLayer workLayer = (MapInfo.Mapping.FeatureLayer)myMap.Layers[tempLayerName];<br> MapInfo.Data.Table tblTemp = MapInfo.Engine.Session.Current.Catalog.GetTable(tempLayerTableName);</font></p> <p><font face="Verdana"> //创建线图元及其样式<br> FeatureGeometry pgLine = MultiCurve.CreateLine(workLayer.CoordSys, startPoint, endPoint);<br> MapInfo.Styles.SimpleLineStyle slsLine = new MapInfo.Styles.SimpleLineStyle(new LineWidth(3, LineWidthUnit.Pixel), 2, System.Drawing.Color.OrangeRed);<br> MapInfo.Styles.CompositeStyle csLine = new MapInfo.Styles.CompositeStyle(slsLine);<br> MapInfo.Data.Feature ptLine = new MapInfo.Data.Feature(tblTemp.TableInfo.Columns);<br> ptPoint.Geometry = pgLine;<br> ptPoint.Style = csLine;<br> <br> //将线图元加入图层<br> workLayer.Table.InsertFeature(ptLine);<br> }</font></p> |
|
|