`

总结查找图元的三种方法

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

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

    中华药鳖虫土元,学名为“中华鳖甲虫”,俗称土鳖虫或簸箕虫,是一种在中药材中具有重要地位的昆虫。在中医的理论中,土元具有活血化瘀、疏通经络的功效,对于治疗跌打损伤、关节疼痛以及心脑血管等疾病有显著效果。...

    土鳖的养殖方法.pdf

    本文将详细介绍几种土鳖的养殖方法,以及在养殖过程中需要注意的关键因素。 首先,盆养是一种适合小规模、家庭式的养殖方法。其主要特点在于操作简单,投入成本低,且易于控制。盆养的土鳖容器可以选择内壁光滑的...

    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雄性小鼠分别喂食标准饲料、...

    基于数据挖掘的股骨头坏死用药规律研究.pdf

    在临床治疗中,牛膝、当归、丹参、骨碎补、甘草、黄芪、续断、熟地黄、淫羊藿、红花、桃仁、三七、茯苓、土鳖虫、赤芍、白芍等药物被证实为核心药物。 在数据挖掘的过程中,关联规则apriori算法被用来识别处方中...

Global site tag (gtag.js) - Google Analytics