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(图层);
复制代码

 

相关文章
|
5月前
|
Python Windows
Python基础教程(第3版)中文版 第18章 程序打包 (笔记)
Python基础教程(第3版)中文版 第18章 程序打包 (笔记)
|
数据可视化 项目管理 C++
|
6月前
|
移动开发 前端开发 IDE
前端知识笔记(三十四)———HBuilder的下载与使用(详细步骤)
前端知识笔记(三十四)———HBuilder的下载与使用(详细步骤)
205 0
|
存储 算法 iOS开发
ZPhotoBrowser (基于之前的那篇文章PhotoKit初用)
作为一个iOS开发人员,我已经不知不觉的在帝都这个地方上干了块两年了。前一阵,由于公司的发展方向的问题,我被迫加入了找工作的大军之中。这可把我担心坏了,因为我之前的一个同事找了好久都没有找到工作,之后他就选择回老家发展了。做过iOS这行的都知道现在是什么行情了,我就不多说了。不过还好我找了一周左右吧,面试不少。但是现在招人的公司,真的不知道要招什么样的开发人员,面试草草了事的偏多。还有就是自认为大牛的比较多,我记得我面了一家智能家居的科技公司。那个面试我的面试官,看了我做过的产品。就给我说了一句:“你就是个调接口和写TableView的啊。”这话听起来真的让人难受,用一句很流行的话说,那就是“
|
人工智能 JavaScript 前端开发
开发常用代码笔记
开发常用代码笔记
开发常用代码笔记
|
图形学 Android开发 iOS开发
Unity基础备忘(持续更新)
Unity基础备忘(持续更新)
156 0
Unity基础备忘(持续更新)
|
程序员 数据安全/隐私保护
OFFICE必学技巧开篇
OFFICE必学技巧开篇
135 0
Unity 3D学习心得,程序员开发心得分享!
Unity开发之路 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心分享、心...
1736 0