zoukankan      html  css  js  c++  java
  • MapXtreme 中改变feature颜色

    1.C# code:
    MapInfo.Data.Table table = MapInfo.Engine.Session.Current.Catalog.OpenTable(@"C:\Program Files\MapInfo\MapXtreme2004\Maps\North America\usa.tab";
    this.mapControl1.Map.Load(new MapTableLoader(table));

    MapInfo.Data.SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchAll ();
    MapInfo.Data.IResultSetFeatureCollection irfc = MapInfo.Engine.Session.Current.Catalog.Search(table.Alias,si);
    MapInfo.Data.Feature ftr = irfc[0];

    MapInfo.Styles.SimpleInterior sis = new MapInfo.Styles.SimpleInterior(9,System.Drawing.Color.Purple );
    MapInfo.Styles.LineWidth lw = new MapInfo.Styles.LineWidth(3,MapInfo.Styles.LineWidthUnit.Point );
    MapInfo.Styles.SimpleLineStyle sl = new MapInfo.Styles.SimpleLineStyle (lw,3);
    MapInfo.Styles.AreaStyle ar = new MapInfo.Styles.AreaStyle (sl,sis);

    MapInfo.Styles.CompositeStyle cs = new MapInfo.Styles.CompositeStyle(ar);
    ftr.Style = cs;

    MapInfo.Data.MIConnection connection = new MapInfo.Data.MIConnection();
    connection.Open();

    MapInfo.Data.MICommand command = connection.CreateCommand();
    command.CommandText = "update " + ftr.Table.Alias + " set obj = @obj,MI_Style=@style where MI_Key = @MIKEY";
    command.Parameters.Add("@obj", ftr.Geometry );
    command.Parameters.Add("@MIKEY", ftr.Key);
    command.Parameters.Add("@style",cs);
    command.ExecuteNonQuery();

    command.Dispose();
    connection.Close();
    connection.Dispose();

    2.VB.NET code:
    Dim table As MapInfo.Data.Table = MapInfo.Engine.Session.Current.Catalog.OpenTable("C:\Program Files\MapInfo\MapXtreme2004\Maps\North America\usa.tab"
    Me.MapControl1.Map.Load(New MapTableLoader(table))

    Dim si As MapInfo.Data.SearchInfo = MapInfo.Data.SearchInfoFactory.SearchAll()
    Dim irfc As MapInfo.Data.IResultSetFeatureCollection = MapInfo.Engine.Session.Current.Catalog.Search(table.Alias, si)
    Dim ftr As MapInfo.Data.Feature = CType(irfc, MapInfo.Data.IDynamicFeatureCollection)(1)

    Dim sis As New MapInfo.Styles.SimpleInterior(9, System.Drawing.Color.Purple)
    Dim lw As New MapInfo.Styles.LineWidth(3, MapInfo.Styles.LineWidthUnit.Point)
    Dim sl As New MapInfo.Styles.SimpleLineStyle(lw, 3)
    Dim ar As New MapInfo.Styles.AreaStyle(sl, sis)

    Dim cs As New MapInfo.Styles.CompositeStyle(ar)
    ftr.Style = cs

    Dim connection As New MapInfo.Data.MIConnection
    connection.Open()

    Dim command As MapInfo.Data.MICommand = connection.CreateCommand()
    command.CommandText = "update " + ftr.Table.Alias + " set obj = @obj,MI_Style=@style where MI_Key = @MIKEY"
    command.Parameters.Add("@obj", ftr.Geometry)
    command.Parameters.Add("@MIKEY", ftr.Key)
    command.Parameters.Add("@style", cs)
    command.ExecuteNonQuery()

    command.Dispose()
    connection.Close()
    connection.Dispose()

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhangjie_xiaoke/archive/2008/11/07/3245075.aspx

  • 相关阅读:
    洛谷 P1337 [JSOI2004]平衡点 / 吊打XXX 解题报告
    牛客练习赛 小D的剑阵 解题报告
    牛客练习赛 小A与最大子段和 解题报告
    牛客练习赛 小D的Lemon 解题报告
    牛客练习赛 小A与任务 解题报告
    洛谷 P1452 Beauty Contest 解题报告
    洛谷 P4100 [HEOI2013]钙铁锌硒维生素 解题报告
    【模板】矩阵求逆
    洛谷 P4097 [HEOI2013]Segment 解题报告
    连接数据库的增删改查
  • 原文地址:https://www.cnblogs.com/googlegis/p/2979026.html
Copyright © 2011-2022 走看看