• 从MapX到MapXtreme2004[2]-图层操作


    Mapx中基本的图层操作还是比较简单的,集中在对Layers和Layer的处理上,对别的没有太多要求。

      在MapXtreme中,要完成类似功能,发生了一点变化,如下:
      1、图层的显示
      在MapXtreme中,图层的显示控制发生了奇怪的变化,有一个IsVisible属性,但它是只读的,不能通过它来改变图层的显示。要控制图层的显示与隐藏,可以通过设置Layer.Enable来控制。
      2、图层的动态添加
      代码如下:
            Catalog _catalog=MapInfo.Engine.Session.Current.Catalog;
            MapInfo.Data.Table _tempTable=null;
            Map _map=MapControl1.Map ;   

            TableInfo ti = TableInfoFactory.CreateTemp("临时"); 
            _tempTable = _catalog.CreateTable(ti);
            _map.Layers.Insert(0, new FeatureLayer(_tempTable));

      可以看出:加图层实际就是加表;Catalog对象统管表的加载以及列举;
      查帮助还可以了解:表信息其实还可以包括表的类型和坐标系。类型是指原生表,文本,access ...
      上面的ti也可以这样取得,但是,上面的表默认是MeMTab,应该是内存中的吧。

            CoordSys cs=_map.GetDisplayCoordSys();
            TableInfo ti = TableInfoFactory.CreateTemp("临时",MapInfo.Data.TableType.Native,cs);

      以上只能算是学习心得,肯定错误百出,但总比什么都没有强,至少能够提供一个思路。至于表如何保存,Mapx中的动画层和标签层在MapxTreme中如何对应,因为暂时不急用,先放着。

            4、根据名称打开图层
                MapInfo.Engine.Session.Current.Catalog.GetTable(TableName)

  • 相关阅读:
    Asp.Net Core 项目从 1.0.1 升级到 1.1.0 的小补丁
    C# 正则表达式小坑 -- not enough
    RK 61 键盘 Ubuntu 下键位映射修改方案
    编程急转弯
    ASP.NET Core 使用 AutoFac 注入 DbContext
    分享一个微软风格的博客园主题
    EntityFramework Core 学习笔记 —— 添加主键约束
    NYOJ 69 数的长度(数学)
    NYOJ 67 三角形面积(线代,数学)
    NYOJ 66 分数拆分
  • 原文地址:https://www.cnblogs.com/jetz/p/196777.html
Copyright © 2020-2023  润新知