PostGIS - العمل مع طبقات نظم المعلومات الجغرافية في قواعد بيانات PostgreSQL باستخدام C#

PostgreSQL (إضافة PostGIS) هي واحدة من أكثر قواعد البيانات استخدامًا على نطاق واسع بين برامج نظم المعلومات الجغرافية. تتيح لك Aspose.GIS العمل مع قواعد بيانات PostgreSQL.

التكرار عبر الطبقات في قاعدة بيانات PostGis

// 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 PostgreSQL with Npgsql library (https://www.nuget.org/packages/Npgsql/)
// Then, we pass this connection to Dataset.Open method in order to access tables in the PostgreSQL.
using (var connection = new NpgsqlConnection(postgreSqlConnectionString))
{
connection.Open();
using (var ds = Dataset.Open(connection, Drivers.PostGis))
{
// 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));
}
}
}

إضافة طبقة جديدة في قاعدة بيانات PostGis

// 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 PostgreSQL with Npgsql library (https://www.nuget.org/packages/Npgsql/)
using (var connection = new NpgsqlConnection(postgreSqlConnectionString))
{
connection.Open();
// Then, we pass this connection to Dataset.Open method in order to access tables in the PostgreSQL.
using (var ds = Dataset.Open(connection, Drivers.PostGis))
{
// 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);
}
}
}

تصدير طبقة من قاعدة بيانات PostGis إلى تنسيق ملف

// For complete examples and data files, please go to https://github.com/aspose-gis/Aspose.GIS-for-.NET
var outputPath = Path.Combine(RunExamples.GetDataDir(), "postgres_out.shp");
// First, we create the connection to the PostgreSQL with Npgsql library (https://www.nuget.org/packages/Npgsql/)
// Then, we pass this connection to Dataset.Open method in order to access tables in the PostgreSQL.
using (var connection = new NpgsqlConnection(postgreSqlConnectionString))
{
connection.Open();
using (var ds = Dataset.Open(connection, Drivers.PostGis))
{
// open table with the name "features_table" in Postgres database and save it to the shapefile.
using (var table = ds.OpenLayer("features_table"))
{
table.SaveTo(outputPath, Drivers.Shapefile);
}
}
}