您的位置:首页 > 其它

初探GIS Mapxtreme 根据数据集合 DataSet/DataTable 添加点

2011-06-16 22:24 561 查看
根据查询获得的dataset数据集合,添加集合中点信息,包括点的样式:


 


注:  其中要说明的是mapxtreme中样式列的类型,


 


我在数据库“点表”中添加了一个样式列为string类型,


 


在内部存在的字符为:Symbol(34,16711680,9):


 


Symbol(shape, color, size)----------------------------------Symbol(35,0,12)


Symbol(shape,color,size,font,fontstyle,rotation)------------Symbol(64,255,12,"MapInfo Weather",17,0)


Symbol(bitmapname,color,size,customstyle)----------------Symbol("sign.bmp", 255, 18, 0)


此例仅适宜添加点集合。


 


1  public void AddPoint(DataSet fds,Map map)


//此处dataset在下面转化成datatble


2  {


3      MapInfo.Geometry.CoordSysFactory coordSysFactory = new MapInfo.Geometry.CoordSysFactory();


4      // MapInfo.Geometry.CoordSys coordSys = coordSysFactory.CreateLongLat(MapInfo.Geometry.DatumID.NAD83);


5      MapInfo.Data.SpatialSchemaXY xy = new MapInfo.Data.SpatialSchemaXY();


6      xy.XColumn = "fx";


7      xy.YColumn = "fy";


8      xy.DefaultStyle = new MapInfo.Styles.SimpleVectorPointStyle(); //此处先写,如果写在后面则会将设置更改为默认黑色五角星


9      xy.StyleColumn = "MI_Style";  //样式列名


10      xy.StyleType = StyleType.MapBasicString; //这里必须StyleType.MapBasicString属性,如果是None 设置默认的样式


11      //xy.CoordSys = coordSys;


12      xy.NullPoint = "0.0, 0.0";


13      xy.CoordSys = Session.Current.CoordSysFactory.CreateFromPrjString("1, 0"); ;


14      MapInfo.Data.TableInfoAdoNet ti = new MapInfo.Data.TableInfoAdoNet("aaaa", fds.Tables[0]);


15     ti.SpatialSchema = xy;


16      MapInfo.Data.Table table = MapInfo.Engine.Session.Current.Catalog.CreateTable(ti);


17      MapInfo.Mapping.FeatureLayer lyr = new MapInfo.Mapping.FeatureLayer(table);


18     map.Layers.Add(lyr);


19    }


 


重点:mapinfo提供了MapInfo.Data.TableInfoAdoNet类库。


 


通过初始化数据集合将datatble类型数据转化为tableinfo基类型。


.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐