MapXtreme 2005 学习心得 相关代码知识(三)

简介:

在看代码之前,先来了解下简单的代码知识:

1.MapFactory[索引或地图别名]

简单理解为存放地图的容器,要地图就来这里取

相关代码:MapInfo.Mapping.Map myMap = MapInfo.Engine.Session.Current.MapFactory[索引或地图别名];

 

2.Map:地图

里面有很多东西,比如坐标体系,很多张图层(Layers),还多个图元(Legends);

相关代码:取图层,myMap.Layers[图层名];取图元,myMap.Legends[图元名]

 

3.FeatureLayer

图层,Layer的一种,和ps图片一样,一个图层里可以放很多个点,对应一张数据表

相关代码:FeatureLayer feaLayer=(MapInfo.Mapping.FeatureLayer)myMap.Layers[图层名];

 

4.TableInfo

复制代码
表信息,包括表名,和列的添加都在这里,可以通过信息,创建一个Table,只是有两个列,是必备的

一个是Geometry列:存放的图型类别,如:是点,还是线,还是其它,(坐标在创建点或线的时候就有写在里面了)

一个是Style列,存放的是图形类别的样式,如:点的颜色,点的形状。线的宽度之类的

其它的列,就自己根据需要了创建了
复制代码

 

5.Table

复制代码
数据表,对应一个图层。可以放很多行,和常见的表一样,

相关代码:

创建表:Table table= MapInfo.Engine.Session.Current.Catalog.CreateTable(TableInfo);

获取表:Table table= MapInfo.Engine.Session.Current.Catalog.GetTable(表名);

也可通过图层来取,如果已先关联的话了:

FeatureLayer feaLayer=(MapInfo.Mapping.FeatureLayer)myMap.Layers[图层名];

Table table=feaLayer.Table;
复制代码

 

6.Catalog

简单说就是类似一个DataSet的东西,里面可以放很多的表

相关代码:MapInfo.Data.Table tb= MapInfo.Engine.Session.Current.Catalog.GetTable(表名);

 

7.Feature

可以放进图层里的东西,简单的说是应数据的行,行是列组成的,所以实例化是需要传进表格的列

相关代码:MapInfo.Data.Feature point = new MapInfo.Data.Feature(table.TableInfo.Columns);

把Feature放进Layer里:Table.InsertFeature(point ) ;

 

--------------------------------------------------------

相关的联想如下:

FeatureLayerFeature

FeatureLayer是一个层,而Feature只是层上面的一个点(一点就一行数据),或一条线之类的

行是由列组成的,所以创建行时,构造函数要传入列集合:

MapInfo.Data.Feature ptPoint = new MapInfo.Data.Feature(table.TableInfo.Columns);

 

数据层面

有一个Feature行,行就只能放入表Table,表又放Catalog里

所以行添加就Table.InsertFeature(行);

 

地图层面

复制代码
有一个FeatureLayer图层,点要放入图层集Layers里,图层要放入Map里,Map又放入MapFactory里

图层关联Table,Table 有很多行数据.所以就有可能有很多点(一行数据一个点),可能有很多线(一行数据一条线)

把图层放入图层集里就是Layers.Add(图层);

把图层集属于地图,所以才有Map.Layers.Add(图层);
复制代码

 

相关文章
|
设计模式 存储 JSON
如何写出一手好代码(上篇 - 理论储备)?
技术能力是研发同学的立身之本,而写代码的能力又是技术能力的重要体现。但可惜的是理想很丰满,现实很骨感。结合慕枫自己的经验来看,我们在工作中其实没那么容易可以看到写得很好的代码。
|
人工智能 程序员 vr&ar
竟有程序员40了还在撸代码?
竟有程序员40了还在撸代码?
164 2
|
弹性计算 小程序 程序员
学习心得
阿里云ECS的 Windows Server 2012 R2 使用体验MIS21103 胡锦龙(Noah)自我情况
小张的学习心得
我是河南牧业经济学院软件技术专业一名大二的在校生。大二的选修课我选的是软件设计,软件开发,软件技术。由于开学的时候要学习“互联产品运维测试”这门课程,老师让我们先学习云服务的使用,但苦于没有平台。这个云服务器真是雪中送碳,随着云服务器的使用越来越普遍,云服务器无需硬件设施及机房,兼具优质扩容能力。真的太太太太太给力了。
9.25学习心得
9.25学习心得
263 0
|
C语言 C++
我的C++学习心得
第一段:自我介绍 第二、三、四段:使用云服务器学习C++的过程 第五、六段:学习时的感受和对未来的规划

热门文章

最新文章

相关实验场景

更多