Can Gdal.Translate() return an object instead of writing a file?Creating a multispectral image from scratchWriting numpy array to raster fileHow to apply “Band” settings using gdal Python bindings?Writing 3 channels to 8-bit TIF in Python using gdalHow does QGIS open so large raster datasets (about 40GB)?Setting band names when writing multiple layer rasters using GDAL with Python?How to draw a shapefile over GeoTIFF geometry to a PNGFind maximum of large (size) multiple rastersGDAL, python: How to create a GDAL dataset object from a numpy arrayStrange behavior when writing coordinates to an ESRI shapefile

Can Gdal.Translate() return an object instead of writing a file?

If the Dominion rule using their Jem'Hadar troops, why is their life expectancy so low?

"Marked down as someone wanting to sell shares." What does that mean?

Is there any common country to visit for persons holding UK and Schengen visas?

Would this string work as string?

How to preserve electronics (computers, ipads, phones) for hundreds of years?

Does capillary rise violate hydrostatic paradox?

"Oh no!" in Latin

What is it called when someone votes for an option that's not their first choice?

How to test the sharpness of a knife?

Non-Borel set in arbitrary metric space

I keep switching characters, how do I stop?

Can a Knock spell open the door to Mordenkainen's Magnificent Mansion?

Why would five hundred and five same as one?

Calculate Pi using Monte Carlo

Why didn't Voldemort know what Grindelwald looked like?

What should be the ideal length of sentences in a blog post for ease of reading?

Capacitor electron flow

What is the purpose of using a decision tree?

Not hide and seek

Reasons for having MCU pin-states default to pull-up/down out of reset

Offset in split text content

How do I prevent inappropriate ads from appearing in my game?

Friend wants my recommendation but I don't want to give it to him



Can Gdal.Translate() return an object instead of writing a file?


Creating a multispectral image from scratchWriting numpy array to raster fileHow to apply “Band” settings using gdal Python bindings?Writing 3 channels to 8-bit TIF in Python using gdalHow does QGIS open so large raster datasets (about 40GB)?Setting band names when writing multiple layer rasters using GDAL with Python?How to draw a shapefile over GeoTIFF geometry to a PNGFind maximum of large (size) multiple rastersGDAL, python: How to create a GDAL dataset object from a numpy arrayStrange behavior when writing coordinates to an ESRI shapefile













1















I have some Python GDAL code I am using to convert a GeoTIFF file to PNG. The code uses the gdal.Translate() function which generates a new file each time I run it. However, I was wondering if there is a way to get the Python gdal.Translate() function to return a python object instead of writing a file? Ideally I would like to write to a numpy array or something, but any kind of internal object would be fine.



Here is some sample code I am using:



from osgeo import gdal

scale = '-scale min_val max_val'
options_list = [
'-ot Byte',
'-of JPEG',
scale
]
options_string = " ".join(options_list)

gdal.Translate('test.jpg',
'test.tif',
options=options_string)


I looked over the documentation and source code to figure out how gdal.Translate() worked, but could not get past the TranslateInternal() function. I could not find a link through the source code past that.



Any suggestions would be appreciated.










share|improve this question






















  • There is a memory driver which may help gdal.org/frmt_mem.html I'm not sure how you could leverage the pointer in python but it works great in C++ (until you create a raster larger than your available memory). TranslateInternal() would be calling a C external link, you could find it in the source code if you understand ANSI C/C++. It might be best to write to a file in your os.environ.get('temp') then gdal.Open the temp raster.

    – Michael Stimson
    6 hours ago















1















I have some Python GDAL code I am using to convert a GeoTIFF file to PNG. The code uses the gdal.Translate() function which generates a new file each time I run it. However, I was wondering if there is a way to get the Python gdal.Translate() function to return a python object instead of writing a file? Ideally I would like to write to a numpy array or something, but any kind of internal object would be fine.



Here is some sample code I am using:



from osgeo import gdal

scale = '-scale min_val max_val'
options_list = [
'-ot Byte',
'-of JPEG',
scale
]
options_string = " ".join(options_list)

gdal.Translate('test.jpg',
'test.tif',
options=options_string)


I looked over the documentation and source code to figure out how gdal.Translate() worked, but could not get past the TranslateInternal() function. I could not find a link through the source code past that.



Any suggestions would be appreciated.










share|improve this question






















  • There is a memory driver which may help gdal.org/frmt_mem.html I'm not sure how you could leverage the pointer in python but it works great in C++ (until you create a raster larger than your available memory). TranslateInternal() would be calling a C external link, you could find it in the source code if you understand ANSI C/C++. It might be best to write to a file in your os.environ.get('temp') then gdal.Open the temp raster.

    – Michael Stimson
    6 hours ago













1












1








1








I have some Python GDAL code I am using to convert a GeoTIFF file to PNG. The code uses the gdal.Translate() function which generates a new file each time I run it. However, I was wondering if there is a way to get the Python gdal.Translate() function to return a python object instead of writing a file? Ideally I would like to write to a numpy array or something, but any kind of internal object would be fine.



Here is some sample code I am using:



from osgeo import gdal

scale = '-scale min_val max_val'
options_list = [
'-ot Byte',
'-of JPEG',
scale
]
options_string = " ".join(options_list)

gdal.Translate('test.jpg',
'test.tif',
options=options_string)


I looked over the documentation and source code to figure out how gdal.Translate() worked, but could not get past the TranslateInternal() function. I could not find a link through the source code past that.



Any suggestions would be appreciated.










share|improve this question














I have some Python GDAL code I am using to convert a GeoTIFF file to PNG. The code uses the gdal.Translate() function which generates a new file each time I run it. However, I was wondering if there is a way to get the Python gdal.Translate() function to return a python object instead of writing a file? Ideally I would like to write to a numpy array or something, but any kind of internal object would be fine.



Here is some sample code I am using:



from osgeo import gdal

scale = '-scale min_val max_val'
options_list = [
'-ot Byte',
'-of JPEG',
scale
]
options_string = " ".join(options_list)

gdal.Translate('test.jpg',
'test.tif',
options=options_string)


I looked over the documentation and source code to figure out how gdal.Translate() worked, but could not get past the TranslateInternal() function. I could not find a link through the source code past that.



Any suggestions would be appreciated.







python gdal gdal-translate






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 6 hours ago









krishnabkrishnab

248214




248214












  • There is a memory driver which may help gdal.org/frmt_mem.html I'm not sure how you could leverage the pointer in python but it works great in C++ (until you create a raster larger than your available memory). TranslateInternal() would be calling a C external link, you could find it in the source code if you understand ANSI C/C++. It might be best to write to a file in your os.environ.get('temp') then gdal.Open the temp raster.

    – Michael Stimson
    6 hours ago

















  • There is a memory driver which may help gdal.org/frmt_mem.html I'm not sure how you could leverage the pointer in python but it works great in C++ (until you create a raster larger than your available memory). TranslateInternal() would be calling a C external link, you could find it in the source code if you understand ANSI C/C++. It might be best to write to a file in your os.environ.get('temp') then gdal.Open the temp raster.

    – Michael Stimson
    6 hours ago
















There is a memory driver which may help gdal.org/frmt_mem.html I'm not sure how you could leverage the pointer in python but it works great in C++ (until you create a raster larger than your available memory). TranslateInternal() would be calling a C external link, you could find it in the source code if you understand ANSI C/C++. It might be best to write to a file in your os.environ.get('temp') then gdal.Open the temp raster.

– Michael Stimson
6 hours ago





There is a memory driver which may help gdal.org/frmt_mem.html I'm not sure how you could leverage the pointer in python but it works great in C++ (until you create a raster larger than your available memory). TranslateInternal() would be calling a C external link, you could find it in the source code if you understand ANSI C/C++. It might be best to write to a file in your os.environ.get('temp') then gdal.Open the temp raster.

– Michael Stimson
6 hours ago










1 Answer
1






active

oldest

votes


















3














gdal.Translate does return an object, it returns a gdal.Dataset object.



from osgeo import gdal
in_ds = gdal.OpenEx('path/to/input.tif')
print(in_ds)

<osgeo.gdal.Dataset; proxy of <Swig Object of type 'GDALDatasetShadow *' at 0x00000000037BE930> >

out_ds = gdal.Translate('path/to/output.tif', in_ds)
print(out_ds )

<osgeo.gdal.Dataset; proxy of <Swig Object of type 'GDALDatasetShadow *' at 0x00000000037BE990> >


It has to write the translated output somewhere...



If you don't want to write to disk, write to memory (don't bother with the MEM driver), use the "VSIMEM" virtual filesystem to write a GeoTIFF to memory:



out_ds = gdal.Translate('/vsimem/in_memory_output.tif', in_ds)


You can then read it into a numpy array if you want.



out_arr = out_ds.ReadAsArray()





share|improve this answer

























  • Oh this is great. Yeah, I will give this a try. This will make stuff a lot easier. Just to anticipate my next question, can I convert a Dataset object to a numpy array using the ds.GetRasterBand(1).ReadAsArray() function? Is that what you were thinking or am I thinking in the wrong direction.

    – krishnab
    5 hours ago











  • Oh thank you so much. I was trying to figure this out since yesterday. Haha, like if I had energy left I would thank you more :). Yeah, so that will load all the bands into an array. I was trying to figure out if I needed to manually stack each band into an RGB array or shift from a raster ordering of the data to an image ordering, etc. But this totally answers my question.

    – krishnab
    5 hours ago











  • Yep, that is what I figured. I can use the rasterio.plot.reshape_as_image() function to then reorder it into row, column, bands order :).

    – krishnab
    5 hours ago











  • Ahh, good tip. No I am not writing out to a raster again. I am taking the TIFF data and encoding it to a TFRecords format for some machine learning in Tensorflow. Kinda a long story but trying to be systematic about it. So I need to take the TIFF data, convert it to 8bit format, encode it as a string and write it to TFRecords. But then I need to decode the data from string in Tensorflow and validate the data went in properly. So I need to be able to check the decoded data and that is why I was using a PNG or JPEG format since they are easy to plot.

    – krishnab
    5 hours ago











  • Haha, I know it is not the easiest and that conversion from 16bit TIFF to 8bit loses information. But just need to get the basic prototype working and then can make the necessary fixes to do it right.

    – krishnab
    5 hours ago










Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "79"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f316034%2fcan-gdal-translate-return-an-object-instead-of-writing-a-file%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









3














gdal.Translate does return an object, it returns a gdal.Dataset object.



from osgeo import gdal
in_ds = gdal.OpenEx('path/to/input.tif')
print(in_ds)

<osgeo.gdal.Dataset; proxy of <Swig Object of type 'GDALDatasetShadow *' at 0x00000000037BE930> >

out_ds = gdal.Translate('path/to/output.tif', in_ds)
print(out_ds )

<osgeo.gdal.Dataset; proxy of <Swig Object of type 'GDALDatasetShadow *' at 0x00000000037BE990> >


It has to write the translated output somewhere...



If you don't want to write to disk, write to memory (don't bother with the MEM driver), use the "VSIMEM" virtual filesystem to write a GeoTIFF to memory:



out_ds = gdal.Translate('/vsimem/in_memory_output.tif', in_ds)


You can then read it into a numpy array if you want.



out_arr = out_ds.ReadAsArray()





share|improve this answer

























  • Oh this is great. Yeah, I will give this a try. This will make stuff a lot easier. Just to anticipate my next question, can I convert a Dataset object to a numpy array using the ds.GetRasterBand(1).ReadAsArray() function? Is that what you were thinking or am I thinking in the wrong direction.

    – krishnab
    5 hours ago











  • Oh thank you so much. I was trying to figure this out since yesterday. Haha, like if I had energy left I would thank you more :). Yeah, so that will load all the bands into an array. I was trying to figure out if I needed to manually stack each band into an RGB array or shift from a raster ordering of the data to an image ordering, etc. But this totally answers my question.

    – krishnab
    5 hours ago











  • Yep, that is what I figured. I can use the rasterio.plot.reshape_as_image() function to then reorder it into row, column, bands order :).

    – krishnab
    5 hours ago











  • Ahh, good tip. No I am not writing out to a raster again. I am taking the TIFF data and encoding it to a TFRecords format for some machine learning in Tensorflow. Kinda a long story but trying to be systematic about it. So I need to take the TIFF data, convert it to 8bit format, encode it as a string and write it to TFRecords. But then I need to decode the data from string in Tensorflow and validate the data went in properly. So I need to be able to check the decoded data and that is why I was using a PNG or JPEG format since they are easy to plot.

    – krishnab
    5 hours ago











  • Haha, I know it is not the easiest and that conversion from 16bit TIFF to 8bit loses information. But just need to get the basic prototype working and then can make the necessary fixes to do it right.

    – krishnab
    5 hours ago















3














gdal.Translate does return an object, it returns a gdal.Dataset object.



from osgeo import gdal
in_ds = gdal.OpenEx('path/to/input.tif')
print(in_ds)

<osgeo.gdal.Dataset; proxy of <Swig Object of type 'GDALDatasetShadow *' at 0x00000000037BE930> >

out_ds = gdal.Translate('path/to/output.tif', in_ds)
print(out_ds )

<osgeo.gdal.Dataset; proxy of <Swig Object of type 'GDALDatasetShadow *' at 0x00000000037BE990> >


It has to write the translated output somewhere...



If you don't want to write to disk, write to memory (don't bother with the MEM driver), use the "VSIMEM" virtual filesystem to write a GeoTIFF to memory:



out_ds = gdal.Translate('/vsimem/in_memory_output.tif', in_ds)


You can then read it into a numpy array if you want.



out_arr = out_ds.ReadAsArray()





share|improve this answer

























  • Oh this is great. Yeah, I will give this a try. This will make stuff a lot easier. Just to anticipate my next question, can I convert a Dataset object to a numpy array using the ds.GetRasterBand(1).ReadAsArray() function? Is that what you were thinking or am I thinking in the wrong direction.

    – krishnab
    5 hours ago











  • Oh thank you so much. I was trying to figure this out since yesterday. Haha, like if I had energy left I would thank you more :). Yeah, so that will load all the bands into an array. I was trying to figure out if I needed to manually stack each band into an RGB array or shift from a raster ordering of the data to an image ordering, etc. But this totally answers my question.

    – krishnab
    5 hours ago











  • Yep, that is what I figured. I can use the rasterio.plot.reshape_as_image() function to then reorder it into row, column, bands order :).

    – krishnab
    5 hours ago











  • Ahh, good tip. No I am not writing out to a raster again. I am taking the TIFF data and encoding it to a TFRecords format for some machine learning in Tensorflow. Kinda a long story but trying to be systematic about it. So I need to take the TIFF data, convert it to 8bit format, encode it as a string and write it to TFRecords. But then I need to decode the data from string in Tensorflow and validate the data went in properly. So I need to be able to check the decoded data and that is why I was using a PNG or JPEG format since they are easy to plot.

    – krishnab
    5 hours ago











  • Haha, I know it is not the easiest and that conversion from 16bit TIFF to 8bit loses information. But just need to get the basic prototype working and then can make the necessary fixes to do it right.

    – krishnab
    5 hours ago













3












3








3







gdal.Translate does return an object, it returns a gdal.Dataset object.



from osgeo import gdal
in_ds = gdal.OpenEx('path/to/input.tif')
print(in_ds)

<osgeo.gdal.Dataset; proxy of <Swig Object of type 'GDALDatasetShadow *' at 0x00000000037BE930> >

out_ds = gdal.Translate('path/to/output.tif', in_ds)
print(out_ds )

<osgeo.gdal.Dataset; proxy of <Swig Object of type 'GDALDatasetShadow *' at 0x00000000037BE990> >


It has to write the translated output somewhere...



If you don't want to write to disk, write to memory (don't bother with the MEM driver), use the "VSIMEM" virtual filesystem to write a GeoTIFF to memory:



out_ds = gdal.Translate('/vsimem/in_memory_output.tif', in_ds)


You can then read it into a numpy array if you want.



out_arr = out_ds.ReadAsArray()





share|improve this answer















gdal.Translate does return an object, it returns a gdal.Dataset object.



from osgeo import gdal
in_ds = gdal.OpenEx('path/to/input.tif')
print(in_ds)

<osgeo.gdal.Dataset; proxy of <Swig Object of type 'GDALDatasetShadow *' at 0x00000000037BE930> >

out_ds = gdal.Translate('path/to/output.tif', in_ds)
print(out_ds )

<osgeo.gdal.Dataset; proxy of <Swig Object of type 'GDALDatasetShadow *' at 0x00000000037BE990> >


It has to write the translated output somewhere...



If you don't want to write to disk, write to memory (don't bother with the MEM driver), use the "VSIMEM" virtual filesystem to write a GeoTIFF to memory:



out_ds = gdal.Translate('/vsimem/in_memory_output.tif', in_ds)


You can then read it into a numpy array if you want.



out_arr = out_ds.ReadAsArray()






share|improve this answer














share|improve this answer



share|improve this answer








edited 5 hours ago

























answered 6 hours ago









user2856user2856

30.4k258106




30.4k258106












  • Oh this is great. Yeah, I will give this a try. This will make stuff a lot easier. Just to anticipate my next question, can I convert a Dataset object to a numpy array using the ds.GetRasterBand(1).ReadAsArray() function? Is that what you were thinking or am I thinking in the wrong direction.

    – krishnab
    5 hours ago











  • Oh thank you so much. I was trying to figure this out since yesterday. Haha, like if I had energy left I would thank you more :). Yeah, so that will load all the bands into an array. I was trying to figure out if I needed to manually stack each band into an RGB array or shift from a raster ordering of the data to an image ordering, etc. But this totally answers my question.

    – krishnab
    5 hours ago











  • Yep, that is what I figured. I can use the rasterio.plot.reshape_as_image() function to then reorder it into row, column, bands order :).

    – krishnab
    5 hours ago











  • Ahh, good tip. No I am not writing out to a raster again. I am taking the TIFF data and encoding it to a TFRecords format for some machine learning in Tensorflow. Kinda a long story but trying to be systematic about it. So I need to take the TIFF data, convert it to 8bit format, encode it as a string and write it to TFRecords. But then I need to decode the data from string in Tensorflow and validate the data went in properly. So I need to be able to check the decoded data and that is why I was using a PNG or JPEG format since they are easy to plot.

    – krishnab
    5 hours ago











  • Haha, I know it is not the easiest and that conversion from 16bit TIFF to 8bit loses information. But just need to get the basic prototype working and then can make the necessary fixes to do it right.

    – krishnab
    5 hours ago

















  • Oh this is great. Yeah, I will give this a try. This will make stuff a lot easier. Just to anticipate my next question, can I convert a Dataset object to a numpy array using the ds.GetRasterBand(1).ReadAsArray() function? Is that what you were thinking or am I thinking in the wrong direction.

    – krishnab
    5 hours ago











  • Oh thank you so much. I was trying to figure this out since yesterday. Haha, like if I had energy left I would thank you more :). Yeah, so that will load all the bands into an array. I was trying to figure out if I needed to manually stack each band into an RGB array or shift from a raster ordering of the data to an image ordering, etc. But this totally answers my question.

    – krishnab
    5 hours ago











  • Yep, that is what I figured. I can use the rasterio.plot.reshape_as_image() function to then reorder it into row, column, bands order :).

    – krishnab
    5 hours ago











  • Ahh, good tip. No I am not writing out to a raster again. I am taking the TIFF data and encoding it to a TFRecords format for some machine learning in Tensorflow. Kinda a long story but trying to be systematic about it. So I need to take the TIFF data, convert it to 8bit format, encode it as a string and write it to TFRecords. But then I need to decode the data from string in Tensorflow and validate the data went in properly. So I need to be able to check the decoded data and that is why I was using a PNG or JPEG format since they are easy to plot.

    – krishnab
    5 hours ago











  • Haha, I know it is not the easiest and that conversion from 16bit TIFF to 8bit loses information. But just need to get the basic prototype working and then can make the necessary fixes to do it right.

    – krishnab
    5 hours ago
















Oh this is great. Yeah, I will give this a try. This will make stuff a lot easier. Just to anticipate my next question, can I convert a Dataset object to a numpy array using the ds.GetRasterBand(1).ReadAsArray() function? Is that what you were thinking or am I thinking in the wrong direction.

– krishnab
5 hours ago





Oh this is great. Yeah, I will give this a try. This will make stuff a lot easier. Just to anticipate my next question, can I convert a Dataset object to a numpy array using the ds.GetRasterBand(1).ReadAsArray() function? Is that what you were thinking or am I thinking in the wrong direction.

– krishnab
5 hours ago













Oh thank you so much. I was trying to figure this out since yesterday. Haha, like if I had energy left I would thank you more :). Yeah, so that will load all the bands into an array. I was trying to figure out if I needed to manually stack each band into an RGB array or shift from a raster ordering of the data to an image ordering, etc. But this totally answers my question.

– krishnab
5 hours ago





Oh thank you so much. I was trying to figure this out since yesterday. Haha, like if I had energy left I would thank you more :). Yeah, so that will load all the bands into an array. I was trying to figure out if I needed to manually stack each band into an RGB array or shift from a raster ordering of the data to an image ordering, etc. But this totally answers my question.

– krishnab
5 hours ago













Yep, that is what I figured. I can use the rasterio.plot.reshape_as_image() function to then reorder it into row, column, bands order :).

– krishnab
5 hours ago





Yep, that is what I figured. I can use the rasterio.plot.reshape_as_image() function to then reorder it into row, column, bands order :).

– krishnab
5 hours ago













Ahh, good tip. No I am not writing out to a raster again. I am taking the TIFF data and encoding it to a TFRecords format for some machine learning in Tensorflow. Kinda a long story but trying to be systematic about it. So I need to take the TIFF data, convert it to 8bit format, encode it as a string and write it to TFRecords. But then I need to decode the data from string in Tensorflow and validate the data went in properly. So I need to be able to check the decoded data and that is why I was using a PNG or JPEG format since they are easy to plot.

– krishnab
5 hours ago





Ahh, good tip. No I am not writing out to a raster again. I am taking the TIFF data and encoding it to a TFRecords format for some machine learning in Tensorflow. Kinda a long story but trying to be systematic about it. So I need to take the TIFF data, convert it to 8bit format, encode it as a string and write it to TFRecords. But then I need to decode the data from string in Tensorflow and validate the data went in properly. So I need to be able to check the decoded data and that is why I was using a PNG or JPEG format since they are easy to plot.

– krishnab
5 hours ago













Haha, I know it is not the easiest and that conversion from 16bit TIFF to 8bit loses information. But just need to get the basic prototype working and then can make the necessary fixes to do it right.

– krishnab
5 hours ago





Haha, I know it is not the easiest and that conversion from 16bit TIFF to 8bit loses information. But just need to get the basic prototype working and then can make the necessary fixes to do it right.

– krishnab
5 hours ago

















draft saved

draft discarded
















































Thanks for contributing an answer to Geographic Information Systems Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f316034%2fcan-gdal-translate-return-an-object-instead-of-writing-a-file%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

How does Billy Russo acquire his 'Jigsaw' mask? Unicorn Meta Zoo #1: Why another podcast? Announcing the arrival of Valued Associate #679: Cesar Manara Favourite questions and answers from the 1st quarter of 2019Why does Bane wear the mask?Why does Kylo Ren wear a mask?Why did Captain America remove his mask while fighting Batroc the Leaper?How did the OA acquire her wisdom?Is Billy Breckenridge gay?How does Adrian Toomes hide his earnings from the IRS?What is the state of affairs on Nootka Sound by the end of season 1?How did Tia Dalma acquire Captain Barbossa's body?How is one “Deemed Worthy”, to acquire the Greatsword “Dawn”?How did Karen acquire the handgun?

Личност Атрибути на личността | Литература и източници | НавигацияРаждането на личносттаредактиратередактирате

A sequel to Domino's tragic life Why Christmas is for Friends Cold comfort at Charles' padSad farewell for Lady JanePS Most watched News videos