• 应用MapXtreme2004开发GIS代码(C#) 搜索TAB表中的元素


    A:
    MapXtreme2004代码 读取TAB表中的元素
    例如,用记事本打开要访问的TAB文件“农安.tab”,可以看到下面内容:
    !table
    !version 300
    !charset WindowsSimpChinese
    Definition Table
    Type NATIVE Charset "WindowsSimpChinese"
    Fields 2
       地理码 Char (10) Index 1 ;
    名称 Char (10) ;
    下面我们就来读取该表的所有“名称”元素。并将其加入到DropDownList控件中。

    private static string _findLayerName = "农安";
    private static string _findColumnName = "名称";
    MapInfo.Data.Table table=MapInfo.Engine.Session.Current.Catalog.GetTable(_findLayerName);
    if(table!=null)
    {
        MIDataReader tr;
        MIConnection con=new MIConnection();
        MICommand tc=con.CreateCommand();
        tc.CommandText="select "+_findColumnName+" from "+_findLayerName;
        con.Open();
        tr=tc.ExecuteReader();
        while (tr.Read())
        {
            DropDownList1.Items.Add(tr.GetString(0));
        }
        tc.Cancel();
        tc.Dispose();
        tr.Close();
        con.Close();
    }

    B:
    应用MapXtreme2004开发GIS代码(C#) 搜索TAB表中的元素
    注:本贴跟上面帖子“MapXtreme2004代码 读取TAB表中的元素”

    private void FindYuansu()
    {
        Find find = null;
        try
        {
            MapInfo.Mapping.Map map = null;
            //获取地图
            if (MapInfo.Engine.Session.Current.MapFactory.Count == 0 ||
                 (map = MapInfo.Engine.Session.Current.MapFactory[0]) == null)
            {
                 return;
            }
            //开始搜索
            MapInfo.Mapping.FeatureLayer findLayer = (MapInfo.Mapping.FeatureLayer) map.Layers[_findLayerName];
            find = new Find(findLayer.Table, findLayer.Table.TableInfo.Columns[_findColumnName]);
            FindResult result = find.Search(DropDownList1.SelectedItem.Text);
            if (result.ExactMatch)
            {
                 //重新设置地图
                 map.Center = new DPoint(result.FoundPoint.X, result.FoundPoint.Y);
                 MapInfo.Geometry.Distance d = new MapInfo.Geometry.Distance(30, map.Zoom.Unit);
                 map.Zoom = d;
            }
            else
            {
                 Response.Write("没有搜索到!");
            }
            find.Dispose();
        }
        catch (Exception)
        {
            if (find != null) find.Dispose();
        }
    }

  • 相关阅读:
    CodeForces 404C Ivan and Powers of Two
    CodeForces 433C Ryouko's Memory Note-暴力
    if not
    python3的print函数
    交叉熵
    tensorflow一个很好的博客
    关于第几维的问题
    更新软件
    tensorflow训练代码
    tensorflow的一些函数
  • 原文地址:https://www.cnblogs.com/googlegis/p/2978968.html
Copyright © 2020-2023  润新知