`
hj270187161
  • 浏览: 21480 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mapInfo表操作,mapXtreme2008 VS c#

    博客分类:
  • GIS
 
阅读更多
查询oracle数据表

建立临时表存储筛选后的数据

建立专题图

private void OpenOrclTab(string tabname)
        {
            try
            {
                TableInfoServer ti = new TableInfoServer(tabname);
                ti.ConnectString = mapconstr;
                ti.Query = "Select * From " + tabname;
                ti.Toolkit = ServerToolkit.Oci;
                ti.CacheSettings.CacheType = CacheOption.Off;
                Table tbl = connection.Catalog.OpenTable(ti);
                FeatureLayer MyLayer = new FeatureLayer(tbl);
                int wz = MainMap.Map.Layers.Add(MyLayer);
                //MainMap.Map.Layers.Insert(0, MyLayer);

             

               
                //据管理公司不同渲染专题图
                if ("MANAGEAREA".Equals(tabname))
                {
                    //hj
                    MapInfo.Data.TableInfoMemTable tb2 = new MapInfo.Data.TableInfoMemTable("tempTable");//构建新的内存表pathTable
                    //复制表结构
                    TableInfo tInfo = MyLayer.Table.TableInfo;
                    int count = tInfo.Columns.Count;

                    //CODE Decimal (14, 0) ;
                    //ALIAS Char (128) ;
                    //MANAGER_ID Decimal (14, 0) ;
                    //MANAGE Char (50) ;
                    //MODI Char (50) ;
                    // MI_PRINX Decimal (12, 0) ;

                    tb2.Columns.Add(MapInfo.Data.ColumnFactory.CreateDecimalColumn(tInfo.Columns[0].ToString(), 14, 0));
                    tb2.Columns.Add(MapInfo.Data.ColumnFactory.CreateStringColumn(tInfo.Columns[1].ToString(), 128));
                    tb2.Columns.Add(MapInfo.Data.ColumnFactory.CreateDecimalColumn(tInfo.Columns[2].ToString(), 14, 0));
                    tb2.Columns.Add(MapInfo.Data.ColumnFactory.CreateStringColumn(tInfo.Columns[3].ToString(), 50));
                    tb2.Columns.Add(MapInfo.Data.ColumnFactory.CreateStringColumn(tInfo.Columns[4].ToString(), 50));
                    //style
                    tb2.Columns.Add(MapInfo.Data.ColumnFactory.CreateStyleColumn());
                    //id
                    tb2.Columns.Add(MapInfo.Data.ColumnFactory.CreateDecimalColumn(tInfo.Columns[6].ToString(), 12, 0));
                    //geo
                    tb2.Columns.Add(MapInfo.Data.ColumnFactory.CreateFeatureGeometryColumn(tInfo.Columns[7].ToString(), MyLayer.Map.GetDisplayCoordSys()));
                    MapInfo.Data.Table table = MapInfo.Engine.Session.Current.Catalog.CreateTable(tb2);




                    MIDataReader mr = MyLayer.Table.ExecuteReader();
                    int i, n = mr.FieldCount;
                    while (mr.Read())
                    {
                        object o = mr.GetValue(3);
                        if (o.ToString().Equals(DBConnection.key))
                        {
                            table.InsertFeature(mr.Current);
                        }
                        else
                        {
                        }
                    }
                    FeatureLayer newMyLayer = new FeatureLayer(table);
                    wz = MainMap.Map.Layers.Add(newMyLayer);
                    mr.Close();
                    IndividualValueTheme thm = new IndividualValueTheme(newMyLayer, "MANAGE", "管理单位");
                    // thm.ModelStyle.AreaStyle;

                    // Add the theme to the FeatureStyleModifiers list
                    newMyLayer.Modifiers.Append(thm);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics