应用MapXtreme2004开发GIS代码(C#) 搜索TAB表中的元素
2009-12-14 16:25
471 查看
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();
}
}
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();
}
}
相关文章推荐
- 应用MapXtreme2004开发GIS代码(C#) 搜索TAB表中的元素
- 应用MapXtreme2004开发GIS代码(C#) 搜索TAB表中的元素
- MapXtreme2004代码 读取TAB表中的元素
- MapXtreme2004代码 读取TAB表中的元素
- MapXtreme2004代码 读取TAB表中的元素
- C#使用Xamarin开发可移植移动应用进阶篇(9.混淆代码,防止反编译)
- 一行代码不用敲,15分钟轻松搞定GIS开发,GISer福音,教你如何从下载到使用webappbuilder创建第一个应用程
- 支持.NET环境的GIS开发工具MapXtreme2004
- MapXtreme2004代码 搜索特定图元并将其显示到地图上
- MapXtreme2004代码 搜索特定图元并将其显示到地图上
- C#开发GIS应用简明教程(一)
- ArcObjects GIS应用开发——基于C#.NET--PDF下载
- Xamarin ios C#苹果应用开发第二讲配置环境和编写代码
- [资源共享]C#+AE构建GIS桌面端应用系统框架-全代码
- C#开发GIS应用简明教程(三)
- [资源共享]C#+AE构建GIS桌面端应用系统框架-全代码
- C#使用Xamarin开发可移植移动应用进阶篇(9.混淆代码,防止反编译)
- C#开发GIS应用简明教程(二)
- Xamarin ios C#苹果应用开发第二讲配置环境和编写代码
- MapXtreme2004代码 搜索指定点的最近图元(SearchNearst)