This document is archived and information here might be outdated. Recommended version. |
Add a tracking layer (shapefile) to the active map.
/// <summary> /// Add a tracking layer (shapefile) to the active map. /// </summary> /// <param name="map"></param> /// <param name="string_ShapefileDirectory">A System.String that is the directory location where a shapefiel is located. Example: "D:\arcgis\ArcTutor\Tracking_Analyst\Simple"</param> /// <param name="string_TemporalFieldName">A System.String that is the TemporalFieldName. Example: "TA_DATE"</param> /// <param name="string_TemporalObjectColumnName">A System.String that is the TemporalObjectColumnName. Example: "EVENTID"</param> /// <remarks></remarks> public void AddTrackingLayerToMap(ESRI.ArcGIS.Carto.IMap map, System.String string_ShapefileDirectory, System.String string_TemporalFieldName, System.String string_TemporalObjectColumnName) { if (map == null) { return; } ESRI.ArcGIS.TrackingAnalyst.ITemporalRenderer temporalRenderer=new ESRI.ArcGIS.TrackingAnalyst.CoTrackSymbologyRendererClass(); // Get the hurricane feature class from the shape file ESRI.ArcGIS.Geodatabase.IWorkspaceFactory workspaceFactory=new ESRI.ArcGIS.DataSourcesFile.ShapefileWorkspaceFactoryClass(); ESRI.ArcGIS.Geodatabase.IWorkspace workspace=workspaceFactory.OpenFromFile(string_ShapefileDirectory, 0); ESRI.ArcGIS.Geodatabase.IEnumDataset enumDataset=workspace.get_Datasets(ESRI.ArcGIS.Geodatabase.esriDatasetType.esriDTAny); ESRI.ArcGIS.Geodatabase.IFeatureClass featureClass=(ESRI.ArcGIS.Geodatabase.IFeatureClass)(enumDataset.Next()); // Create a tracking layer ESRI.ArcGIS.TrackingAnalyst.ITemporalLayer temporalLayer=new ESRI.ArcGIS.TrackingAnalyst.TemporalFeatureLayerClass(); ESRI.ArcGIS.Carto.ILayer layer=(ESRI.ArcGIS.Carto.ILayer)temporalLayer; ESRI.ArcGIS.Carto.IFeatureLayer featureLayer=(ESRI.ArcGIS.Carto.IFeatureLayer)layer; // Set the temporal column and event id column // Note: Set up the renderer before adding to layer temporalRenderer.TemporalFieldName=string_TemporalFieldName; temporalRenderer.TemporalObjectColumnName=string_TemporalObjectColumnName; temporalLayer.Renderer=(ESRI.ArcGIS.Carto.IFeatureRenderer)temporalRenderer; // Set the data featureLayer.FeatureClass=featureClass; // Add layer to map map.AddLayer(layer); }
''' <summary> ''' Add a tracking layer (shapefile) to the active map. ''' </summary> ''' <param name="map"></param> ''' <param name="string_ShapefileDirectory">A System.String that is the directory location where a shapefiel is located. Example: "D:\arcgis\ArcTutor\Tracking_Analyst\Simple"</param> ''' <param name="string_TemporalFieldName">A System.String that is the TemporalFieldName. Example: "TA_DATE"</param> ''' <param name="string_TemporalObjectColumnName">A System.String that is the TemporalObjectColumnName. Example: "EVENTID"</param> ''' <remarks></remarks> Public Sub AddTrackingLayerToMap(ByVal map As ESRI.ArcGIS.Carto.IMap, ByVal string_ShapefileDirectory As System.String, ByVal string_TemporalFieldName As System.String, ByVal string_TemporalObjectColumnName As System.String) If map Is Nothing Then Exit Sub End If Dim temporalRenderer As ESRI.ArcGIS.TrackingAnalyst.ITemporalRenderer=New ESRI.ArcGIS.TrackingAnalyst.CoTrackSymbologyRendererClass ' Get the hurricane feature class from the shape file Dim workspaceFactory As ESRI.ArcGIS.Geodatabase.IWorkspaceFactory=New ESRI.ArcGIS.DataSourcesFile.ShapefileWorkspaceFactoryClass Dim workspace As ESRI.ArcGIS.Geodatabase.IWorkspace=workspaceFactory.OpenFromFile(string_ShapefileDirectory, 0) Dim enumDataset As ESRI.ArcGIS.Geodatabase.IEnumDataset=workspace.Datasets(ESRI.ArcGIS.Geodatabase.esriDatasetType.esriDTAny) Dim featureClass As ESRI.ArcGIS.Geodatabase.IFeatureClass=CType(enumDataset.Next, ESRI.ArcGIS.Geodatabase.IFeatureClass) ' Create a tracking layer Dim temporalLayer As ESRI.ArcGIS.TrackingAnalyst.ITemporalLayer=New ESRI.ArcGIS.TrackingAnalyst.TemporalFeatureLayerClass Dim layer As ESRI.ArcGIS.Carto.ILayer=CType(temporalLayer, ESRI.ArcGIS.Carto.ILayer) Dim featureLayer As ESRI.ArcGIS.Carto.IFeatureLayer=CType(layer, ESRI.ArcGIS.Carto.IFeatureLayer) ' Set the temporal column and event id column ' Note: Set up the renderer before adding to layer temporalRenderer.TemporalFieldName=string_TemporalFieldName temporalRenderer.TemporalObjectColumnName=string_TemporalObjectColumnName temporalLayer.Renderer=CType(temporalRenderer, ESRI.ArcGIS.Carto.IFeatureRenderer) ' Set the data featureLayer.FeatureClass=featureClass ' Add layer to map map.AddLayer(layer) End Sub