zoukankan      html  css  js  c++  java
  • 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(图层);
    版权声明:本文原创发表于 博客园,作者为 路过秋天 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。
    个人微信公众号
    创业QQ群:617713515
    Donation(扫码支持作者):支付宝:
    Donation(扫码支持作者):微信:
  • 相关阅读:
    SnagIt 9-12 注册码
    【工具推荐】LICEcap –GIF 屏幕录制工具
    linux笔记一(基础命令)
    C#性能优化:延迟初始化Lazy<T>
    CSS3实现漂亮ToolTips
    mysql数据库sql优化
    精简代码,为网站减负的十大建议
    10个简单步骤,完全理解SQL
    13个mysql数据库的实用SQL小技巧
    MyBatis源码解读(二)
  • 原文地址:https://www.cnblogs.com/cyq1162/p/1594425.html
Copyright © 2011-2022 走看看