在MapXtreme 2005中,查找图元提供了非常多的方法,也非常容易实现,这里总结了三种方法。
(1)Search方法是非常强大的,可以实现几乎所有的查找,这也是最常用的查找方式。示例代码如下:
复制内容到剪贴板
代码:
/**//// <summary>
/// 通过Search方法查找图元
/// Design by Glacier
/// 2008年8月6日
/// <param name="tableName">查找的表名</param>
/// <param name="columnName">查找的列名</param>
/// <param name="strKey">查找的关键字</param>
/// </summary>
public static void SearchWithSearch(string tableName, string columnName, string strKey)
{
MapInfo.Mapping.Map map = MapInfo.Engine.Session.Current.MapFactory[MapControl1.MapAlias];
SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchWhere(columnName + " like '%" + strKey + "%'");
IResultSetFeatureCollection ifs = MapInfo.Engine.Session.Current.Catalog.Search(tableName, si);
MapInfo.Engine.Session.Current.Selections.DefaultSelection.Clear();
if (ifs.Count <= 0)
{
lbSearch.Text = "Cannot find the point";
}
else
{
//高亮显示
MapInfo.Engine.Session.Current.Selections.DefaultSelection.Add(ifs);
lbSearch.Text = "";
if (ifs.Count == 1)
{
map.Center = new DPoint(ifs[0].Geometry.Centroid.x, ifs[0].Geometry.Centroid.y);
MapInfo.Geometry.Distance d = new MapInfo.Geometry.Distance(0.5, map.Zoom.Unit);
}
else
{
map.SetView(ifs.Envelope);
}
//设置高亮显示的样式
//((SimpleInterior)MapInfo.Engine.Session.Current.Selections.DefaultSelection.Style.AreaStyle.Interior).BackColor = System.Drawing.Color.Red;
//((SimpleInterior)MapInfo.Engine.Session.Current.Selections.DefaultSelection.Style.AreaStyle.Interior).ForeColor = System.Drawing.Color.Green;
//输出查询信息
ListBox1.Items.Clear();
foreach (Feature feature in ifs)
{
ListBox1.Items.Add(feature["name"].ToString());
}
}
}
(2)通过构造Find对象,进行查找。示例代码如下:
复制内容到剪贴板
代码:
/**//// <summary>
/// 通过Find查找图元
/// Design by Glacier
/// 2008年8月6日
/// <param name="layerName">查找的图层名</param>
/// <param name="columnName">查找的列名</param>
/// <param name="strKey">查找的关键字</param>
/// </summary>
public static void SearchWithFind(string layerName, string columnName, string strKey)
{
Find find = null;
MapInfo.Mapping.Map map = MapInfo.Engine.Session.Current.MapFactory[MapControl1.MapAlias];
// Do the find
MapInfo.Mapping.FeatureLayer findLayer = (MapInfo.Mapping.FeatureLayer)map.Layers[PointLayerName];
find = new Find(findLayer.Table, findLayer.Table.TableInfo.Columns[columnName]);
FindResult findResult = find.Search(strFind);
if (findResult.ExactMatch)
{
// Set the map's center and zoom
map.Center = new DPoint(findResult.FoundPoint.X, findResult.FoundPoint.Y);
MapInfo.Geometry.Distance d = new MapInfo.Geometry.Distance(2, map.Zoom.Unit);
map.Zoom = d;
lbSearch.Text = "";
}
else
{
lbSearch.Text = "Cannot find the Point";
}
find.Dispose();
}
(3)能过构造Sql语句进行查找,示例代码如下:
复制内容到剪贴板
代码:
/**//// <summary>
/// 通过Sql语句查找图元
/// Design by Glacier
/// 2008年8月6日
/// <param name="tableName">查找的表名</param>
/// <param name="columnName">查找的列名</param>
/// <param name="strKey">查找的关键字</param>
/// </summary>
public static void SearchWithSql(string tableName, string columnName, string strKey)
{
MapInfo.Data.MIConnection miConnection = new MIConnection();
miConnection.Open();
MapInfo.Data.MICommand miCommand = miConnection.CreateCommand();
miCommand.CommandText = "select * from " + tableName + " where " + columnName + " like '%'+@name+'%'";
miCommand.Parameters.Add("@name", strKey);
IResultSetFeatureCollection ifs = miCommand.ExecuteFeatureCollection();
MapInfo.Engine.Session.Current.Selections.DefaultSelection.Clear();
MapInfo.Mapping.Map myMap = MapInfo.Engine.Session.Current.MapFactory[MapControl1.MapAlias];
if (ifs.Count <= 0)
{
lbSearch.Text = "Cannot find the point";
}
else
{
//高亮显示
lbSearch.Text = "";
MapInfo.Engine.Session.Current.Selections.DefaultSelection.Add(ifs);
if (ifs.Count == 1)
{
myMap.Center = new DPoint(ifs[0].Geometry.Centroid.x, ifs[0].Geometry.Centroid.y);
MapInfo.Geometry.Distance d = new MapInfo.Geometry.Distance(0.5, myMap.Zoom.Unit);
myMap.Zoom = d;
}
else
{
myMap.SetView(ifs.Envelope);
}
}
}
(1)Search方法是非常强大的,可以实现几乎所有的查找,这也是最常用的查找方式。示例代码如下:
复制内容到剪贴板
代码:
/**//// <summary>
/// 通过Search方法查找图元
/// Design by Glacier
/// 2008年8月6日
/// <param name="tableName">查找的表名</param>
/// <param name="columnName">查找的列名</param>
/// <param name="strKey">查找的关键字</param>
/// </summary>
public static void SearchWithSearch(string tableName, string columnName, string strKey)
{
MapInfo.Mapping.Map map = MapInfo.Engine.Session.Current.MapFactory[MapControl1.MapAlias];
SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchWhere(columnName + " like '%" + strKey + "%'");
IResultSetFeatureCollection ifs = MapInfo.Engine.Session.Current.Catalog.Search(tableName, si);
MapInfo.Engine.Session.Current.Selections.DefaultSelection.Clear();
if (ifs.Count <= 0)
{
lbSearch.Text = "Cannot find the point";
}
else
{
//高亮显示
MapInfo.Engine.Session.Current.Selections.DefaultSelection.Add(ifs);
lbSearch.Text = "";
if (ifs.Count == 1)
{
map.Center = new DPoint(ifs[0].Geometry.Centroid.x, ifs[0].Geometry.Centroid.y);
MapInfo.Geometry.Distance d = new MapInfo.Geometry.Distance(0.5, map.Zoom.Unit);
}
else
{
map.SetView(ifs.Envelope);
}
//设置高亮显示的样式
//((SimpleInterior)MapInfo.Engine.Session.Current.Selections.DefaultSelection.Style.AreaStyle.Interior).BackColor = System.Drawing.Color.Red;
//((SimpleInterior)MapInfo.Engine.Session.Current.Selections.DefaultSelection.Style.AreaStyle.Interior).ForeColor = System.Drawing.Color.Green;
//输出查询信息
ListBox1.Items.Clear();
foreach (Feature feature in ifs)
{
ListBox1.Items.Add(feature["name"].ToString());
}
}
}
(2)通过构造Find对象,进行查找。示例代码如下:
复制内容到剪贴板
代码:
/**//// <summary>
/// 通过Find查找图元
/// Design by Glacier
/// 2008年8月6日
/// <param name="layerName">查找的图层名</param>
/// <param name="columnName">查找的列名</param>
/// <param name="strKey">查找的关键字</param>
/// </summary>
public static void SearchWithFind(string layerName, string columnName, string strKey)
{
Find find = null;
MapInfo.Mapping.Map map = MapInfo.Engine.Session.Current.MapFactory[MapControl1.MapAlias];
// Do the find
MapInfo.Mapping.FeatureLayer findLayer = (MapInfo.Mapping.FeatureLayer)map.Layers[PointLayerName];
find = new Find(findLayer.Table, findLayer.Table.TableInfo.Columns[columnName]);
FindResult findResult = find.Search(strFind);
if (findResult.ExactMatch)
{
// Set the map's center and zoom
map.Center = new DPoint(findResult.FoundPoint.X, findResult.FoundPoint.Y);
MapInfo.Geometry.Distance d = new MapInfo.Geometry.Distance(2, map.Zoom.Unit);
map.Zoom = d;
lbSearch.Text = "";
}
else
{
lbSearch.Text = "Cannot find the Point";
}
find.Dispose();
}
(3)能过构造Sql语句进行查找,示例代码如下:
复制内容到剪贴板
代码:
/**//// <summary>
/// 通过Sql语句查找图元
/// Design by Glacier
/// 2008年8月6日
/// <param name="tableName">查找的表名</param>
/// <param name="columnName">查找的列名</param>
/// <param name="strKey">查找的关键字</param>
/// </summary>
public static void SearchWithSql(string tableName, string columnName, string strKey)
{
MapInfo.Data.MIConnection miConnection = new MIConnection();
miConnection.Open();
MapInfo.Data.MICommand miCommand = miConnection.CreateCommand();
miCommand.CommandText = "select * from " + tableName + " where " + columnName + " like '%'+@name+'%'";
miCommand.Parameters.Add("@name", strKey);
IResultSetFeatureCollection ifs = miCommand.ExecuteFeatureCollection();
MapInfo.Engine.Session.Current.Selections.DefaultSelection.Clear();
MapInfo.Mapping.Map myMap = MapInfo.Engine.Session.Current.MapFactory[MapControl1.MapAlias];
if (ifs.Count <= 0)
{
lbSearch.Text = "Cannot find the point";
}
else
{
//高亮显示
lbSearch.Text = "";
MapInfo.Engine.Session.Current.Selections.DefaultSelection.Add(ifs);
if (ifs.Count == 1)
{
myMap.Center = new DPoint(ifs[0].Geometry.Centroid.x, ifs[0].Geometry.Centroid.y);
MapInfo.Geometry.Distance d = new MapInfo.Geometry.Distance(0.5, myMap.Zoom.Unit);
myMap.Zoom = d;
}
else
{
myMap.SetView(ifs.Envelope);
}
}
}
发表评论
-
mapxtreme添加标记和删除标记
2009-03-30 16:23 1818新增2个pointselectiontool, clientc ... -
添加数据库中的经纬度信息
2009-03-30 16:22 1779C# Code: 复制内容到剪贴板 代码: MapInfo ... -
MapXtreme 2005自定义图层控制代码(WEB)
2009-03-30 16:21 1582虽然MapXtreme 2005 6.7.1提供了图层控制的控 ... -
MapxTreme测试:绘制图标和文字标注
2009-03-30 16:19 3700代码: using System; using System ... -
mapxtreme 2004 改变feature颜色
2009-03-30 16:18 15841.C# code: 复制内容到剪贴板 代码: MapI ... -
MapxTreme2005地图打印
2009-03-30 16:18 1226MapxTreme2005地图打印 一、语言: c# net2 ... -
在C#应用中如何读取存在ORACLE(或SQL Server)中的MapInfo表
2009-03-30 16:17 1242using MapInfo.Data; ... -
MapXtreme 2005查找图元方法,web的
2009-03-30 16:16 1794先添加一个TextBox和 DropDownList控件 复 ... -
MapXtreme点取地图获得信息
2009-03-30 16:15 1895拖一个pointselectiontool到页面, 修改属性 ... -
MapXtreme查看整个地图的代码
2009-03-30 16:14 937Map map = mapControl1.Map; IMap ... -
MapXtreme 2005 鹰眼源代码
2009-03-30 16:13 1800研究了一段时间的MapXtreme2005 v6.6, 实现了 ... -
实现手动画线
2009-03-30 16:12 1246为了实现在地图上手动画线的功能,煞费了一翻苦心,不过最后实现的 ... -
Web页面中实现鼠标中键缩放
2009-03-30 16:11 1541在MapXtreme 2005中,在Windows应用程序中自 ... -
两种方法实现动态轨迹
2009-03-30 16:11 1386在GIS中,动态轨迹的实现是非常有用的,可用GPS定位,热点跟 ... -
添加标注图层
2009-03-30 16:08 1182在MapXtreme 2005中添加标注图层是非常容易的,只要 ... -
向图层中添加线段
2009-03-30 16:07 945向图层中添加线段和向图层中添加点是一样的,其本质都是向图层中添 ... -
向图层中添加点
2009-03-30 16:06 1037在添加点之前先要在地图上创建一个临时图层,创建临时图层请参考《 ... -
mapxtreme2005 改变选中的图元样式
2009-03-30 16:05 1089MapInfo.Styles.CompositeStyle c ... -
Mapxtreme2005 两点之间画直线
2009-03-30 16:04 1155private void DrawLine(MapInfo.D ... -
mapxtreme2005 创建各种样式
2009-03-30 16:04 1138public MapInfo.Styles.Composite ...
相关推荐
土元,俗称为土鳖虫、簸箕虫、地乌龟等,是一种在中国分布广泛的昆虫,属于药用昆虫的一种。在中国,土元不仅是一种名贵的中药材,也是一种难得的养生珍品。根据地域的不同,土元主要可以分为几种类型: - **高利特...
土鳖虫,又名地鳖、土鳖虫、地鳖、过街等,是一种常见的中药材,属于鳖镰科动物地鳖或冀地鳖的雌虫全体。它具有独特的药用价值,主要体现在其破血逐瘀和续筋接骨的功效上。 首先,土鳖虫在中医中被归类为活血药和...
土鳖虫的功效与作用土鳖虫的临床应用.doc
综上所述,该研究探讨了土鳖虫提取物对人胃低分化腺癌BGC823细胞的抑制作用,特别是在醇提物中发现的强烈抗肿瘤活性,这为中药土鳖虫在治疗消化道肿瘤方面的应用提供了理论支持,也为后续的药物研发提供了方向。...
土鳖虫采集和加工.doc
《土鳖虫LHAZQ》PPT课件.ppt
无论选择哪种养殖方式,都需要注意环境的温度、湿度控制,以及防病、防虫害和防逃逸措施,确保土鳖虫的健康生长。此外,合理的饲养密度、科学的饲料配比和定期的清洁消毒也是养殖成功的重要因素。对于初次接触土鳖...
中华药鳖虫土元,又称为土鳖虫或簸箕虫,是一种具有极高药用价值的昆虫。在中医领域,土元被广泛用于治疗多种疾病,如活血化瘀、疏通经络,甚至现代医学证实它对白血病和癌症等病症有一定疗效。这种昆虫的养殖成为了...
政策环境对土元行业有着深远影响,政府发布的十三五规划、政策报告和领导讲话都为行业发展提供了指导。税收政策方面,国家、省级和地级市都有相应的政策,对行业产生财政收入的同时,也对行业发展提供了支持。 ...
报告总结指出,通过综合分析人力资源效能,可以为土元行业的人力资源部门提供针对性的定制服务。同时,报告还指出,分析工具和方法的合理使用,对提升人力资源管理效能至关重要。 整体来看,本报告通过对土元行业...
《2021-2026年土元行业企业市场突围战略分析及建议》 在当前竞争激烈的市场环境中,土元行业的企业面临着巨大的挑战。为了在2021年至2026年间实现市场突围,企业需要采取一系列战略措施。以下是对这些策略的详细...
这份《食品饮料类营养保健行业土元领域分析报告》是一份针对食品饮料及营养保健行业中以土元为主要成分的产品领域的详细市场分析报告。报告中涵盖了市场规模、公司分布、市场前景、人力成本等多个维度的分析。通过对...
药对组合上,常见的有黄芪-延胡索、黄芪-瓜蒌、酸枣仁-珍珠母、丹参-土鳖虫、黄芪-水蛭等。 刘红旭教授治疗快速性心律失常的用药经验总结为以下几点: 1. 益气活血:即通过补益元气,促进血液循环,缓解心律失常。...
土元公司(行业)薪酬管理制度方案-薪酬设计方案资料文集系列.docx
1. 方一:桂枝和土鳖虫研末,按年龄给予不同剂量,用酒送服。 2. 方二:川牛膝、土鳖虫、马钱子研末,每晚睡前服用。 3. 方三:归尾、赤芍、地龙、川芎、桃仁、红花水煎服。 4. 方四:牛膝、萆薢、防风、杜仲、肉...
2020年食品饮料营养保健行业土元领域行业分析报告主要从市场规模、公司分布、市场前景以及人力成本四个方面对食品饮料营养保健行业进行了全面深入的分析。 市场规模分析部分,报告通过对过去五年中国食品饮料营养...
土元是我国传统医学中常用的原料,圆柱型土元是苏土元在养殖过程中发现的变异品种。本研究分析了圆柱型土元的一般营养成分,并用圆柱型土元对高脂血症模型小鼠进行降血脂活性评价。Balb/c雄性小鼠分别喂食标准饲料、...
首先,土鳖虫和穿山龙是一组常用的对药。土鳖虫具有破血逐瘀、续筋接骨的功效,适用于各类瘀血病症。穿山龙则擅长祛风湿、活血通络,两者配合能增强活血开结的效果,对于关节肿痛的RA患者有良好疗效,且价格相对较低...