初探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; }
相关文章推荐
- 初探GIS Mapxtreme 根据数据集合 DataSet/DataTable 添加点
- 初探GIS Mapxtreme 根据数据集合 DataSet/DataTable 添加点(原创)
- 写一个数据集DataSet---ds,向其中添加一个数据表DataTable ---dt,并创建该表的列和行。然后将本本表作为数据源绑定到GradView中。
- 在网页中添加一个GradView,一个Button,一点button将MyStudents表中的数据显示在GradView中(DataSet,DataTable,List(选作))
- WCF分布式开发步步为赢(8):使用数据集(DataSet)、数据表(DataTable)、集合(Collection)传递数据
- 11-28 自己写一个数据集DataSet---ds,向其中添加一个数据表DataTable ---dt,并创建该表的列和行。然后将本本表作为数据源绑定到GradView中。
- WCF使用数据集(DataSet)、数据表(DataTable)、集合(Collection)传递数据 (转)
- Gridview的数据源可为dataview,dataset,datatable,list 等,只要符合Ilist 结口的数据集合.
- Gridview的数据源可为dataview,dataset,datatable,list 等,只要符合Ilist 结口的数据集合.
- DataSet用法一:添加代码创建的表DataTable,设置主键外键,读取及修改DataSet表中数据
- WCF分布式开发步步为赢(8):使用数据集(DataSet)、数据表(DataTable)、集合(Collection)传递数据
- 初探GIS Mapxtreme 添加点 层 线
- 初探GIS Mapxtreme 添加自定义图元 bmp
- WCF分布式开发步步为赢(8):使用数据集(DataSet)、数据表(DataTable)、集合(Collection)传递数据
- WCF分布式开发步步为赢(8):使用数据集(DataSet)、数据表(DataTable)、集合(Collection)传递数据
- WCF分布式开发步步为赢(8):使用数据集(DataSet)、数据表(DataTable)、集合(Collection)传递数据
- 利用DataSet、DataTable、DataView按照自定义条件过滤数据
- 将泛型集合类(List<T>)转换成DataTable,返回的DataTable所有列的数据类型为string型,且列顺序与字符串提供的字段顺序一致
- 将datatable和dataset中的数据转为json数据 与反转
- 《从LRS项目重构来看“数据类型”——(第一话)DataTable转换泛型集合出现的类型冲突》