Feature相关程序:创建一个feature并加载到地图中
2015-06-11 12:01:54 访问(1447) 赞(0) 踩(0)
public static void MapInfo_Mapping_HowDoICreateFeatureAddToMap(MapControl mapControl1, MIConnection connection, double x, double y) {
Map map = mapControl1.Map;
//使用wldcty25作为一个模板
Table table = MapInfo.Engine.Session.Current.Catalog.GetTable("wldcty25");
//创建一个临时表并添加一个featurelayer
CoordSys coordSys = map.GetDisplayCoordSys();
TableInfoMemTable tableInfo = new TableInfoMemTable("temp");
tableInfo.Temporary = true;
// 添加一个 geometry column
Column column;
column = new GeometryColumn(coordSys);
column.Alias = "MI_Geometry";
column.DataType = MIDbType.FeatureGeometry;
tableInfo.Columns.Add(column);
// 添加样式 column
column = new Column();
column.Alias = "MI_Style";
column.DataType = MIDbType.Style;
tableInfo.Columns.Add(column);
Table pointTable = Session.Current.Catalog.CreateTable(tableInfo);
// 设置location并显示点
FeatureGeometry geometry = new MapInfo.Geometry.Point(coordSys, x, y);
SimpleVectorPointStyle vStyle = new SimpleVectorPointStyle
(37, System.Drawing.Color.Red, 14); //矢量mapinfo符号
CompositeStyle cStyle = new MapInfo.Styles.CompositeStyle(vStyle);
//更新
MICommand cmd = connection.CreateCommand();
cmd.Parameters.Add("geometry", MIDbType.FeatureGeometry);
cmd.Parameters.Add("style", MIDbType.Style);
cmd.CommandText = "Insert Into temp (MI_Geometry,MI_Style) values (geometry,style)";
cmd.Prepare();
cmd.Parameters[0].Value = geometry;
cmd.Parameters[1].Value = cStyle;
int nchanged = cmd.ExecuteNonQuery();
cmd.Dispose();
//把表加载到地图
map.Layers.Add(new MapInfo.Mapping.FeatureLayer(pointTable));
标签:
Feature相关程序:创建一个feature并加载到地图中 


上一条:
下一条:
相关评论
发表评论