应用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();
    }
}

posted @ 2009-12-14 16:25  googlegis  阅读(150)  评论(0编辑  收藏  举报

坐标合肥,非典型GIS开发人员 GitHub