ThinkGeo.MapSuite.Core.ShapeFileFeatureSource
Note: The page was created before Map Suite 10. Map Suite 10.0 organized many classes into new namespaces and assemblies as well as had a few minor breaks in compatibility. The majority of previously built code should work without modification assuming the new namespaces are added. For guidance on upgrading your existing code, please check out MapSuite 10 Upgrade Guide.
This class represents a FeatureSource backed by ESRI a Shape File.
Inheritance Hierarchy
Members Summary
Public Constructors
ShapeFileFeatureSource()
Parameters
ShapeFileFeatureSource(String)
Parameters
ShapeFileFeatureSource(String,ShapeFileReadWriteMode)
Parameters
ShapeFileFeatureSource(String,String)
Parameters
ShapeFileFeatureSource(String,String,ShapeFileReadWriteMode)
Parameters
ShapeFileFeatureSource(String,String,ShapeFileReadWriteMode,Encoding)
Parameters
Protected Constructors
Public Methods
GetFeatureIdsForDrawing(RectangleShape,Double,Double)
Return Value
Type:Collection<String>
Description:N/A
Parameters
screenWidth
Type:Double
Description:N/A
screenHeight
Type:Double
Description:N/A
GetDbfColumns()
Return Value
Parameters
Validate()
Return Value
Type:Dictionary<String,String>
Description:A dictionary which contains all the unsupported features. The key is the Indexs which failed to pass the check, the value contains the reason for its failure.
Parameters
AddColumnBoolean(String)
Return Value
Type:Void
Description:None
Parameters
AddColumnDate(String)
Return Value
Type:Void
Description:None
Parameters
AddColumnDouble(String,Int32,Int32)
Return Value
Type:Void
Description:None
Parameters
AddColumnInteger(String,Int32)
Return Value
Type:Void
Description:None
Parameters
AddColumnMemo(String)
This method adds a new Memo column to the DBF file associated with the shape file. Internally the DBF holds an integer column that is a pointer to the data in the memo file. The pointer is measured in 512 byte chunks. Our default decimalDegreesValue for the size of the pointer column is 10 which means you can have 9,999,999,999 pointers to the 512 byte blocks. The ramification of this is that if you have more than this many records and each record uses more then 512 bytes as part of its memo then there will not be enough space for storage. If you have special needs for this please use the other overload that allows you to specify the number of digits you can use for the pointer.
Return Value
Type:Void
Description:None
Parameters
AddColumnMemo(String,Int32)
This method adds a new Memo column to the DBF file associated with the shape file. Internally the DBF holds an integer column that is a pointer to the data in the memo file. The pointer is measured in 512 byte chunks. Our default decimalDegreesValue for the size of the pointer column is 10 which means you can have 9,999,999,999 pointers to the 512 byte blocks. The ramification of this is that if you have more than this many records and each record uses more than 512 bytes as part of its memo then there will not be enough space for storage. Conversely if you know you have few records then you can decrease this number. A good rule of thumb is to multiply the number of records by the number of 512 byte chunks you expect each record to use and then get the resulting number of digits resulting for the multiplication. Example You have 1,000,000 records and expect to have 4K, 8 chunks of 512 bytes, of memo data for each record. This means you will use multiple 1,000,000 * 8 which is 8,000,000 and then total the number of digits which in this case is 7. Assuming the numbers above a length of 7 will support your needs.
Return Value
Type:Void
Description:None
Parameters
AddColumnString(String,Int32)
Return Value
Type:Void
Description:None
Parameters
GetDataFromDbf(String,String)
Return Value
Parameters
GetDataFromDbf(String)
Return Value
Type:Dictionary<String,String>
Description:This method returns a dictionary holding all of the values from the DBF for the Id you specified.
Parameters
GetDataFromDbf(String,IEnumerable<String>)
Return Value
Type:Dictionary<String,String>
Description:This method returns a dictionary holding all of the values from the DBF for the Id you specified.
Parameters
GetDataFromDbf(String,ReturningColumnsType)
Return Value
Type:Dictionary<String,String>
Description:This method returns a dictionary holding all of the values from the DBF for the Id you specified.
Parameters
GetDataFromDbf(IEnumerable<String>)
Return Value
Type:Collection<Dictionary<String,String»
Description:This method returns a collection of dictionary holding all of the values from the DBF for the Ids you specified.
Parameters
GetDataFromDbf(IEnumerable<String>,String)
Return Value
Type:Collection<Dictionary<String,String»
Description:This method returns a collection of dictionary holding all of the values from the DBF for the Ids you specified.
Parameters
GetDataFromDbf(IEnumerable<String>,IEnumerable<String>)
Return Value
Type:Collection<Dictionary<String,String»
Description:This method returns a collection of dictionary holding all of the values from the DBF for the Ids you specified.
Parameters
GetDataFromDbf(IEnumerable<String>,ReturningColumnsType)
Return Value
Type:Collection<Dictionary<String,String»
Description:This method returns a collection of dictionary holding all of the values from the DBF for the Ids you specified.
Parameters
UpdateDbfData(String,String,String)
Return Value
Type:Void
Description:None
Parameters
UpdateDbfData(String,IEnumerable<String>,IEnumerable<String>)
Return Value
Type:Void
Description:None
Parameters
GetShapeFileType()
Return Value
Parameters
GetBoundingBox()
Return Value
Parameters
CloneDeep()
Return Value
Parameters
Open()
Return Value
Type:Void
Description:N/A
Parameters
Close()
Return Value
Type:Void
Description:N/A
Parameters
BeginTransaction()
Return Value
Type:Void
Description:N/A
Parameters
AddFeature(Feature)
Return Value
Type:String
Description:N/A
Parameters
AddFeature(BaseShape)
Return Value
Type:String
Description:N/A
Parameters
AddFeature(BaseShape,IDictionary<String,String>)
Return Value
Type:String
Description:N/A
Parameters
DeleteFeature(String)
Return Value
Type:Void
Description:N/A
Parameters
id
Type:String
Description:N/A
UpdateFeature(Feature)
Return Value
Type:Void
Description:N/A
Parameters
UpdateFeature(BaseShape)
Return Value
Type:Void
Description:N/A
Parameters
UpdateFeature(BaseShape,IDictionary<String,String>)
Return Value
Type:Void
Description:N/A
Parameters
RollbackTransaction()
Return Value
Type:Void
Description:N/A
Parameters
CommitTransaction()
Return Value
Parameters
AddColumn(FeatureSourceColumn)
Return Value
Type:Void
Description:N/A
Parameters
DeleteColumn(String)
Return Value
Type:Void
Description:N/A
Parameters
columnName
Type:String
Description:N/A
UpdateColumn(String,FeatureSourceColumn)
Return Value
Type:Void
Description:N/A
Parameters
columnName
Type:String
Description:N/A
GetAllFeatures(IEnumerable<String>)
Return Value
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
GetAllFeatures(ReturningColumnsType)
Return Value
Parameters
GetFeaturesOutsideBoundingBox(RectangleShape,IEnumerable<String>)
Return Value
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
GetFeaturesOutsideBoundingBox(RectangleShape,ReturningColumnsType)
Return Value
Parameters
GetFeaturesInsideBoundingBox(RectangleShape,IEnumerable<String>)
Return Value
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
GetFeaturesInsideBoundingBox(RectangleShape,IEnumerable<String>,IEnumerable<String>)
Return Value
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
filters
Type:IEnumerable<String>
Description:N/A
GetFeaturesInsideBoundingBox(RectangleShape,ReturningColumnsType)
Return Value
Parameters
GetFeaturesForDrawing(RectangleShape,Double,Double,IEnumerable<String>,IEnumerable<String>)
Return Value
Parameters
screenWidth
Type:Double
Description:N/A
screenHeight
Type:Double
Description:N/A
returningColumnNames
Type:IEnumerable<String>
Description:N/A
filters
Type:IEnumerable<String>
Description:N/A
ApplyFilters(IEnumerable<Feature>,IEnumerable<String>,IEnumerable<String>)
Return Value
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
filters
Type:IEnumerable<String>
Description:N/A
GetFeaturesForDrawing(RectangleShape,Double,Double,IEnumerable<String>)
Return Value
Parameters
screenWidth
Type:Double
Description:N/A
screenHeight
Type:Double
Description:N/A
returningColumnNames
Type:IEnumerable<String>
Description:N/A
GetFeaturesForDrawing(RectangleShape,Double,Double,ReturningColumnsType)
Return Value
Parameters
screenWidth
Type:Double
Description:N/A
screenHeight
Type:Double
Description:N/A
SpatialQuery(BaseShape,QueryType,IEnumerable<String>)
Return Value
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
SpatialQuery(BaseShape,QueryType,IEnumerable<String>,IEnumerable<String>)
Return Value
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
filters
Type:IEnumerable<String>
Description:N/A
SpatialQuery(BaseShape,QueryType,ReturningColumnsType)
Return Value
Parameters
SpatialQuery(Feature,QueryType,IEnumerable<String>)
Return Value
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
SpatialQuery(Feature,QueryType,ReturningColumnsType)
Return Value
Parameters
GetFeaturesNearestTo(BaseShape,GeographyUnit,Int32,IEnumerable<String>)
Return Value
Parameters
maxItemsToFind
Type:Int32
Description:N/A
returningColumnNames
Type:IEnumerable<String>
Description:N/A
GetFeaturesNearestTo(BaseShape,GeographyUnit,Int32,ReturningColumnsType)
Return Value
Parameters
maxItemsToFind
Type:Int32
Description:N/A
GetFeaturesNearestTo(Feature,GeographyUnit,Int32,IEnumerable<String>)
Return Value
Parameters
maxItemsToFind
Type:Int32
Description:N/A
returningColumnNames
Type:IEnumerable<String>
Description:N/A
GetFeaturesNearestTo(Feature,GeographyUnit,Int32,ReturningColumnsType)
Return Value
Parameters
maxItemsToFind
Type:Int32
Description:N/A
GetFeaturesNearestTo(BaseShape,GeographyUnit,Int32,IEnumerable<String>,Double,DistanceUnit)
Return Value
Parameters
maxItemsToFind
Type:Int32
Description:N/A
returningColumnNames
Type:IEnumerable<String>
Description:N/A
searchRadius
Type:Double
Description:N/A
GetFeaturesNearestTo(Feature,GeographyUnit,Int32,IEnumerable<String>,Double,DistanceUnit)
Return Value
Parameters
maxItemsToFind
Type:Int32
Description:N/A
returningColumnNames
Type:IEnumerable<String>
Description:N/A
searchRadius
Type:Double
Description:N/A
GetFeaturesWithinDistanceOf(BaseShape,GeographyUnit,DistanceUnit,Double,IEnumerable<String>)
Return Value
Parameters
distance
Type:Double
Description:N/A
returningColumnNames
Type:IEnumerable<String>
Description:N/A
GetFeaturesWithinDistanceOf(BaseShape,GeographyUnit,DistanceUnit,Double,ReturningColumnsType)
Return Value
Parameters
distance
Type:Double
Description:N/A
GetFeaturesWithinDistanceOf(Feature,GeographyUnit,DistanceUnit,Double,IEnumerable<String>)
Return Value
Parameters
distance
Type:Double
Description:N/A
returningColumnNames
Type:IEnumerable<String>
Description:N/A
GetFeaturesWithinDistanceOf(Feature,GeographyUnit,DistanceUnit,Double,ReturningColumnsType)
Return Value
Parameters
distance
Type:Double
Description:N/A
GetFeatureById(String,IEnumerable<String>)
Return Value
Parameters
id
Type:String
Description:N/A
returningColumnNames
Type:IEnumerable<String>
Description:N/A
GetFeatureById(String,ReturningColumnsType)
Return Value
Parameters
id
Type:String
Description:N/A
GetFeaturesByIds(IEnumerable<String>,IEnumerable<String>,IEnumerable<String>)
Return Value
Parameters
ids
Type:IEnumerable<String>
Description:N/A
returningColumnNames
Type:IEnumerable<String>
Description:N/A
filters
Type:IEnumerable<String>
Description:N/A
GetFeaturesByIds(IEnumerable<String>,IEnumerable<String>)
Return Value
Parameters
ids
Type:IEnumerable<String>
Description:N/A
returningColumnNames
Type:IEnumerable<String>
Description:N/A
GetFeaturesByIds(IEnumerable<String>,ReturningColumnsType)
Return Value
Parameters
ids
Type:IEnumerable<String>
Description:N/A
GetBoundingBoxById(String)
Return Value
Parameters
id
Type:String
Description:N/A
GetBoundingBoxByIds(IEnumerable<String>)
Return Value
Parameters
ids
Type:IEnumerable<String>
Description:N/A
GetBoundingBoxesByIds(IEnumerable<String>)
Return Value
Parameters
ids
Type:IEnumerable<String>
Description:N/A
GetFirstFeaturesWellKnownType()
Return Value
Parameters
CanGetBoundingBoxQuickly()
Return Value
Type:Boolean
Description:N/A
Parameters
CanGetCountQuickly()
Return Value
Type:Boolean
Description:N/A
Parameters
GetDistinctColumnValues(String)
Return Value
Parameters
columnName
Type:String
Description:N/A
GetAllFeatures(ReturningColumnsType,Int32)
Return Value
Parameters
startIndex
Type:Int32
Description:N/A
GetAllFeatures(ReturningColumnsType,Int32,Int32)
Return Value
Parameters
startIndex
Type:Int32
Description:N/A
takeCount
Type:Int32
Description:N/A
GetAllFeatures(IEnumerable<String>,Int32,Int32)
Return Value
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
startIndex
Type:Int32
Description:N/A
takeCount
Type:Int32
Description:N/A
ExecuteNonQuery(String)
Return Value
Type:Int32
Description:N/A
Parameters
sqlStatement
Type:String
Description:N/A
GetFeaturesByColumnValue(String,String,ReturningColumnsType)
Return Value
Parameters
columnName
Type:String
Description:N/A
columnValue
Type:String
Description:N/A
GetFeaturesByColumnValue(String,String,IEnumerable<String>)
Return Value
Parameters
columnName
Type:String
Description:N/A
columnValue
Type:String
Description:N/A
returningColumnNames
Type:IEnumerable<String>
Description:N/A
GetFeaturesByColumnValue(String,String)
Return Value
Parameters
columnName
Type:String
Description:N/A
columnValue
Type:String
Description:N/A
ExecuteScalar(String)
Return Value
Type:Object
Description:N/A
Parameters
sqlStatement
Type:String
Description:N/A
ExecuteQuery(String)
Return Value
Type:DataTable
Description:N/A
Parameters
sqlStatement
Type:String
Description:N/A
GetColumns()
Return Value
Parameters
RefreshColumns()
Return Value
Type:Void
Description:N/A
Parameters
GetCount()
Return Value
Type:Int32
Description:N/A
Parameters
ToString()
Return Value
Type:String
Description:N/A
Parameters
Equals(Object)
Return Value
Type:Boolean
Description:N/A
Parameters
obj
Type:Object
Description:N/A
GetHashCode()
Return Value
Type:Int32
Description:N/A
Parameters
GetType()
Return Value
Type:Type
Description:N/A
Parameters
Rebuild(String)
This method rebuilds the SHP, SHX, DBF, IDX and IDS files for the given shape file. When we do editing we have optimized the updates so that we do not need to rebuild the entire shape file. This leads to the shape file being out of order which may cause it not to open in other tools. One optimization is if you update a record instead of rebuilding a new shape file we mark the old record as null and add the edited record at the end of the shape file. This greatly increases the speed of committing shape file changes but will over time unorder the shape file. In addition we do a delete the DBF file will simply mark the record deleted and not compact the space. Rebuilding the shape file will correctly order the SPX and SHX along with compacting the DBF file and rebuild any index with the same any of the shape file if it exists. Note that if you have build custom index files where the name of the index differs from that of the shape file you will need to rebuild those manually using the BuildIndex methods.
Return Value
Type:Void
Description:None
Parameters
Rebuild(String,ShapeFileSortingMode,Int32)
Return Value
Type:Void
Description:N/A
Parameters
shapePathFilename
Type:String
Description:N/A
sridForSorting
Type:Int32
Description:N/A
BuildIndexFile(String)
Return Value
Type:Void
Description:None
Parameters
BuildIndexFile(String,BuildIndexMode)
Return Value
Type:Void
Description:None
Parameters
BuildIndexFile(String,String,BuildIndexMode)
Return Value
Type:Void
Description:None
Parameters
BuildIndexFile(String,String,Projection,BuildIndexMode)
Return Value
Type:Void
Description:None
Parameters
BuildIndexFile(String,String,String,String,BuildIndexMode)
Return Value
Type:Void
Description:None
Parameters
BuildIndexFile(String,String,Projection,String,String,BuildIndexMode)
Return Value
Type:Void
Description:None
Parameters
BuildIndexFile(String,String,Projection,String,String,BuildIndexMode,Encoding)
Return Value
Type:Void
Description:None
Parameters
BuildIndexFile(IEnumerable<Feature>,String)
Return Value
Type:Void
Description:None
Parameters
BuildIndexFile(IEnumerable<Feature>,String,Projection)
Return Value
Type:Void
Description:None
Parameters
BuildIndexFile(IEnumerable<Feature>,String,BuildIndexMode)
Return Value
Type:Void
Description:None
Parameters
BuildIndexFile(IEnumerable<Feature>,String,Projection,BuildIndexMode)
Return Value
Type:Void
Description:None
Parameters
GetValidColumns(IEnumerable<DbfColumn>)
Return Value
Parameters
GetValidColumns(IEnumerable<DbfColumn>,Encoding)
Return Value
Parameters
encoding
Type:Encoding
Description:N/A
GetValidColumnNames(IEnumerable<String>)
Return Value
Type:Collection<String>
Description:N/A
Parameters
columnNames
Type:IEnumerable<String>
Description:N/A
GetValidColumnNames(IEnumerable<String>,Encoding)
Return Value
Type:Collection<String>
Description:N/A
Parameters
columnNames
Type:IEnumerable<String>
Description:N/A
encoding
Type:Encoding
Description:N/A
CreateShapeFile(ShapeFileType,String,IEnumerable<DbfColumn>)
Static API to create a new shape file.
Return Value
Type:Void
Description:N/A
Parameters
CreateShapeFile(ShapeFileType,String,IEnumerable<DbfColumn>,Encoding)
Static API to create a new shape file.
Return Value
Type:Void
Description:N/A
Parameters
CreateShapeFile(ShapeFileType,String,IEnumerable<DbfColumn>,Encoding,OverwriteMode)
Static API to create a new shape file.
Return Value
Type:Void
Description:N/A
Parameters
CloneShapeFileStructure(String,String)
Return Value
Type:Void
Description:N/A
Parameters
CloneShapeFileStructure(String,String,OverwriteMode)
Return Value
Type:Void
Description:N/A
Parameters
CloneShapeFileStructure(String,String,OverwriteMode,Encoding)
Return Value
Type:Void
Description:N/A
Parameters
BuildRecordIdColumn(String,String,BuildRecordIdMode)
Static API used to build RecordId, the id should start from 0 by default.
Return Value
Type:Void
Description:N/A
Parameters
BuildRecordIdColumn(String,String,BuildRecordIdMode,Int32)
Static API used to build RecordId from the specified starting id number.
Return Value
Type:Void
Description:N/A
Parameters
BuildRecordIdColumn(String,String,BuildRecordIdMode,Int32,Encoding)
Static API used to build RecordId from the specified starting id number.
Return Value
Type:Void
Description:N/A
Parameters
SaveToProjection(String,String,Projection,OverwriteMode)
This API provide a easy way to project features in a shape file into another projection and save it to shape file.
Return Value
Type:Void
Description:N/A
Parameters
Protected Methods
CloseCore()
Return Value
Type:Void
Description:None
Parameters
CommitTransactionCore(TransactionBuffer)
This method will commit the existing transaction to its underlying source of data. It will pass back the results of how the commit went to include any error received. If you are implementing your own FeatureSource then this is one of the crucial methods you must create. It should be fairly straight forward that you will loop through the transaction buffer and add, edit or delete the InternalFeatures in your underlying data source. Remember to build and pass back the TransactionResult class so that users of your FeatureSource can respond to failures you may encounter committing the InternalFeatures. We will handle the end of the transaction and also the cleanup of the transaction buffer. Your task will be to commit the records and produce a TransactionResult return.The Transaction SystemThe transaction system of a FeatureSource sits on top of the inherited implementation of any specific source such as Oracle Spatial or Shape files. In this way it functions the same way for every FeatureSource. You start by calling the BeginTransaction. This allocates a collection of in memory change buffers that are used to store changes until you commit the transaction. So for example when you call the Add, Delete or Update method the changes to the feature are stored in memory only. If for any reason you choose to abandon the transaction you can call RollbackTransaction at any time and the in memory buffer will be deleted and the changes will be lost. When you are ready to commit the transaction you call the CommitTransaction and the collections of changes are then passed to the CommitTransactionCore method and the implementer of the specific FeatureSource is responsible for integrating your changes into the underlying FeatureSource. By default the IsLiveTransaction property is set to false which means that until you commit the changes the FeatureSource API will not reflect any changes that are in the temporary editing buffer.In the case where the IsLiveTransaction is set to true then things function slightly differently. The live transaction concept means that all of the modification you perform during a transaction are live from the standpoint of the querying methods on the object.To setup an example imagine that you have a FeatureSource that has 10 records in it. Next you begin a transaction and then call GetAllFeatures, the result would be 10 records. After that you call a delete on one of the records and call the GetAllFeatures again, this time you only get nine records. You receive nine records even though the transaction has not yet been committed. In the same sense you could have added a new record or modified an existing one and those changes are considered live though not committed.In the case where you modify records such as expanding the size of a polygon those changes as well are reflected. So for example you expand a polygon by doubling its size and then do a spatial query that would not normally return the smaller record but would return the larger records, in this case the larger record is returned. You can set this property to be false as well in which case all of the spatial related methods would ignore anything that is currently in the transaction buffer waiting to be committed. In this case only after committing the transaction would the FeatureSource reflect the changes.
Return Value
-
Description:The return decimalDegreesValue of this method is a TransactionResult class which gives you the status of the transaction you just committed. It includes how many of the updates, adds, and deletes were successful and any error that were encountered during the committing of the transaction.
Parameters
GetAllFeaturesCore(IEnumerable<String>)
This method returns all of the InternalFeatures in the FeatureSource. You will not need to consider anything about pending transactions as this will be handled in the non Core version of the method. The main purpose of this method is to be the anchor of all of our default virtual implementations within this class. We wanted as the framework developers to provide you the user with as much default virtual implementation as possible. To do this we needed a way to get access to all of the features. For example, we want to create a default implementation for finding all of the InternalFeatures in a bounding box. Because this is an abstract class we do not know the specifics of the underlying data or how its spatial indexes work. What we do know is that if we get all the records then we can brute force the answer. In this way if you inherited form this class and only implemented this one method we can provide default implementations for virtually every other API. While this is nice for you the developer if you decide to create your own FeatureSource it comes with a price. The price is that it is very inefficient. In the case we just discussed about finding all of the InternalFeatures in a bounding box we would not want to look at every record to fulfil this method. Instead we would want to override the GetFeaturesInsideBoundingBoxCore and implement specific code that would be fast. For example in Oracle Spatial there is a specific SQL statement to do this operation very quickly. The same holds true with other specific FeatureSource examples. Most default implementations in the FeatureSource call the GetFeaturesInsideBoundingBoxCore which by default calls the GetAllFeaturesCore. It is our advice that if you create your own FeatureSource that you ALWAYS override the GetFeatureInsideBoundingBox. It will ensure that nearly every other API will operate efficiently. Please see the specific API to determine what method it uses.
Return Value
Parameters
GetColumnsCore()
As this is the abstract core version of the Columns method it is intended to be overridden in inherited version of the class. When overriding you will be responsible for getting a list of all of the columns supported by the FeatureSource. In this way the FeatureSource will know what columns are available and will remove any extra columns when making calls to other core methods. For example if you have a FeatureSource that has three columns of information and the user calls a method and requests four columns of information, something they can do with custom fields, we will first compare what they are asking for to the results of the GetColumnsCore. In this way we can strip out custom columns before calling other Core methods which are only responsible for returning data in the FeatureSource. For more information on custom fields you can see the documentation on the OnCustomFieldsFetch.
Return Value
Parameters
GetBoundingBoxCore()
Return Value
Parameters
GetBoundingBoxByIdCore(String)
Return Value
Parameters
id
Type:String
Description:N/A
GetFeaturesOutsideBoundingBoxCore(RectangleShape,IEnumerable<String>)
Return Value
Parameters
GetFeaturesInsideBoundingBoxCore(RectangleShape,IEnumerable<String>)
Return Value
Parameters
GetFeaturesByColumnValueCore(String,String,IEnumerable<String>)
Return Value
Parameters
columnName
Type:String
Description:N/A
columnValue
Type:String
Description:N/A
returningColumnNames
Type:IEnumerable<String>
Description:N/A
GetFeatureIdsForDrawingCore(RectangleShape,Double,Double)
Return Value
Type:Collection<String>
Description:N/A
Parameters
screenWidth
Type:Double
Description:N/A
screenHeight
Type:Double
Description:N/A
GetFeaturesForDrawingCore(RectangleShape,Double,Double,IEnumerable<String>)
Return Value
Parameters
GetFeaturesByIdsCore(IEnumerable<String>,IEnumerable<String>)
Return Value
Parameters
GetCountCore()
Return Value
Parameters
CanGetCountQuicklyCore()
Return Value
Type:Boolean
Description:N/A
Parameters
GetFirstFeaturesWellKnownTypeCore()
Return Value
Parameters
GetDistinctColumnValuesCore(String)
Return Value
Parameters
columnName
Type:String
Description:N/A
GetAllFeaturesCore(IEnumerable<String>,Int32,Int32)
Return Value
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
startIndex
Type:Int32
Description:N/A
takeCount
Type:Int32
Description:N/A
CloneDeepCore()
Return Value
Parameters
OnStreamLoading(StreamLoadingEventArgs)
Return Value
Type:Void
Description:None
Parameters
ExecuteNonQueryCore(String)
Return Value
Parameters
ExecuteScalarCore(String)
Return Value
Parameters
ExecuteQueryCore(String)
Return Value
Parameters
OpenCore()
This protected virtual method is called from the concreate public method Open. The open method play an important role as it is responsible for initializing the FeatureSource. Most methods on the FeatureSource will throw an exception if the state of the FeatureSource is not opened. When the map draws each layer it will open the FeatureSource 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 FeatureSource. When implementing this abstract method consider opening files for file based source, connecting to databases in the database based sources and so on. You will get a chance to close these in the Close method of the FeatureSource.
Return Value
Type:Void
Description:None
Parameters
ConvertToInternalProjection(BaseShape)
Return Value
Parameters
ConvertToExternalProjection(IEnumerable<Feature>)
Return Value
Parameters
ConvertToInternalProjection(IEnumerable<Feature>)
Return Value
Parameters
ConvertToExternalProjection(Feature)
Return Value
Parameters
ConvertToInternalProjection(Feature)
Return Value
Parameters
GetColumnNamesInsideFeatureSource(IEnumerable<String>)
Return Value
Type:Collection<String>
Description:N/A
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
GetColumnNamesOutsideFeatureSource(IEnumerable<String>)
Return Value
Type:Collection<String>
Description:N/A
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
GetReturningColumnNames(ReturningColumnsType)
Return Value
Type:Collection<String>
Description:N/A
Parameters
RemoveEmptyAndExcludeFeatures(Collection<Feature>)
Return Value
Type:Void
Description:N/A
Parameters
OnDrawingProgressChanged(DrawingProgressChangedEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
GetColumnNamesOutsideFeatureSourceCall(IEnumerable<String>)
Return Value
Type:Collection<String>
Description:N/A
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
GetFeaturesByActionWithStyleFilters(IEnumerable<String>,IEnumerable<String>,ZoomLevel,Func<Collection<Feature»,IEnumerable<String>,RectangleShape)
Return Value
Type:Dictionary<String,Collection<
Feature»
Description:N/A
Parameters
styleFilters
Type:IEnumerable<String>
Description:N/A
returningColumnNames
Type:IEnumerable<String>
Description:N/A
ids
Type:IEnumerable<String>
Description:N/A
ApplyLinkColumnValues(IEnumerable<String>,Func<IEnumerable<String>,Collection<Feature»,IEnumerable<String>)
Return Value
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
getFeatures
Type:Func<IEnumerable<String>,Collection<
Feature»
Description:N/A
filters
Type:IEnumerable<String>
Description:N/A
ApplyLinkColumnValues(IEnumerable<Feature>,IEnumerable<String>,IEnumerable<String>,IEnumerable<String>)
Return Value
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
filters
Type:IEnumerable<String>
Description:N/A
linkingColumnNames
Type:IEnumerable<String>
Description:N/A
GetRequiredColumnNamesForLink(IEnumerable<String>)
Return Value
Type:Collection<String>
Description:N/A
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
GetReturningColumnNamesForLink(IEnumerable<String>,IEnumerable<String>)
Return Value
Type:Collection<String>
Description:N/A
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
filters
Type:IEnumerable<String>
Description:N/A
GetFlatLinkSources()
Return Value
Parameters
CheckIsLinkColumn(String)
Return Value
Type:Boolean
Description:N/A
Parameters
columnName
Type:String
Description:N/A
CheckHasLinkColumns(IEnumerable<String>,IEnumerable<String>)
Return Value
Type:Boolean
Description:N/A
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
filters
Type:IEnumerable<String>
Description:N/A
RaiseCustomColumnFetchEvent(Collection<Feature>,Collection<String>,Boolean)
Return Value
Parameters
forceRaiseEvent
Type:Boolean
Description:N/A
OnApplyingFilters(ApplyingFiltersFeatureSourceEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
OnAppliedFilters(AppliedFiltersFeatureSourceEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
ApplyFiltersCore(IEnumerable<Feature>,IEnumerable<String>,String)
Return Value
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
linkExpression
Type:String
Description:N/A
ConvertToExternalProjectionIfNecessary(Collection<Feature>)
Return Value
Parameters
ProcessTransaction(RectangleShape,Collection<Feature>,Boolean)
Return Value
Type:Void
Description:N/A
Parameters
needUpdateProjection
Type:Boolean
Description:N/A
GetWrappingFeaturesLeft(RectangleShape,Double,Double,IEnumerable<String>,RectangleShape)
Return Value
Parameters
screenWidth
Type:Double
Description:N/A
screenHeight
Type:Double
Description:N/A
returningColumnNames
Type:IEnumerable<String>
Description:N/A
GetWrappingFeaturesRight(RectangleShape,Double,Double,IEnumerable<String>,RectangleShape)
Return Value
Parameters
screenWidth
Type:Double
Description:N/A
screenHeight
Type:Double
Description:N/A
returningColumnNames
Type:IEnumerable<String>
Description:N/A
SpatialQueryCore(BaseShape,QueryType,IEnumerable<String>)
Return Value
Parameters
returningColumnNames
Type:IEnumerable<String>
Description:N/A
GetFeaturesNearestToCore(BaseShape,GeographyUnit,Int32,IEnumerable<String>)
Return Value
Parameters
maxItemsToFind
Type:Int32
Description:N/A
returningColumnNames
Type:IEnumerable<String>
Description:N/A
GetFeaturesWithinDistanceOfCore(BaseShape,GeographyUnit,DistanceUnit,Double,IEnumerable<String>)
Return Value
Parameters
distance
Type:Double
Description:N/A
returningColumnNames
Type:IEnumerable<String>
Description:N/A
ConvertToExternalProjection(IEnumerable<RectangleShape>)
Return Value
Parameters
ConvertToInternalProjection(IEnumerable<RectangleShape>)
Return Value
Parameters
ConvertToExternalProjection(RectangleShape)
Return Value
Parameters
ConvertToInternalProjection(RectangleShape)
Return Value
Parameters
ConvertToInternalProjectionCall(RectangleShape)
Return Value
Parameters
CanGetBoundingBoxQuicklyCore()
Return Value
Type:Boolean
Description:N/A
Parameters
OnGettingFeaturesByIds(GettingFeaturesByIdsFeatureSourceEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
OnGettingFeaturesForDrawing(GettingFeaturesForDrawingFeatureSourceEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
OnGettingColumns(GettingColumnsFeatureSourceEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
OnGottenColumns(GottenColumnsFeatureSourceEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
OnCustomColumnFetch(CustomColumnFetchEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
OnCommittingTransaction(CommittingTransactionEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
OnCommittedTransaction(CommittedTransactionEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
OnOpeningFeatureSource(OpeningFeatureSourceEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
OnOpenedFeatureSource(OpenedFeatureSourceEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
OnClosingFeatureSource(ClosingFeatureSourceEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
OnClosedFeatureSource(ClosedFeatureSourceEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
Finalize()
Return Value
Type:Void
Description:N/A
Parameters
MemberwiseClone()
Return Value
Type:Object
Description:N/A
Parameters
OnBuildingIndex(BuildingIndexShapeFileFeatureSourceEventArgs)
Return Value
Type:Void
Description:None
Parameters
OnRebuilding(RebuildingShapeFileFeatureSourceEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
Public Properties
ShapePathFileName
This property returns the path and file of the shape file you want to use.
When you specify the path and file name it should be in the correct format as such however the file does not need to exists on the file system. This is to allow us to accept streams supplied by the developer at runtime. If you choose to provide a file that exists then we will attempt to use it. If we cannot find it then we will raise the SteamLoading event and allow you to supply the stream. For example you can pass in “C:\NotARealPath\File1.shp” which does not exists on the file system. When we raise the event for you to supply a stream we will pass to you the path and file name for you to differentiate the files.
Return Value
IndexPathFileName
This property gets and sets the path and file of the index you want to use.
When you specify the path and file name it should be in the correct format as such however the file does not need to exists on the file system. This is to allow us to accept streams supplied by the developer at runtime. If you choose to provide a file that exists then we will attempt to use it. If we cannot find it then we will raise the SteamLoading event and allow you to supply the stream. For example you can pass in “C:\NotARealPath\File1.idx” which does not exists on the file system. When we raise the event for you to supply a stream we will pass to you the path and file name for you to differentiate the files.
Return Value
ReadWriteMode
N/A
Return Value
IsEditable
This property returns if the FeatureSource allows edits or is read only.
This property is useful to check if a specific FeatureSource accepts editing. If you call the BeginTransaction and this property is false then an exception will be raised. For developers who are creating or extending a FeatureSource it is expected that you override this virtual method if the new FeatureSource you are creating allows edits. By default the decimalDegreesValue if false meaning that if you want to allow edits you must override this method and return true.
Return Value
UsingSpatialIndex
This property gets the shape file feature source with index or not.
Return Value
RequireIndex
This property gets and sets the requirement of index when reading data. The default value is true.
Return Value
Encoding
This property get and set the encoding information for the dbf.
Return Value
SimplificationAreaInPixel
N/A
Return Value
SimplifiedAreas
N/A
Return Value
Id
N/A
Return Value
CanExecuteSqlQuery
N/A
Return Value
IsOpen
N/A
Return Value
CanModifyColumnStructure
N/A
Return Value
IsInTransaction
N/A
Return Value
IsTransactionLive
N/A
Return Value
Projection
N/A
Return Value
GeoCache
N/A
Return Value
FeatureIdsToExclude
N/A
Return Value
TransactionBuffer
N/A
Return Value
MaxRecordsToDraw
N/A
Return Value
LinkSources
N/A
Return Value
LinkExpressions
N/A
Return Value
Filters
N/A
Return Value
GeometryValidationMode
N/A
Return Value
Protected Properties
CanExecuteSqlQueryCore
This property specifies the FeatureSource can excute sql query or not. If it is false, then it will throw exception when called the APIs:ExecuteScalar,ExecuteNonQuery,ExecuteQuery This orverides will make it true.
Return Value
IsOpenCore
N/A
Return Value
CanModifyColumnStructureCore
N/A
Return Value
FeatureSourceColumns
N/A
Return Value
Public Events
StreamLoading
This event allows you to pass in your own stream to represent the files.
If you choose you can pass in your own stream to represent the file. The stream can come from a variety of places such as isolated storage, a compressed file, and encrypted stream. When the Image is finished with the stream it will dispose of it so be sure to keep this in mind when passing the stream in. If you do not pass in a alternate stream the class will attempt to load the file from the file system using the PathFileName property.
Event Arguments:StreamLoadingEventArgs
BuildingIndex
This event will be fired each time a record was built the rtree index. You can choose to use this event to build the build index progess bar.