User Tools

Site Tools


12.0:apis:thinkgeo.core.postgresqlfeaturesource

ThinkGeo.Core.PostgreSqlFeatureSource

Inheritance Hierarchy

  • System.Object
    • ThinkGeo.Core.FeatureSource
      • ThinkGeo.Core.PostgreSqlFeatureSource

Members Summary

Public Constructors

PostgreSqlFeatureSource()

  • This is the constructor for the class.
Remarks
  • N/A
Parameters

PostgreSqlFeatureSource(String,String,String)

  • This is the constructor for the class.
Remarks
  • None
Parameters
  • connectionString
    • Type:String
    • Description:This parameter represents the connection string to connect to the server.
  • tableName
    • Type:String
    • Description:This parameter represents the table name being accessed.
  • featureIdColumn
    • Type:String
    • Description:This parameter represents the name of the column that holds the unique feature Id.

PostgreSqlFeatureSource(String,String,String,Int32)

  • N/A
Remarks
  • N/A
Parameters
  • connectionString
    • Type:String
    • Description:N/A
  • tableName
    • Type:String
    • Description:N/A
  • featureIdColumn
    • Type:String
    • Description:N/A
  • srid
    • Type:Int32
    • Description:N/A

PostgreSqlFeatureSource(String,String,String,Int32,String,String)

  • N/A
Remarks
  • N/A
Parameters
  • connectionString
    • Type:String
    • Description:N/A
  • tableName
    • Type:String
    • Description:N/A
  • featureIdColumn
    • Type:String
    • Description:N/A
  • srid
    • Type:Int32
    • Description:N/A
  • schemaName
    • Type:String
    • Description:N/A
  • geometryColumnName
    • Type:String
    • Description:N/A

PostgreSqlFeatureSource(NpgsqlConnection,String,String)

  • N/A
Remarks
  • N/A
Parameters
  • connection
    • Type:NpgsqlConnection
    • Description:N/A
  • tableName
    • Type:String
    • Description:N/A
  • featureIdColumn
    • Type:String
    • Description:N/A

PostgreSqlFeatureSource(NpgsqlConnection,String,String,Int32)

  • N/A
Remarks
  • N/A
Parameters
  • connection
    • Type:NpgsqlConnection
    • Description:N/A
  • tableName
    • Type:String
    • Description:N/A
  • featureIdColumn
    • Type:String
    • Description:N/A
  • srid
    • Type:Int32
    • Description:N/A

PostgreSqlFeatureSource(NpgsqlConnection,String,String,Int32,String,String)

  • N/A
Remarks
  • N/A
Parameters
  • connection
    • Type:NpgsqlConnection
    • Description:N/A
  • tableName
    • Type:String
    • Description:N/A
  • featureIdColumn
    • Type:String
    • Description:N/A
  • srid
    • Type:Int32
    • Description:N/A
  • schemaName
    • Type:String
    • Description:N/A
  • geometryColumnName
    • Type:String
    • Description:N/A

Protected Constructors

Public Methods

ExecuteNonQuery(String)

  • N/A
Remarks
  • This methods executes a query that has no results.
Return Value
  • Type:Int32
  • Description:None
Parameters
  • sqlStatement
    • Type:String
    • Description:This parameter represents the SQL statement that will be executed.

GetApproximateCount()

  • N/A
Remarks
  • N/A
Return Value
  • Type:Int32
  • Description:
Parameters

GetExactCount()

  • N/A
Remarks
  • It uses a way in PostgreSQL that gets an exact count however it must access each record which makes it slower on large tables. The standard GetCount method only gets the approximate count however it is really fast. This way you have a choice depending on if you need a fast approximate count or a slower by precise count.
Return Value
  • Type:Int32
  • Description:This method returns the exact count though it takes longer than the standard GetCount.
Parameters

GetFirstGeometryType()

  • N/A
Remarks
  • N/A
Return Value
  • Description:The shape type of the first record.
Parameters

GetDistinctColumnValues(String)

  • N/A
Remarks
  • N/A
Return Value
Parameters
  • columnName
    • Type:String
    • Description:N/A

GetAllFeatures(ReturningColumnsType,Int32)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • startIndex
    • Type:Int32
    • Description:N/A

GetAllFeatures(ReturningColumnsType,Int32,Int32)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • startIndex
    • Type:Int32
    • Description:N/A
  • takeCount
    • Type:Int32
    • Description:N/A

GetAllFeatures(IEnumerable<String>,Int32,Int32)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A
  • startIndex
    • Type:Int32
    • Description:N/A
  • takeCount
    • Type:Int32
    • Description:N/A

CommitTransaction()

  • N/A
Remarks
  • N/A
Return Value
Parameters

AddColumn(FeatureSourceColumn)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

DeleteColumn(String)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters
  • columnName
    • Type:String
    • Description:N/A

UpdateColumn(String,FeatureSourceColumn)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters
  • columnName
    • Type:String
    • Description:N/A

GetAllFeatures(IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A

GetAllFeatures(ReturningColumnsType)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters

GetFeatureIds()

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<String>
  • Description:N/A
Parameters

GetFeaturesOutsideBoundingBox(RectangleShape,IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A

GetFeaturesOutsideBoundingBox(RectangleShape,ReturningColumnsType)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters

GetFeaturesInsideBoundingBox(RectangleShape,IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A

GetFeaturesInsideBoundingBox(RectangleShape,ReturningColumnsType)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters

GetFeatureIdsInsideBoundingBox(RectangleShape)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<String>
  • Description:N/A
Parameters

GetFeaturesForDrawing(RectangleShape,Double,Double,IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
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)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • screenWidth
    • Type:Double
    • Description:N/A
  • screenHeight
    • Type:Double
    • Description:N/A

SpatialQuery(BaseShape,QueryType,IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A

SpatialQuery(BaseShape,QueryType,ReturningColumnsType)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters

SpatialQuery(Feature,QueryType,IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • feature
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A

SpatialQuery(Feature,QueryType,ReturningColumnsType)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • feature

GetFeaturesNearestTo(BaseShape,GeographyUnit,Int32,IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • maxItemsToFind
    • Type:Int32
    • Description:N/A
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A

GetFeaturesNearestTo(BaseShape,GeographyUnit,Int32,ReturningColumnsType)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • maxItemsToFind
    • Type:Int32
    • Description:N/A

GetFeaturesNearestTo(Feature,GeographyUnit,Int32,IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • targetFeature
  • maxItemsToFind
    • Type:Int32
    • Description:N/A
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A

GetFeaturesNearestTo(Feature,GeographyUnit,Int32,ReturningColumnsType)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • targetFeature
  • maxItemsToFind
    • Type:Int32
    • Description:N/A

GetFeaturesNearestTo(BaseShape,GeographyUnit,Int32,IEnumerable<String>,Double,DistanceUnit)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
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)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • targetFeature
  • 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>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • distance
    • Type:Double
    • Description:N/A
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A

GetFeaturesWithinDistanceOf(BaseShape,GeographyUnit,DistanceUnit,Double,ReturningColumnsType)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • distance
    • Type:Double
    • Description:N/A

GetFeaturesWithinDistanceOf(Feature,GeographyUnit,DistanceUnit,Double,IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • targetFeature
  • distance
    • Type:Double
    • Description:N/A
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A

GetFeaturesWithinDistanceOf(Feature,GeographyUnit,DistanceUnit,Double,ReturningColumnsType)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • targetFeature
  • distance
    • Type:Double
    • Description:N/A

GetFeatureById(String,IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
Parameters
  • id
    • Type:String
    • Description:N/A
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A

GetFeatureById(String,ReturningColumnsType)

  • N/A
Remarks
  • N/A
Return Value
Parameters
  • id
    • Type:String
    • Description:N/A

GetFeaturesByIds(IEnumerable<String>,IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • ids
    • Type:IEnumerable<String>
    • Description:N/A
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A

GetFeaturesByIds(IEnumerable<String>,ReturningColumnsType)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • ids
    • Type:IEnumerable<String>
    • Description:N/A

GetBoundingBoxById(String)

  • N/A
Remarks
  • N/A
Return Value
Parameters
  • id
    • Type:String
    • Description:N/A

GetBoundingBoxByIds(IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
Parameters
  • ids
    • Type:IEnumerable<String>
    • Description:N/A

RemoveEmptyAndExcludedFeatures(Collection<Feature>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters
  • features
    • Type:Collection<Feature>
    • Description:N/A

GetColumnNamesOutsideFeatureSource(IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<String>
  • Description:N/A
Parameters
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A

GetBoundingBoxesByIds(IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
Parameters
  • ids
    • Type:IEnumerable<String>
    • Description:N/A

GetFirstFeaturesWellKnownType()

  • N/A
Remarks
  • N/A
Return Value
Parameters

CanGetBoundingBoxQuickly()

  • N/A
Remarks
  • N/A
Return Value
  • Type:Boolean
  • Description:N/A
Parameters

CanGetCountQuickly()

  • N/A
Remarks
  • N/A
Return Value
  • Type:Boolean
  • Description:N/A
Parameters

ExecuteNonQuery(String)

  • N/A
Remarks
  • This methods executes a query that has no results.
Return Value
  • Type:Int32
  • Description:None
Parameters
  • sqlStatement
    • Type:String
    • Description:This parameter represents the SQL statement that will be executed.

GetFeaturesByColumnValue(String,String,ReturningColumnsType)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • columnName
    • Type:String
    • Description:N/A
  • columnValue
    • Type:String
    • Description:N/A

GetFeaturesByColumnValue(String,String,IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • columnName
    • Type:String
    • Description:N/A
  • columnValue
    • Type:String
    • Description:N/A
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A

GetFeaturesByColumnValue(String,String)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • columnName
    • Type:String
    • Description:N/A
  • columnValue
    • Type:String
    • Description:N/A

ExecuteScalar(String)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Object
  • Description:N/A
Parameters
  • sqlStatement
    • Type:String
    • Description:N/A

ExecuteQuery(String)

  • N/A
Remarks
  • N/A
Return Value
  • Type:DataTable
  • Description:N/A
Parameters
  • sqlStatement
    • Type:String
    • Description:N/A

GetColumns()

  • N/A
Remarks
  • N/A
Return Value
Parameters

RefreshColumns()

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

GetCount()

  • N/A
Remarks
  • N/A
Return Value
  • Type:Int64
  • Description:N/A
Parameters

GetBoundingBox()

  • N/A
Remarks
  • N/A
Return Value
Parameters

CloneDeep()

  • N/A
Remarks
  • N/A
Return Value
Parameters

Open()

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

Close()

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

BeginTransaction()

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

AddFeature(Feature)

  • N/A
Remarks
  • N/A
Return Value
  • Type:String
  • Description:N/A
Parameters
  • feature

AddFeature(BaseShape)

  • N/A
Remarks
  • N/A
Return Value
  • Type:String
  • Description:N/A
Parameters

AddFeature(BaseShape,IDictionary<String,String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:String
  • Description:N/A
Parameters
  • columnValues
    • Type:IDictionary<String,String>
    • Description:N/A

DeleteFeature(String)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters
  • id
    • Type:String
    • Description:N/A

UpdateFeature(Feature)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters
  • feature

UpdateFeature(BaseShape)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

UpdateFeature(BaseShape,IDictionary<String,String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters
  • columnValues
    • Type:IDictionary<String,String>
    • Description:N/A

RollbackTransaction()

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

GetType()

  • N/A
Remarks
  • N/A
Return Value
  • Type:Type
  • Description:N/A
Parameters

ToString()

  • N/A
Remarks
  • N/A
Return Value
  • Type:String
  • Description:N/A
Parameters

Equals(Object)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Boolean
  • Description:N/A
Parameters
  • obj
    • Type:Object
    • Description:N/A

GetHashCode()

  • N/A
Remarks
  • N/A
Return Value
  • Type:Int32
  • Description:N/A
Parameters

GetTableNames(String)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<String>
  • Description:N/A
Parameters
  • connectionString
    • Type:String
    • Description:N/A

GetViewNames(String)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<String>
  • Description:N/A
Parameters
  • connectionString
    • Type:String
    • Description:N/A

GetDatabaseNames(String,Int32,String,String)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<String>
  • Description:N/A
Parameters
  • server
    • Type:String
    • Description:N/A
  • port
    • Type:Int32
    • Description:N/A
  • userName
    • Type:String
    • Description:N/A
  • password
    • Type:String
    • Description:N/A

Protected Methods

OnExecutingSqlStatement(ExecutingSqlStatementPostgreSqlFeatureSourceEventArgs)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

ExecuteNonQueryCore(String)

  • N/A
Remarks
  • This methods executes a query that has no results.
Return Value
  • Type:Int32
  • Description:None
Parameters
  • sqlStatement
    • Type:String
    • Description:This parameter represents the SQL statement that will be executed.

GetFirstFeaturesWellKnownTypeCore()

  • N/A
Remarks
  • N/A
Return Value
Parameters

OpenCore()

  • N/A
Remarks
  • 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

CloseCore()

  • N/A
Remarks
  • This protected virtual method is called from the concreate public method Close. The close method plays an important role in the life cycle of the FeatureSource. It may be called after drawing to release any memory and other resources that were allocated since the Open method was called. It is recommended that if you override this method that you take the following things into account. This method may be called multiple times so we suggest you write the so that that a call to a closed FeatureSource is ignored and does not generate an error. We also suggest that in the close you free all resources that have been opened. Remember that the object will not be destroyed but will be re-opened possibly in the near future.
Return Value
  • Type:Void
  • Description:None
Parameters

GetCountCore()

  • N/A
Remarks
  • This protected virtual method is called from the concreate public method GetCount. It does not take into account any transaction activity as this is the responsibility of the concreate public method GetCount. In this way as a developer if you choose to override this method you do not have to consider transaction at all. The default implementation of GetCountCore uses the GetAllRecordsCore method to calculate how many records there are in the FeatureSource. We strongly recommend that you provide your own implementation for this method that will be more efficient If you do not override this method the means it gets the count is by calling the GetAllFeatureCore method and counting each feature. This is a very inefficient way to get the count in most data sources. It is highly recommended that you override this method and replace it with a highly optimized version. For example in a ShapeFile the record count is in the main header of the file. Similarly if you are using Oracle Spatial you can execute a simple query to get the count of all of the record without returning them. In these ways you can greatly improve the performance of this method.
Return Value
  • Type:Int64
  • Description:This method returns the count of the number of records in this FeatureSource.
Parameters

GetFeaturesInsideBoundingBoxCore(RectangleShape,IEnumerable<String>)

  • N/A
Remarks
  • This method returns all of the Features of this FeatureSource inside of the specified bounding box. If you are overriding this method you will not need to consider anything about transactions as this is handled by the concreate version of this method. The default implementation of GetFeaturesInsideBoundingBoxCore uses the GetAllRecordsCore method to determine which Features are inside of the bounding box. We strongly recommend that you provide your own implementation for this method that will be more efficient. It is especially important for this method as many other default virtual methods use this for their calculations. We highly recommend when you override this method that you use any spatial indexes you have at your disposal to make this method as fast as possible.
Return Value
  • Type:Collection<Feature>
  • Description:The return value is a collection of all of the Features that are inside of the bounding box.
Parameters
  • boundingBox
    • Description:This parameter represents the bounding box you with to find Features inside of.
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:This parameter allows you to select the field names of the column data you wish to return with each Feature.

GetFeaturesOutsideBoundingBoxCore(RectangleShape,IEnumerable<String>)

  • N/A
Remarks
  • This method returns all of the Features of this FeatureSource outside of the specified bounding box. If you are in a transaction and that transaction is live then it will also take that into consideration. The default implementation of GetFeaturesOutsideBoundingBoxCore uses the GetAllRecordsCore method to determine which Features are outside of the bounding box. We strongly recommend that you provide your own implementation for this method that will be more efficient
Return Value
  • Type:Collection<Feature>
  • Description:This method returns all of the Features of this FeatureSource outside of the specified bounding box.
Parameters
  • boundingBox
    • Description:This parameter represents the bounding box you with to find Features outside of.
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:This parameter allows you to select the field names of the column data you wish to return with each Feature.

CommitTransactionCore(TransactionBuffer)

  • N/A
Remarks
  • 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 Features 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 Features. 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 value 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
  • transactions
    • Description:This parameter encapsulates all of the adds, edits and deleted that make up the transaction. You will use this data to write the changes to your underlying data source.

GetAllFeaturesCore(IEnumerable<String>)

  • N/A
Remarks
  • This method returns all of the Features 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 Features 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 Features 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
  • Type:Collection<Feature>
  • Description:The return value is a collection of all of the Features in the FeatureSource.
Parameters
  • columnNames
    • Type:IEnumerable<String>
    • Description:This parameter allows you to select the field names of the column data you wish to return with each Feature.

GetFeatureIdsCore()

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<String>
  • Description:N/A
Parameters

GetAllFeaturesCore(IEnumerable<String>,Int32,Int32)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A
  • startIndex
    • Type:Int32
    • Description:N/A
  • takeCount
    • Type:Int32
    • Description:N/A

GetColumnsCore()

  • N/A
Remarks
  • As this is the abstract core version of the GetColumns 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
  • Type:Collection<FeatureSourceColumn>
  • Description:This method returns the columns available for the FeatureSource.
Parameters

GetBoundingBoxCore()

  • N/A
Remarks
  • This protected virtual method is called from the concreate public method GetBoundingBox. It does not take into account any transaction activity as this is the responsibility of the concreate public method GetBoundingBox. In this way as a developer if you choose to override this method you do not have to consider transaction at all. The default implementation of GetBoundingBoxCore uses the GetAllRecordsCore method to calculate the bounding box of the FeatureSource. We strongly recommend that you provide your own implementation for this method that will be more efficient If you do not override this method the means it gets the BoundingBox is by calling the GetAllFeatureCore method and deriving it from each feature. This is a very inefficient way to get the BoundingBox in most data sources. It is highly recommended that you override this method and replace it with a highly optimized version. For example in a ShapeFile the BoundingBox is in the main header of the file. Similarly if you are using Oracle Spatial you can execute a simple query to get the BoundingBox of all of the record without returning them. In these ways you can greatly improve the performance of this method.
Return Value
  • Description:This method returns the bounding box which encompasses all of the features in the FeatureSource.
Parameters

GetFeaturesByIdsCore(IEnumerable<String>,IEnumerable<String>)

  • N/A
Remarks
  • This method returns a collection of Features by providing a group of Ids. The internal implementation calls the GetAllFeaturesCore. Because of this if you want an efficient version of this method then we high suggest you override the GetFeaturesByIdsCore method and provide a fast way to find a group of Features by their Id.
Return Value
  • Type:Collection<Feature>
  • Description:This method returns a collection of Features by providing a group of Ids.
Parameters
  • ids
    • Type:IEnumerable<String>
    • Description:This parameter represents the group of Ids which uniquely identified the Features in the FeatureSource.
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:This parameter allows you to select the field names of the column data you wish to return with each Feature.

GetFeaturesByColumnValueCore(String,String,IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • columnName
    • Type:String
    • Description:N/A
  • columnValue
    • Type:String
    • Description:N/A
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A

ExecuteQueryCore(String)

  • N/A
Remarks
  • Use the ExcuteScalar method to retrieve a single value from the database. This reaquires less code than use the ExcuteQuery method and performing the operations necessary to generate the single value using the data.
Return Value
  • Type:DataTable
  • Description:The result set in the format of dataTable.
Parameters
  • sqlStatement
    • Type:String
    • Description:The sqlStatement to be excuted.

CanGetBoundingBoxQuicklyCore()

  • N/A
Remarks
  • N/A
Return Value
  • Type:Boolean
  • Description:N/A
Parameters

CanGetCountQuicklyCore()

  • N/A
Remarks
  • N/A
Return Value
  • Type:Boolean
  • Description:N/A
Parameters

GetDistinctColumnValuesCore(String)

  • N/A
Remarks
  • N/A
Return Value
Parameters
  • columnName
    • Type:String
    • Description:N/A

RaiseCustomColumnFetchEvent(Collection<Feature>,Collection<String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • sourceFeatures
    • Type:Collection<Feature>
    • Description:N/A
  • fieldNamesOutsideOfSource
    • Type:Collection<String>
    • Description:N/A

GetFeatureIdsInsideBoundingBoxCore(RectangleShape)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<String>
  • Description:N/A
Parameters

ProcessTransaction(RectangleShape,Collection<Feature>,Boolean)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters
  • returnFeatures
    • Type:Collection<Feature>
    • Description:N/A
  • needUpdateProjection
    • Type:Boolean
    • Description:N/A

GetFeaturesForDrawingCore(RectangleShape,Double,Double,IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
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>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A

GetFeaturesNearestToCore(BaseShape,GeographyUnit,Int32,IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • maxItemsToFind
    • Type:Int32
    • Description:N/A
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A

GetFeaturesWithinDistanceOfCore(BaseShape,GeographyUnit,DistanceUnit,Double,IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<Feature>
  • Description:N/A
Parameters
  • distance
    • Type:Double
    • Description:N/A
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A

GetBoundingBoxByIdCore(String)

  • N/A
Remarks
  • N/A
Return Value
Parameters
  • id
    • Type:String
    • Description:N/A

GetColumnNamesInsideFeatureSource(IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<String>
  • Description:N/A
Parameters
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A

GetReturningColumnNames(ReturningColumnsType)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<String>
  • Description:N/A
Parameters

OnDrawingProgressChanged(DrawingProgressChangedEventArgs)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

GetColumnNamesOutsideFeatureSourceCall(IEnumerable<String>)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<String>
  • Description:N/A
Parameters
  • returningColumnNames
    • Type:IEnumerable<String>
    • Description:N/A

OnGettingColumns(GettingColumnsFeatureSourceEventArgs)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

OnGottenColumns(GottenColumnsFeatureSourceEventArgs)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

OnCustomColumnFetch(CustomColumnFetchEventArgs)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

OnCommittingTransaction(CommittingTransactionEventArgs)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

OnCommittedTransaction(CommittedTransactionEventArgs)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

OnOpeningFeatureSource(OpeningFeatureSourceEventArgs)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

OnOpenedFeatureSource(OpenedFeatureSourceEventArgs)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

OnClosingFeatureSource(ClosingFeatureSourceEventArgs)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

OnClosedFeatureSource(ClosedFeatureSourceEventArgs)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

OnGettingFeaturesByIds(GettingFeaturesByIdsFeatureSourceEventArgs)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

OnGettingFeaturesForDrawing(GettingFeaturesForDrawingFeatureSourceEventArgs)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

ExecuteScalarCore(String)

  • N/A
Remarks
  • N/A
Return Value
  • Type:Object
  • Description:N/A
Parameters
  • sqlStatement
    • Type:String
    • Description:N/A

CloneDeepCore()

  • N/A
Remarks
  • N/A
Return Value
Parameters

MemberwiseClone()

  • N/A
Remarks
  • N/A
Return Value
  • Type:Object
  • Description:N/A
Parameters

Finalize()

  • N/A
Remarks
  • N/A
Return Value
  • Type:Void
  • Description:N/A
Parameters

Public Properties

FetchTime

  • N/A
Remarks
  • N/A
Return Value
  • Type:Double

DrawnFeatureCount

  • N/A
Remarks
  • N/A
Return Value
  • Type:Int32

TotalBytesDrawn

  • N/A
Remarks
  • N/A
Return Value
  • Type:Int32

Srid

  • N/A
Remarks
  • N/A
Return Value
  • Type:Int32

WhereClause

  • N/A
Remarks
  • N/A
Return Value
  • Type:String

CommandTimeout

  • N/A
Remarks
  • N/A
Return Value
  • Type:Int32

SchemaName

  • N/A
Remarks
  • N/A
Return Value
  • Type:String

GeometryColumnName

  • N/A
Remarks
  • N/A
Return Value
  • Type:String

ConnectionString

  • N/A
Remarks
  • None
Return Value
  • Type:String

TableName

  • N/A
Remarks
  • None
Return Value
  • Type:String

FeatureIdColumn

  • N/A
Remarks
  • None
Return Value
  • Type:String

IsEditable

  • N/A
Remarks
  • 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 value if false meaning that if you want to allow edits you must override this method and return true.
Return Value
  • Type:Boolean

Id

  • N/A
Remarks
  • N/A
Return Value
  • Type:String

CanExecuteSqlQuery

  • N/A
Remarks
  • N/A
Return Value
  • Type:Boolean

IsOpen

  • N/A
Remarks
  • N/A
Return Value
  • Type:Boolean

Projection

  • N/A
Remarks
  • N/A
Return Value

CanModifyColumnStructure

  • N/A
Remarks
  • N/A
Return Value
  • Type:Boolean

IsInTransaction

  • N/A
Remarks
  • N/A
Return Value
  • Type:Boolean

IsTransactionLive

  • N/A
Remarks
  • N/A
Return Value
  • Type:Boolean

ProjectionConverter

  • N/A
Remarks
  • N/A
Return Value

GeoCache

  • N/A
Remarks
  • N/A
Return Value

FeatureIdsToExclude

  • N/A
Remarks
  • N/A
Return Value
  • Type:Collection<String>

TransactionBuffer

  • N/A
Remarks
  • N/A
Return Value

MaxRecordsToDraw

  • N/A
Remarks
  • N/A
Return Value
  • Type:Int32

Protected Properties

CanExecuteSqlQueryCore

  • N/A
Remarks
  • N/A
Return Value
  • Type:Boolean

IsOpenCore

  • N/A
Remarks
  • N/A
Return Value
  • Type:Boolean

CanModifyColumnStructureCore

  • N/A
Remarks
  • N/A
Return Value
  • Type:Boolean

FeatureSourceColumns

  • N/A
Remarks
  • N/A
Return Value

Public Events

ExecutingSqlStatement

  • N/A
Remarks
  • N/A

Event Arguments:ExecutingSqlStatementPostgreSqlFeatureSourceEventArgs

DrawingProgressChanged

  • N/A
Remarks
  • N/A

Event Arguments:DrawingProgressChangedEventArgs

GettingColumns

  • N/A
Remarks
  • N/A

Event Arguments:GettingColumnsFeatureSourceEventArgs

GottenColumns

  • N/A
Remarks
  • N/A

Event Arguments:GottenColumnsFeatureSourceEventArgs

GettingFeaturesByIds

  • N/A
Remarks
  • N/A

Event Arguments:GettingFeaturesByIdsFeatureSourceEventArgs

GettingFeaturesForDrawing

  • N/A
Remarks
  • N/A

Event Arguments:GettingFeaturesForDrawingFeatureSourceEventArgs

CustomColumnFetch

  • N/A
Remarks
  • N/A

Event Arguments:CustomColumnFetchEventArgs

CommittingTransaction

  • N/A
Remarks
  • N/A

Event Arguments:CommittingTransactionEventArgs

CommittedTransaction

  • N/A
Remarks
  • N/A

Event Arguments:CommittedTransactionEventArgs

OpeningFeatureSource

  • N/A
Remarks
  • N/A

Event Arguments:OpeningFeatureSourceEventArgs

OpenedFeatureSource

  • N/A
Remarks
  • N/A

Event Arguments:OpenedFeatureSourceEventArgs

ClosingFeatureSource

  • N/A
Remarks
  • N/A

Event Arguments:ClosingFeatureSourceEventArgs

ClosedFeatureSource

  • N/A
Remarks
  • N/A

Event Arguments:ClosedFeatureSourceEventArgs

12.0/apis/thinkgeo.core.postgresqlfeaturesource.txt · Last modified: 2019/09/26 09:44 (external edit)