I have a working c# GDAL app - I might be able to help. I am not sure I understand what you are trying to do? It looks like you are creating a GeoJSON file from a shapefile and that actually only makes any sense if you want to save the file?
> > > > > > > > > > > > > > > > > * private FeatureCollection ImportShapeFile(IEnumerable<ImportFile> > files) { var tempJsonFilename = $"/vsimem/temp.json"; > GdalConfiguration.ConfigureGdal(); > GdalConfiguration.ConfigureOgr(); try { > // Copy into GDAL foreach (var file in files) > { Gdal.FileFromMemBuffer($"/vsimem/{file.Filename}", > file.Data); }* > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > * // Load shape var shpDriver = > Ogr.GetDriverByName("ESRI Shapefile"); var shpFile = > files.First(f => f.Filename.EndsWith(".shp")); var > shpDatasource = Ogr.Open($"/vsimem/{shpFile.Filename}", 0); > if (shpDatasource == null) return null; > var shpLayer = shpDatasource.GetLayerByIndex(0); // Setup > projection transform to WGS84 var srcProjection = > shpLayer.GetSpatialRef(); var destProjection = new > SpatialReference(""); destProjection.ImportFromEPSG(4326); > var transform = new CoordinateTransformation(srcProjection, > destProjection); // Copy layer to geo json > var jsonDriver = Ogr.GetDriverByName("GeoJSON"); var > jsonDataSource = jsonDriver.CreateDataSource(tempJsonFilename, new string[] > { }); var jsonLayer = > jsonDataSource.CreateLayer(shpLayer.GetName(), destProjection, > shpLayer.GetGeomType(), new string[] { }); var shpFeature = > shpLayer.GetNextFeature(); while (shpFeature != null) > { // Transform geometry var > geometry = shpFeature.GetGeometryRef(); > geometry.Transform(transform); // Save feature to new > layer jsonLayer.CreateFeature(shpFeature); > shpFeature = shpLayer.GetNextFeature(); } > // TODO: HERE I would like to read the information from my tempJsonFile > back into a byte array, before unlinking. var jsonBuffer = > new byte[0]; // Close all GDAL stuff > jsonLayer.Dispose(); jsonDataSource.Dispose(); > jsonDriver.Dispose(); shpLayer.Dispose(); > shpDatasource.Dispose(); shpDriver.Dispose(); > // Read json from buffer var jsonText = > Encoding.UTF8.GetString(jsonBuffer, 0, jsonBuffer.Length); ; > var json = JsonConvert.DeserializeObject<FeatureCollection>(jsonText); > return json; } catch (Exception exception) > { throw exception; } > finally { // Clear files from GDAL > Gdal.Unlink(tempJsonFilename); foreach (var file in files) > { > Gdal.Unlink($"/vsimem/{file.Filename}"); } } > }* > > > Best Regards > Christian > > -- > > *Christian Sörensen* > *UX Productions AB* > www.uxproductions.se | christ...@uxproductions.se | +46 (0)70 26 77 212 > P Överväg miljöpåverkan innan du skriver ut detta e-postmeddelande > _______________________________________________ > gdal-dev mailing list > gdal-dev@lists.osgeo.org > https://lists.osgeo.org/mailman/listinfo/gdal-dev
_______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/gdal-dev