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

  • 相关阅读:
    Asp.net 动态添加Meta标签
    【转】在SharePoint Server 2010中更改“我的网站”
    SPQuery DateTime 类型查询
    Asp.net Web Application 打开 SharePoint 2010 Site 错误 The Web application at could not be found
    How To Create SharePoint 2010 Site Collection In Its Own DB
    C# 文件打印
    面试题 java集合
    《深入理解Java虚拟机》(六)堆内存使用分析,垃圾收集器 GC 日志解读
    《深入理解Java虚拟机》(五)JVM调优
    《深入理解Java虚拟机》(四)虚拟机性能监控与故障处理工具
  • 原文地址:https://www.cnblogs.com/googlegis/p/2979026.html
Copyright © 2011-2022 走看看