`

总结查找图元的三种方法

SQL 
阅读更多
在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);
}
}
}
分享到:
评论

相关推荐

    土元俗称土鳖虫.doc

    土元,俗称为土鳖虫、簸箕虫、地乌龟等,是一种在中国分布广泛的昆虫,属于药用昆虫的一种。在中国,土元不仅是一种名贵的中药材,也是一种难得的养生珍品。根据地域的不同,土元主要可以分为几种类型: - **高利特...

    土鳖虫的功效作用及禁忌.pdf

    土鳖虫,又名地鳖、土鳖虫、地鳖、过街等,是一种常见的中药材,属于鳖镰科动物地鳖或冀地鳖的雌虫全体。它具有独特的药用价值,主要体现在其破血逐瘀和续筋接骨的功效上。 首先,土鳖虫在中医中被归类为活血药和...

    土鳖虫的功效与作用土鳖虫的临床应用.doc

    土鳖虫的功效与作用土鳖虫的临床应用.doc

    土鳖虫提取液对人胃低分化腺癌细胞BGC.docx

    综上所述,该研究探讨了土鳖虫提取物对人胃低分化腺癌BGC823细胞的抑制作用,特别是在醇提物中发现的强烈抗肿瘤活性,这为中药土鳖虫在治疗消化道肿瘤方面的应用提供了理论支持,也为后续的药物研发提供了方向。...

    土鳖虫采集和加工.doc

    土鳖虫采集和加工.doc

    《土鳖虫LHAZQ》PPT课件.ppt

    《土鳖虫LHAZQ》PPT课件.ppt

    土鳖的养殖方法.pdf

    无论选择哪种养殖方式,都需要注意环境的温度、湿度控制,以及防病、防虫害和防逃逸措施,确保土鳖虫的健康生长。此外,合理的饲养密度、科学的饲料配比和定期的清洁消毒也是养殖成功的重要因素。对于初次接触土鳖...

    养殖中华药鳖虫土元乐享财富人生.doc

    中华药鳖虫土元,又称为土鳖虫或簸箕虫,是一种具有极高药用价值的昆虫。在中医领域,土元被广泛用于治疗多种疾病,如活血化瘀、疏通经络,甚至现代医学证实它对白血病和癌症等病症有一定疗效。这种昆虫的养殖成为了...

    2021年土元行业需求分析及前景投资报告.pptx

    政策环境对土元行业有着深远影响,政府发布的十三五规划、政策报告和领导讲话都为行业发展提供了指导。税收政策方面,国家、省级和地级市都有相应的政策,对行业产生财政收入的同时,也对行业发展提供了支持。 ...

    2021年度土元行业人力资源效能分析报告(市场招聘用工).pdf

    报告总结指出,通过综合分析人力资源效能,可以为土元行业的人力资源部门提供针对性的定制服务。同时,报告还指出,分析工具和方法的合理使用,对提升人力资源管理效能至关重要。 整体来看,本报告通过对土元行业...

    土元行业(2021-2026)企业市场突围战略分析与建议.docx

    《2021-2026年土元行业企业市场突围战略分析及建议》 在当前竞争激烈的市场环境中,土元行业的企业面临着巨大的挑战。为了在2021年至2026年间实现市场突围,企业需要采取一系列战略措施。以下是对这些策略的详细...

    食品饮料类营养保健行业土元领域分析报告(研究报告).pdf

    这份《食品饮料类营养保健行业土元领域分析报告》是一份针对食品饮料及营养保健行业中以土元为主要成分的产品领域的详细市场分析报告。报告中涵盖了市场规模、公司分布、市场前景、人力成本等多个维度的分析。通过对...

    刘红旭教授治疗快速性心律失常用药规律的数据挖掘分析.pdf

    药对组合上,常见的有黄芪-延胡索、黄芪-瓜蒌、酸枣仁-珍珠母、丹参-土鳖虫、黄芪-水蛭等。 刘红旭教授治疗快速性心律失常的用药经验总结为以下几点: 1. 益气活血:即通过补益元气,促进血液循环,缓解心律失常。...

    土元公司(行业)薪酬管理制度方案-薪酬设计方案资料文集系列.docx

    土元公司(行业)薪酬管理制度方案-薪酬设计方案资料文集系列.docx

    小儿麻痹症.docx

    1. 方一:桂枝和土鳖虫研末,按年龄给予不同剂量,用酒送服。 2. 方二:川牛膝、土鳖虫、马钱子研末,每晚睡前服用。 3. 方三:归尾、赤芍、地龙、川芎、桃仁、红花水煎服。 4. 方四:牛膝、萆薢、防风、杜仲、肉...

    2020年食品饮料营养保健行业土元领域行业分析报告(市场调查报告).pdf

    2020年食品饮料营养保健行业土元领域行业分析报告主要从市场规模、公司分布、市场前景以及人力成本四个方面对食品饮料营养保健行业进行了全面深入的分析。 市场规模分析部分,报告通过对过去五年中国食品饮料营养...

    圆柱型土元对高脂血症小鼠脂肪代谢的影响* (2008年)

    土元是我国传统医学中常用的原料,圆柱型土元是苏土元在养殖过程中发现的变异品种。本研究分析了圆柱型土元的一般营养成分,并用圆柱型土元对高脂血症模型小鼠进行降血脂活性评价。Balb/c雄性小鼠分别喂食标准饲料、...

    郑福增教授运用对药治疗类风湿关节炎经验撷萃

    首先,土鳖虫和穿山龙是一组常用的对药。土鳖虫具有破血逐瘀、续筋接骨的功效,适用于各类瘀血病症。穿山龙则擅长祛风湿、活血通络,两者配合能增强活血开结的效果,对于关节肿痛的RA患者有良好疗效,且价格相对较低...

Global site tag (gtag.js) - Google Analytics