Global Navigation Bar

MapInfo Products Knowledge Base


Product: MapXtreme 2004/2005
Version: 6.2, 6.5
Platform: All Windows Platforms
Category: Data Access

Summary:
How can a new feature be created with data?

Question:
When adding a new feature to the table, is it possible to associate data with the feature?

Answer:
In this code example, the table is defined with a geometry and style column. It also has an additional column, Map, to hold the data.
Hide details for VB Code ExampleVB Code Example
Dim conn As MapInfo.Data.MIConnection = New MapInfo.Data.MIConnection
conn.Open()
Dim ti As TableInfoMemTable = New TableInfoMemTable("MapLocation")
ti.Columns.Add(ColumnFactory.CreateIndexedStringColumn("Map", 25))
ti.Columns.Add(ColumnFactory.CreateStyleColumn())

'Adding a new column
ti.Columns.Add(MapInfo.Data.ColumnFactory.CreateStringColumn("Team", 50))

Dim coordsys As MapInfo.Geometry.CoordSys = MapInfo.Engine.Session.Current.CoordSysFactory.CreateLongLat(MapInfo.Geometry.DatumID.NAD83)

ti.Columns.Add(ColumnFactory.CreateFeatureGeometryColumn(coordsys))

Dim table As MapInfo.Data.Table = MapInfo.Engine.Session.Current.Catalog.CreateTable(ti)
Dim pt1 As MapInfo.Geometry.Point = New MapInfo.Geometry.Point(coordsys, -72, 41.5)

'use a custsymb image
Dim bitmapMCO As MapInfo.Styles.BitmapPointStyle = New MapInfo.Styles.BitmapPointStyle("MCO-32.bmp")

Dim feature1 As MapInfo.Data.Feature = New MapInfo.Data.Feature(ti.Columns.Clone(), New Object() {"test", bitmapMCO, "test2", pt1})
Dim lyr As FeatureLayer = New FeatureLayer(table)
MapControl1.Map.Layers.Insert(0, lyr)
Dim k As MapInfo.Data.Key = table.InsertFeature(feature1)

Hide details for C# Code ExampleC# Code Example

//Create Point
MapInfo.Data.MIConnection conn=new MapInfo.Data.MIConnection();
conn.Open();
TableInfoMemTable ti = new TableInfoMemTable("MapLocation");
ti.Columns.Add(ColumnFactory.CreateIndexedStringColumn("Map", 25));
ti.Columns.Add(ColumnFactory.CreateStyleColumn());

//Adding a new column
ti.Columns.Add(MapInfo.Data.ColumnFactory.CreateStringColumn("Team", 50));

MapInfo.Geometry.CoordSys coordsys = MapInfo.Engine.Session.Current.CoordSysFactory.CreateLongLat(DatumID.NAD83);

ti.Columns.Add(ColumnFactory.CreateFeatureGeometryColumn(coordsys));

MapInfo.Data.Table table = MapInfo.Engine.Session.Current.Catalog.CreateTable(ti);
MapInfo.Geometry.Point pt1 = new MapInfo.Geometry.Point(coordsys,-72,41.5);

//use a custsymb image
MapInfo.Styles.BitmapPointStyle bitmapMCO = new BitmapPointStyle("MCO-32.bmp");
MapInfo.Data.Feature feature1 = new MapInfo.Data.Feature(ti.Columns.Clone(),new object[] {"test",bitmapMCO,"test2",pt1});
FeatureLayer lyr = new FeatureLayer(table);
mapControl1.Map.Layers.Insert(0,lyr);
MapInfo.Data.Key k=table.InsertFeature(feature1);


Last Modified:
Global Navigation Bar