C# Class SharpMap.Data.Providers.MsSql

Inheritance: IFeatureProvider, IFileBased, IDisposable
Datei anzeigen Open project: jumpinjackie/fdotoolbox

Public Methods

Method Description
Close ( ) : void

Closes the datasource

CreateDataTable ( SharpMap datasource, string tablename, string connstr ) : int

Creates a new table in a Microsoft SQL Server database and copies rows from an existing datasource.

The datatable created will contain six extra columns besides the attribute data: "OID" (Object ID row), "WKB_Geometry" (Geometry stored as WKB), and Envelope_MinX, Envelope_MinY, Envelope_MaxX, Envelope_MaxY for geometry bounding box.

Upload a ShapeFile to a database: public void CreateDatabase(string shapeFile) { if (!System.IO.File.Exists(shapeFile)) { MessageBox.Show("File not found"); return; } ShapeFile shp = new ShapeFile(shapeFile, false); //Create tablename from filename string tablename = shapeFile.Substring(shapeFile.LastIndexOf('\\') + 1, shapeFile.LastIndexOf('.') - shapeFile.LastIndexOf('\\') - 1); //Create connectionstring string connstr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|GeoDatabase.mdf;Integrated Security=True;User Instance=True"; int count = SharpMap.Data.Providers.MsSql.CreateDataTable(shp, tablename, connstr); MessageBox.Show("Uploaded " + count.ToString() + " features to datatable '" + tablename + "'"); }

Dispose ( ) : void

Disposes the object

ExecuteIntersectionQuery ( SharpMap geom, FeatureDataSet ds ) : void

Returns the features that intersects with 'geom' [NOT IMPLEMENTED]

ExecuteIntersectionQuery ( SharpMap bbox, SharpMap ds ) : void

Returns all features with the view box

GetExtents ( ) : SharpMap.Geometries.BoundingBox

Boundingbox of dataset

GetFeature ( uint RowID ) : SharpMap.Data.FeatureDataRow

Returns a datarow based on a RowID

GetFeatureCount ( ) : int

Returns the number of features in the dataset

GetGeometriesInView ( SharpMap bbox ) : List

Returns geometries within the specified bounding box

GetGeometryByID ( uint oid ) : SharpMap.Geometries.Geometry

Returns the geometry corresponding to the Object ID

GetObjectIDsInView ( SharpMap bbox ) : List

Returns geometry Object IDs whose bounding box intersects 'bbox'

GetXYTolerance ( ) : double?
MsSql ( string ConnectionStr, string tablename, string geometryColumnName, string OID_ColumnName ) : System

Initializes a new connection to MS Sql Server

Open ( ) : void

Opens the datasource

Private Methods

Method Description
Dispose ( bool disposing ) : void
GetBoxClause ( SharpMap bbox ) : string
Type2SqlType ( Type t ) : SqlDbType

Returns the name of the SqlServer datatype based on a .NET datatype

Method Details

Close() public method

Closes the datasource
public Close ( ) : void
return void

CreateDataTable() public static method

Creates a new table in a Microsoft SQL Server database and copies rows from an existing datasource.

The datatable created will contain six extra columns besides the attribute data: "OID" (Object ID row), "WKB_Geometry" (Geometry stored as WKB), and Envelope_MinX, Envelope_MinY, Envelope_MaxX, Envelope_MaxY for geometry bounding box.

Upload a ShapeFile to a database: public void CreateDatabase(string shapeFile) { if (!System.IO.File.Exists(shapeFile)) { MessageBox.Show("File not found"); return; } ShapeFile shp = new ShapeFile(shapeFile, false); //Create tablename from filename string tablename = shapeFile.Substring(shapeFile.LastIndexOf('\\') + 1, shapeFile.LastIndexOf('.') - shapeFile.LastIndexOf('\\') - 1); //Create connectionstring string connstr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|GeoDatabase.mdf;Integrated Security=True;User Instance=True"; int count = SharpMap.Data.Providers.MsSql.CreateDataTable(shp, tablename, connstr); MessageBox.Show("Uploaded " + count.ToString() + " features to datatable '" + tablename + "'"); }

public static CreateDataTable ( SharpMap datasource, string tablename, string connstr ) : int
datasource SharpMap Datasource to upload
tablename string Name of table to create (existing table will be overwritten!)
connstr string Connection string to database
return int

Dispose() public method

Disposes the object
public Dispose ( ) : void
return void

ExecuteIntersectionQuery() public method

Returns the features that intersects with 'geom' [NOT IMPLEMENTED]
public ExecuteIntersectionQuery ( SharpMap geom, FeatureDataSet ds ) : void
geom SharpMap
ds FeatureDataSet FeatureDataSet to fill data into
return void

ExecuteIntersectionQuery() public method

Returns all features with the view box
public ExecuteIntersectionQuery ( SharpMap bbox, SharpMap ds ) : void
bbox SharpMap view box
ds SharpMap FeatureDataSet to fill data into
return void

GetExtents() public method

Boundingbox of dataset
public GetExtents ( ) : SharpMap.Geometries.BoundingBox
return SharpMap.Geometries.BoundingBox

GetFeature() public method

Returns a datarow based on a RowID
public GetFeature ( uint RowID ) : SharpMap.Data.FeatureDataRow
RowID uint
return SharpMap.Data.FeatureDataRow

GetFeatureCount() public method

Returns the number of features in the dataset
public GetFeatureCount ( ) : int
return int

GetGeometriesInView() public method

Returns geometries within the specified bounding box
public GetGeometriesInView ( SharpMap bbox ) : List
bbox SharpMap
return List

GetGeometryByID() public method

Returns the geometry corresponding to the Object ID
public GetGeometryByID ( uint oid ) : SharpMap.Geometries.Geometry
oid uint Object ID
return SharpMap.Geometries.Geometry

GetObjectIDsInView() public method

Returns geometry Object IDs whose bounding box intersects 'bbox'
public GetObjectIDsInView ( SharpMap bbox ) : List
bbox SharpMap
return List

GetXYTolerance() public method

public GetXYTolerance ( ) : double?
return double?

MsSql() public method

Initializes a new connection to MS Sql Server
public MsSql ( string ConnectionStr, string tablename, string geometryColumnName, string OID_ColumnName ) : System
ConnectionStr string Connectionstring
tablename string Name of data table
geometryColumnName string Name of geometry column
OID_ColumnName string Name of column with unique identifier
return System

Open() public method

Opens the datasource
public Open ( ) : void
return void