// create layer this.TrackingLayer = new InMemoryFeatureLayer(); this.TrackingLayer.Open(); this.TrackingLayer.Name = TrackingLayerName; this.TrackingLayer.DrawingExceptionMode = DrawingExceptionMode.DrawException; this.TrackingLayer.DrawnException += new EventHandler(TrackingLayer_DrawnException); // add columns fscColumn = new FeatureSourceColumn("KeySymbol", "string", 116); this.TrackingLayer.Columns.Add(fscColumn); fscColumn = new FeatureSourceColumn("KeyItem", "string", 32); this.TrackingLayer.Columns.Add(fscColumn); fscColumn = new FeatureSourceColumn("Label", "string", 48); this.TrackingLayer.Columns.Add(fscColumn); // build spatial index this.TrackingLayer.BuildIndex(); // close layer this.TrackingLayer.Close(); Here's how the feature is created. oTracking.ItemPoint = new PointShape(myVertex.X, myVertex.Y); oTracking.ItemPoint.Id = oTracking.sKey; myFeature = new Feature(oTracking.ItemPoint); myFeature.ColumnValues.Add("Label", oTracking.sLabel ); myFeature.ColumnValues.Add("KeyItem", oTracking.sKey ); myFeature.ColumnValues.Add("KeySymbol", oTrackingLayerSymbol.sKey);