env:
.net 9 win11
aspose.gis 25.3
q1:can not save layer to geojson
var path = "CreateFileGdbDataset_out.gdb";
using (var dataset = Dataset.Create(path, Drivers.FileGdb))
{
using (var layer = dataset.CreateLayer("layer_1", SpatialReferenceSystem.CreateFromEpsg(4490)))
{
layer.Attributes.Add(new FeatureAttribute("value", AttributeDataType.Integer));
for (int i = 0; i < 10; ++i)
{
var feature = layer.ConstructFeature();
feature.SetValue("value", i);
feature.Geometry = new Point(i, i);
layer.Add(feature);
}
layer.SaveTo("xx.json", Drivers.GeoJson); // throw System.InvalidOperationException:“The layer does not support read access.”
}
}
q2: a workaround is change code to next , but the output json no ‘id’ , is it fixed in GISNET-1287 Handle the “id” field of a GeoJSON Feature ?
var path = "CreateFileGdbDataset_out.gdb";
using (var dataset = Dataset.Create(path, Drivers.FileGdb))
{
Console.WriteLine(dataset.LayersCount); // 0
using (var layer = dataset.CreateLayer("layer_1", SpatialReferenceSystem.CreateFromEpsg(4490)))
{
layer.Attributes.Add(new FeatureAttribute("value", AttributeDataType.Integer));
for (int i = 0; i < 10; ++i)
{
var feature = layer.ConstructFeature();
feature.SetValue("value", i);
feature.Geometry = new Point(i, i);
layer.Add(feature);
}
//layer.SaveTo("xx2.json", Drivers.GeoJson);
}
using (var layer = dataset.OpenLayerAt(0))
{
layer.SaveTo("xx2.json", Drivers.GeoJson);
}
}