SQL Server - Work with GIS Layers in MSSQL Databases using C#
Contents
[
Hide
]
SQL Server are one of the most widely used databases among Software. Aspose.GIS lets you work with the PostgreSQL databases.
Iterate over Layers in SqlServer database
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-gis/Aspose.GIS-for-.NET | |
// First, we create the connection to the SQL Server. | |
using (var connection = new SqlConnection(connectionString)) | |
{ | |
connection.Open(); | |
// Then, we pass this connection to Dataset.Open method in order to access tables in the SQL Server. | |
using (var ds = Dataset.Open(connection, Drivers.SqlServer)) | |
{ | |
// Only spatial tables are exported as layers, so the following code will list all tables | |
// that have geometry column. | |
for (int i = 0; i < ds.LayersCount; ++i) | |
{ | |
Console.WriteLine(ds.GetLayerName(i)); | |
} | |
} | |
} |
Add new layer in SqlServer database
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-gis/Aspose.GIS-for-.NET | |
// First, we create the connection to the SQL Server. | |
using (var connection = new SqlConnection(connectionString)) | |
{ | |
connection.Open(); | |
// Then, we pass this connection to Dataset.Open method in order to access tables in the SQL Server. | |
using (var ds = Dataset.Open(connection, Drivers.SqlServer)) | |
{ | |
// create table with the name "features_table" and fill it with data. | |
using (var layer = ds.CreateLayer("features_table")) | |
{ | |
layer.Attributes.Add(new FeatureAttribute("name", AttributeDataType.String) { Width = 50 }); | |
var feature = layer.ConstructFeature(); | |
feature.SetValue("name", "Name1"); | |
feature.Geometry = Geometry.FromText("POINT (10 20 30)"); | |
layer.Add(feature); | |
feature = layer.ConstructFeature(); | |
feature.SetValue("name", "Name2"); | |
feature.Geometry = Geometry.FromText("POINT (-10 -20 -30)"); | |
layer.Add(feature); | |
} | |
} | |
} |
Export layer from SqlServer database to a file format
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-gis/Aspose.GIS-for-.NET | |
var outputPath = Path.Combine(RunExamples.GetDataDir(), "sql_server_out.kml"); | |
// First, we create the connection to the SQL Server. | |
using (var connection = new SqlConnection(connectionString)) | |
{ | |
connection.Open(); | |
// Then, we pass this connection to Dataset.Open method in order to access tables in the SQL Server. | |
using (var ds = Dataset.Open(connection, Drivers.SqlServer)) | |
{ | |
// open table with the name "features_table" in SQL Server database and save it to the Kml. | |
using (var table = ds.OpenLayer("features_table")) | |
{ | |
table.SaveTo(outputPath, Drivers.Kml); | |
} | |
Console.WriteLine("\nExport complete: " + outputPath); | |
} | |
} |
Remove layer from SqlServer database
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-gis/Aspose.GIS-for-.NET | |
// First, we create the connection to the SQL Server. | |
using (var connection = new SqlConnection(connectionString)) | |
{ | |
connection.Open(); | |
// Then, we pass this connection to Dataset.Open method in order to access tables in the SQL Server. | |
using (var ds = Dataset.Open(connection, Drivers.SqlServer)) | |
{ | |
// remove table with the name "features_table". | |
// It possible remove a table with geospatial data only. | |
// An exception isn't thrown if the table doesn't exist. | |
ds.RemoveLayer("features_table"); | |
} | |
} |