====== ThinkGeo.MapSuite.SilverlightCore.InMemoryFeatureLayer ====== {{section>upgrade_map_suite_to_10.0}} This layer is backed by memory and is typically used for temporary features. ===== Inheritance Hierarchy ===== *System.Object *ThinkGeo.MapSuite.SilverlightCore.Layer *ThinkGeo.MapSuite.SilverlightCore.FeatureLayer ***ThinkGeo.MapSuite.SilverlightCore.InMemoryFeatureLayer** ===== Members Summary ===== ==== Public Constructors ==== ** {{wiki:PublicMethod.gif|}} InMemoryFeatureLayer() ** * //This is a constructor for the class.// == Remarks == * //If you use this constructor, then you need to specify the FeatureSource column manually.// == Parameters ==
** {{wiki:PublicMethod.gif|}} InMemoryFeatureLayer(IEnumerable,IEnumerable) ** * //This is a constructor for the class.// == Remarks == * //This constructor gets the layer ready to use.// == Parameters == * //featureSourceColumns// * Type:IEnumerable<[[ThinkGeo.MapSuite.SilverlightCore.FeatureSourceColumn|FeatureSourceColumn]]> * Description:This parameter is the FeatureSourceColumn in this class that you want to use. * //features// * Type:IEnumerable<[[ThinkGeo.MapSuite.SilverlightCore.Feature|Feature]]> * Description:This parameter represents the features in this class that you want to use.
** {{wiki:PublicMethod.gif|}} InMemoryFeatureLayer(IEnumerable,IEnumerable) ** * //This is a constructor for the class.// == Remarks == * //This constructor gets the layer ready to use.// == Parameters == * //featureSourceColumns// * Type:IEnumerable<[[ThinkGeo.MapSuite.SilverlightCore.FeatureSourceColumn|FeatureSourceColumn]]> * Description:This parameter is the FeatureSourceColumn in this class that you want to use. * //shapes// * Type:IEnumerable<[[ThinkGeo.MapSuite.SilverlightCore.BaseShape|BaseShape]]> * Description:This parameter represents the shapes in this class that you want to use.
==== Protected Constructors ==== ==== Public Methods ==== ** {{wiki:PublicMethod.gif|}} GetColumns() ** * //This method returns the columns of data for the InternalFeatures in this Layer.// == Remarks == * //You should set the column names for the data that the InternalFeatures will hold. For example, if you have some features that represent road signs, then one column you may want to add is "Sign Type". Then, for every Feature you add to the layer, you need to add the "Sign Type" and a value to the InternalFeatures' ColumnValues dictionary. If you provide this information, then you can use things like ValueStyles, Labeling, etc. based on the columns you have defined.// == Return Value == * Type:Collection<[[ThinkGeo.MapSuite.SilverlightCore.FeatureSourceColumn|FeatureSourceColumn]]> * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} BuildIndex() ** * //This method build a spatial index for a passed group of featurs which increases access speed.// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} Open() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} Close() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} GetBoundingBox() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.SilverlightCore.RectangleShape|RectangleShape]] * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} Draw(GeoCanvas,Collection) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //canvas// * Type:[[ThinkGeo.MapSuite.SilverlightCore.GeoCanvas|GeoCanvas]] * Description:N/A * //labelsInAllLayers// * Type:Collection<[[ThinkGeo.MapSuite.SilverlightCore.SimpleCandidate|SimpleCandidate]]> * Description:N/A
** {{wiki:PublicMethod.gif|}} ToString() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:String * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} Equals(Object) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Boolean * Description:N/A == Parameters == * //obj// * Type:Object * Description:N/A
** {{wiki:PublicMethod.gif|}} GetHashCode() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Int32 * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} GetType() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Type * Description:N/A == Parameters ==
==== Protected Methods ==== ** {{wiki:ProtectedMethod.gif|}} OpenCore() ** * //This method opens the Layer so that it is initialized and ready to use.// == Remarks == * //This abstract method is called from the concrete public method Open. The open method plays an important role, as it is responsible for initializing the Layer. Most methods on the Layer will throw an exception if the state of the Layer is not opened. When the map draws each layer, the layer will be opened as one of its first steps; then, after it is finished drawing with that layer, it will close it. In this way, we are sure to release all resources used by the Layer. When implementing the abstract method, consider opening the FeatureSource or RasterSource. You will get a chance to close these in the Close method of the Layer.// == Return Value == * Type:Void * Description:None == Parameters ==
** {{wiki:ProtectedMethod.gif|}} OnDrawingFeatures(DrawingFeaturesEventArgs) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //e// * Type:[[ThinkGeo.MapSuite.SilverlightCore.DrawingFeaturesEventArgs|DrawingFeaturesEventArgs]] * Description:N/A
** {{wiki:ProtectedMethod.gif|}} OnDrawingWrappingFeatures(DrawingWrappingFeaturesFeatureLayerEventArgs) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //e// * Type:[[ThinkGeo.MapSuite.SilverlightCore.DrawingWrappingFeaturesFeatureLayerEventArgs|DrawingWrappingFeaturesFeatureLayerEventArgs]] * Description:N/A
** {{wiki:ProtectedMethod.gif|}} SetupTools() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters ==
** {{wiki:ProtectedMethod.gif|}} SetupToolsCore() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters ==
** {{wiki:ProtectedMethod.gif|}} CloseCore() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters ==
** {{wiki:ProtectedMethod.gif|}} GetBoundingBoxCore() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.MapSuite.SilverlightCore.RectangleShape|RectangleShape]] * Description:N/A == Parameters ==
** {{wiki:ProtectedMethod.gif|}} DrawCore(GeoCanvas,Collection) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //canvas// * Type:[[ThinkGeo.MapSuite.SilverlightCore.GeoCanvas|GeoCanvas]] * Description:N/A * //labelsInAllLayers// * Type:Collection<[[ThinkGeo.MapSuite.SilverlightCore.SimpleCandidate|SimpleCandidate]]> * Description:N/A
** {{wiki:ProtectedMethod.gif|}} DrawException(GeoCanvas,Exception) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //canvas// * Type:[[ThinkGeo.MapSuite.SilverlightCore.GeoCanvas|GeoCanvas]] * Description:N/A * //e// * Type:Exception * Description:N/A
** {{wiki:ProtectedMethod.gif|}} DrawExceptionCore(GeoCanvas,Exception) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //canvas// * Type:[[ThinkGeo.MapSuite.SilverlightCore.GeoCanvas|GeoCanvas]] * Description:N/A * //e// * Type:Exception * Description:N/A
** {{wiki:ProtectedMethod.gif|}} OnDrawingProgressChanged(DrawingProgressChangedEventArgs) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //e// * Type:[[ThinkGeo.MapSuite.SilverlightCore.DrawingProgressChangedEventArgs|DrawingProgressChangedEventArgs]] * Description:N/A
** {{wiki:ProtectedMethod.gif|}} Finalize() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters ==
** {{wiki:ProtectedMethod.gif|}} MemberwiseClone() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Object * Description:N/A == Parameters ==
==== Public Properties ==== ** {{wiki:PublicProperty.gif|}} Columns ** This property gets the columns of data for the InternalFeatures in this Layer. == Remarks == You should set the column names for the data that the InternalFeatures will hold. For example, if you have some features that represent road signs, then one column you may want to add is "Sign Type". Then, for every Feature you add to the layer, you need to add the "Sign Type" and a value to the InternalFeatures' ColumnValues dictionary. If you provide this information, then you can use things like ValueStyles, Labeling, etc. based on the columns you have defined. == Return Value == * Type:Collection<[[ThinkGeo.MapSuite.SilverlightCore.FeatureSourceColumn|FeatureSourceColumn]]> ** {{wiki:PublicProperty.gif|}} InternalFeatures ** This property gets the dictionary that holds your InternalFeatures. == Remarks == The dictionary is a quick way to access your InternalFeatures. You can easily add, remove or edit features in this dictionary and they instantly take effect in the layer. You can always use the EditTools to do the same thing, but this is a shortcut, as the data is backed in memory so it is very pliable. == Return Value == * Type:[[ThinkGeo.MapSuite.SilverlightCore.GeoCollection[[ThinkGeo.MapSuite.SilverlightCore.Feature, SilverlightMapSuiteCore, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null]]|GeoCollection]] ** {{wiki:PublicProperty.gif|}} HasBoundingBox ** This property checks to see if a Layer has a BoundingBox or not. If it has no BoundingBox, it will throw an exception when you call the GetBoundingBox() and GetFullExtent() APIs. In InMemoryFeatureLayer, we override this API and mark it as true. == Remarks == The default implementation in the base class returns false. == Return Value == * Type:Boolean ** {{wiki:PublicProperty.gif|}} WrappingExtent ** N/A == Remarks == N/A == Return Value == * Type:[[ThinkGeo.MapSuite.SilverlightCore.RectangleShape|RectangleShape]] ** {{wiki:PublicProperty.gif|}} WrappingMode ** N/A == Remarks == N/A == Return Value == * Type:[[ThinkGeo.MapSuite.SilverlightCore.WrappingMode|WrappingMode]] ** {{wiki:PublicProperty.gif|}} EditTools ** N/A == Remarks == N/A == Return Value == * Type:[[ThinkGeo.MapSuite.SilverlightCore.EditTools|EditTools]] ** {{wiki:PublicProperty.gif|}} FeatureIdsToExclude ** N/A == Remarks == N/A == Return Value == * Type:Collection ** {{wiki:PublicProperty.gif|}} QueryTools ** N/A == Remarks == N/A == Return Value == * Type:[[ThinkGeo.MapSuite.SilverlightCore.QueryTools|QueryTools]] ** {{wiki:PublicProperty.gif|}} FeatureSource ** N/A == Remarks == N/A == Return Value == * Type:[[ThinkGeo.MapSuite.SilverlightCore.FeatureSource|FeatureSource]] ** {{wiki:PublicProperty.gif|}} ZoomLevelSet ** N/A == Remarks == N/A == Return Value == * Type:[[ThinkGeo.MapSuite.SilverlightCore.ZoomLevelSet|ZoomLevelSet]] ** {{wiki:PublicProperty.gif|}} DrawingMarginPercentage ** N/A == Remarks == N/A == Return Value == * Type:Double ** {{wiki:PublicProperty.gif|}} IsOpen ** N/A == Remarks == N/A == Return Value == * Type:Boolean ** {{wiki:PublicProperty.gif|}} DrawingTime ** N/A == Remarks == N/A == Return Value == * Type:TimeSpan ** {{wiki:PublicProperty.gif|}} Name ** N/A == Remarks == N/A == Return Value == * Type:String ** {{wiki:PublicProperty.gif|}} IsVisible ** N/A == Remarks == N/A == Return Value == * Type:Boolean ** {{wiki:PublicProperty.gif|}} DrawingExceptionMode ** N/A == Remarks == N/A == Return Value == * Type:[[ThinkGeo.MapSuite.SilverlightCore.DrawingExceptionMode|DrawingExceptionMode]] ==== Protected Properties ==== ** {{wiki:ProtectedProperty.gif|}} IsOpenCore ** N/A == Remarks == N/A == Return Value == * Type:Boolean ==== Public Events ==== ** {{wiki:PublicEvent.gif|}} DrawingFeatures ** N/A == Remarks == N/A Event Arguments:[[ThinkGeo.MapSuite.SilverlightCore.DrawingFeaturesEventArgs|DrawingFeaturesEventArgs]] ** {{wiki:PublicEvent.gif|}} DrawingWrappingFeatures ** N/A == Remarks == N/A Event Arguments:[[ThinkGeo.MapSuite.SilverlightCore.DrawingWrappingFeaturesFeatureLayerEventArgs|DrawingWrappingFeaturesFeatureLayerEventArgs]] ** {{wiki:PublicEvent.gif|}} DrawingProgressChanged ** N/A == Remarks == N/A Event Arguments:[[ThinkGeo.MapSuite.SilverlightCore.DrawingProgressChangedEventArgs|DrawingProgressChangedEventArgs]]