1、遍历所有要素
foreach(MapInfo.Data.Feature f in _FeatureLayer.Table)
{
// do something with the Feature
}
2、点查询
MapInfo.Geometry.DPoint point = new MapInfo.Geometry.DPoint(-100, 40);
MapInfo.Data.MIConnection connection = new MapInfo.Data.MIConnection();
connection.Open();
MapInfo.Data.MICommand command = connection.CreateCommand();
command.CommandText = "Select * from USA where MI_Point(@x, @y, @cs) within obj";
command.Parameters.Add("@x", point.x);
command.Parameters.Add("@y", point.y);
command.Parameters.Add("@cs", this.mapControl1.Map.GetDisplayCoordSys());
command.Prepare();
MapInfo.Data.IResultSetFeatureCollection irfc = command.ExecuteFeatureCollection();
command.Dispose();
connection.Close();
3.返回所有列
MapInfo.Data.Table USATable= MapInfo.Engine.Session.Current.Catalog.GetTable("usa");
string[] s = new string[1];
s[0] = "*";
MapInfo.Data.SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchWhere("State = 'NY'");
si.QueryDefinition.Columns = s;
MapInfo.Data.IResultSetFeatureCollection irfc = MapInfo.Engine.Session.Current.Catalog.Search(USATable.Alias, si);
int count = 0;
int ColCount = USATable.TableInfo.Columns.Count;
foreach (MapInfo.Data.Feature f in irfc)
{
count = 0;
while (count < ColCount)
{
MapInfo.Data.Column c = irfc.Columns[count];
this.listBox1.Items.Add(f[c.ToString()]).ToString();
count++;
}
}
4、返回查询结果
MapInfo.Data.Table USATable= MapInfo.Engine.Session.Current.Catalog.GetTable("usa");
string[] s = new string[1];
s[0] = "*";
MapInfo.Data.SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchWhere("State = 'NY'");
si.QueryDefinition.Columns = s;
MapInfo.Data.IResultSetFeatureCollection irfc = MapInfo.Engine.Session.Current.Catalog.Search(USATable.Alias, si);
int count = 0;
int ColCount = USATable.TableInfo.Columns.Count;
foreach (MapInfo.Data.Feature f in irfc)
{
count = 0;
while (count < ColCount)
{
MapInfo.Data.Column c = irfc.Columns[count];
this.listBox1.Items.Add(f[c.ToString()]).ToString();
count++;
}
}