Map map=MapControl1.Map;
MapInfo.Data.Table table=MapInfo.Engine.Session.Current.Catalog.GetTable(@"E:/orc/秦皇岛(新)/村名汉字标注.tab");//使用表做为一个temp表
//
// table.SessionInfo.ReadOnly=true;
MapInfo.Geometry.CoordSys coordsys=map.GetDisplayCoordSys();
TableInfoMemTable tableInfo=new TableInfoMemTable("temp");//为它创建一个temp表和Feature层
tableInfo.Temporary=true;
Column column ;//添加Geometry投影列
column=new GeometryColumn(coordsys);//列对象的特殊coordsys
column.Alias="MI_Geometry";
column.DataType=MIDbType.FeatureGeometry;
tableInfo.Columns.Add(column);
column=new Column();//添加样式列
column.Alias="MI_Style";
column.DataType=MIDbType.Style;
在这里是设置这个栏位的数据类型,设置不同的数据类型主要是为图形的显示时用的。这里还包括
一般的数据库类型,和地图操作方面的数据类型:coordsys,grid,raster 等
tableInfo.Columns.Add(column);
MapInfo.Data.Table pointTable=MapInfo.Engine.Session.Current.Catalog.CreateTable(tableInfo);
MapInfo.Geometry.FeatureGeometry geometry=new MapInfo.Geometry.Point(coordsys,X,Y);//设置点显示的位置和样式
SimpleVectorPointStyle vStyle=new SimpleVectorPointStyle(37,System.Drawing.Color.Red,14);
CompositeStyle cStyle=new MapInfo.Styles.CompositeStyle(vStyle);
MapInfo.Data.MIConnection con=new MIConnection();//用新Feature的位置和样式更新表
con.Open();
MICommand cmd=con.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;
cmd.ExecuteNonQuery();
// dr.Close();
MapInfo.Mapping.FeatureLayer lyr=new FeatureLayer(pointTable);
map.Layers.Insert(0,lyr) ;
cmd.Dispose();
// map.Layers.Add(new MapInfo.Mapping.FeatureLayer(pointTable));//添加表到map