总的来说MapXteme比MapX强悍得多,使用上麻烦得多,很多地方变化之大,相当于从头学起。

先总结一下,免得久了不看又忘了。

一、图元

MapXtreme中叫几何,图元对应表中的一行,用CreateFeatureGeometryColumn创建几何字段,CreateStyleColumn创建样式字段,早期版本字段名长度有限制

图元的选中情况MapInfo.Engine.Session.Current.Selections.DefaultSelection

点:Point,MultiPoint

线:MultiCurve

多边形:Polygon,MutiPolygon

二、样式

MapXtreme的样式老复杂了,例如区域样式是由边线加填充样式组成,组合方式很多,灵活倒是灵活,2005 v6.7及以上版本还可以抗锯齿、半透明

点样式:简单向量点SimpleVectorPointStyle、字体点FontPointStyle、图片BitmapPointStyle,

线样式:SimpleLineStyle

面样式:AreaStyle

二、图层

MapX下图层是图元的集合,即Layer下是Features,可以给图层添加多个字段,不过字段一多效率极低

MapXtreme中将图层变成了二维表,而且需要用MapInfo.Engine.Session.Current.Catalog来遍历(添加或获取),图层有两个名字一是图层名,二是别名(表名),别名是唯一区别图层的。

1、图层的显示

在MapXtreme中,用IsVisible查看图层显示状态。用Layer.Enable来设置显示状态。

2、图层的添加

代码如下(C#):

Catalog _catalog = MapInfo.Engine.Session.Current.Catalog;
MapInfo.Data.Table _tempTable = null;
Map _map = MapControl1.Map ;
//默认为内存表,永久表应使用参数MapInfo.Data.TableType.Native
TableInfo ti = TableInfoFactory.CreateTemp("临时");
//创建geometry列
ti.Columns.Add(MapInfo.Data.ColumnFactory.CreateFeatureGeometryColumn("Obj", CoordSys));
//创建MI_Style列
ti.Columns.Add(MapInfo.Data.ColumnFactory.CreateStyleColumn());
//向表信息中添加自定义字段
ti.Columns.Add(MapInfo.Data.ColumnFactory.CreateIntColumn("Index"));
ti.Columns.Add(MapInfo.Data.ColumnFactory.CreateStringColumn("Name", 50));
//永久表需设置文件的全路径,Temporary = false
ti.TablePath = tlbFilePath;
ti.Temporary = false;
_tempTable = _catalog.CreateTable(ti);
_map.Layers.Insert(0, new FeatureLayer(_tempTable));

三、搜索图元

在MapX下搜索图元用layer.searchXXX方法来实现

在MapXtreme下,用Find对象进行搜索,先通过图层表别名取到表,再生成查询条件,最后通常Catalog.SearchXXX来实现

var sif = MapInfo.Data.SearchInfoFactory.SearchWhere(sqlWhere);//SQL的条件,例如:a = 1 or b = '123'
            var ftrs = MapInfo.Engine.Session.Current.Catalog.Search(table, sif);

若没有条件字段(唯一的信息存到图元的标签里了),就只能遍历表,再取图元几何的Caption了

((MapInfo.Geometry.LegacyText)feature.Geometry).Caption 

四、标注

MapX下用Layer.Autolabel

MapXtreme就麻烦了,标注必须跟图层的表关联,做为标注的数据源,然后设上标注的表达式

Table table = MapInfo.Engine.Session.Current.Catalog.GetTable("图层表别名");
LabelLayer layer = new LabelLayer();
map.Layers.Add(layer);
LabelSource source = new LabelSource(table);
source.DefaultLabelProperties.Caption = "KEY_NAME";//标注表达式
layer.Sources.Append(source);

五、图层分组

MapX下好像没有这个功能,MapXtreme下反正是有,还可以覆盖样式图层,挺牛,不过遍历时要递归

六、专题图

MapXtreme在专题图方面比MapX强大了很多,而且很灵活,图层就是表,多个表不就是一个数据库了么,所以,什么关联查询啊都很容易实现,有木有。

还没学习完,以后再补上。

从MapX到MapXtreme相关推荐

  1. MapX和MapXtreme区别

    2005年5月,MapInfo发布了新产品Mapinfo MapXtreme 2004 6.2 版.MapXtreme 2004是MapInfo为了支持Microsoft的 Windows.NET框架 ...

  2. MapXtreme 简单了解

    MapXtreme也是MapInfo公司的产品,所以使用的地图和MapX相同,但是差别还是很大的,MapXtreme基于面向对象,由一系列基类和 其继承类组成了现在的MapXtreme:MapX则没有 ...

  3. mapXtreme for .net

    在mapxtreme FOR .NET 版本中,怎样选择某一层上的图元,并返回其.. FOR .NET 版本中,怎样选择某一层上的图元,并返回其中的一些列的值(比如 等级: 信誉值: 100 所属论坛 ...

  4. 空间数据库之矢量数据上载方法

    转载自:http://publishblog.blogchina.com/blog/tb.b?diaryID=5349656 摘  要:采用Oracle Spatial 存储.管理空间数据,易于解决数 ...

  5. Oracle Spatial中上载GIS空间数据方法研究

    Oracle Spatial中上载GIS空间数据方法研究 作者:佚名    文章来源:博客中国    点击数:6873    更新时间:2006-8-24 摘要:采用Oracle Spatial 存储 ...

  6. Winform下的地图开发控件(GMap.NET)使用心得

    原文地址为: Winform下的地图开发控件(GMap.NET)使用心得 我们先看看GMap.NET的定义: GMap.NET是一个强大.免费.跨平台.开源的.NET控件,它在Windows Form ...

  7. 地理信息系统比较牛的网站(原创)---之可以丰富你的GIS知识

    1.http://bbs.esrichina-bj.cn/     不用多说吧 2.http://www.gisempire.com/bbs/ 这个网站是中国图强地理信息有限公司2003年主办的GIS ...

  8. MapInfo2007年用户大会参会记录

    昨天去北五环五洲皇冠参加了MapInfo2007年用户大会,从大会规模上感觉MapInfo公司的规模比起ESRI级别的巨牛公司要小不少.但MapInfo刚被收购,也重新调整了市场策略,应该有较大的增长 ...

  9. mapxtreme开发资料全集

    为单值主题图创建自定义标注 http://www.gisdn.net/forum.php?mod=viewthread&tid=295&fromuid=3 创建有范围的主题图 http ...

最新文章

  1. 博士毕业去哪了?光鲜亮丽的高校教师工资了解下!
  2. bootstrap菜单展开收起_菜单展开及收缩效果 bootstrap+jquery
  3. 转载自搜狐科技【技术那些事儿】LTE网络中的用户数据库HSS与传统2G/3G的HLR有何区别?能否融合组网?...
  4. erlang四种启动监控策略
  5. [USACO1.3]混合牛奶 Mixing Milk
  6. 介绍一个统计各个网站访问时长的Chrome扩展 - Rooster
  7. 约束流–没有Drools规则语言的现代Java约束
  8. c语言 字符串分隔,c语言字符串分割–strtok | 逗号分隔-huangea的博客
  9. ba控制系统的服务器,01-正文
  10. mfc-PlaySound
  11. 【毕设】ASP.net校友录毕业设计(源代码+论文+开题报告+答辩PPT)
  12. [转]模块化——Common规范及Node模块实现
  13. java 封闭类型_java – 如何获取封闭类?
  14. php mysql 嵌套查询_MYSQL数据库MySQL嵌套查询实例详解
  15. Ubuntu20.04安装有道词典 + 卸载
  16. python抓取网易云音乐评论_如何爬取网易云音乐评论?
  17. Unity使用VS2019打开代码出现不兼容的解决方法
  18. Coverage Path Planning(区域覆盖)
  19. Keil 编译器AC6中的LLVM编译原理
  20. figcaption标签css,[HTML]正确使用Figure和Figcaption标签(译)_html/css_WEB-ITnose

热门文章

  1. BUUCTF VoIP
  2. MATLAB演示元胞自动机算法
  3. java怎么连接sql_java怎么连接SQL Server
  4. 触发器的使用,通过这个案例让你完全掌握
  5. 英语单词词性顺口溜_英语词性修饰关系顺口溜
  6. 计算机体系结构——1.1 计算机体系结构的概念与发展
  7. NetBIOS 漏洞的入侵与防御
  8. 免费的期刊论文文献检索网站(收集整理)
  9. C语言简单的双人小游戏
  10. javaSE-String,StringBuffer和StringBuilder