Ah, is it using the Memory driver ? As I saw a /vsimem/ filename and mention of gmt, I assumed you create a GMT file in /vsimem/, for which my example would have worked. But if you use the Memory driver, there's no way you can't use it as a cutline, since a dataset of the Memory driver can't be re-opened. You can just use the handle returned by the create method.

Le 31/03/2021 à 20:03, Joaquim Manuel Freire Luís a écrit :

This one is resisting. I can’t spot any difference from your python example but it still fails.

What you mean by “Make sure that the cutline dataset is properly closed”.

If I call GDALClose on it, then it disappears.

(note, I also tried by creating a "/vsimem/cut.shp" Memory cutline but the result was the same)

GDALGetDescription(ds.ptr)

"/vsimem/##280"

GDALClose(ds.ptr)

GDALGetDescription(ds.ptr)

“”

*From:*Even Rouault <even.roua...@spatialys.com>
*Sent:* Wednesday, March 31, 2021 2:43 PM
*To:* Joaquim Manuel Freire Luís <jl...@ualg.pt>; gdal-dev@lists.osgeo.org
*Subject:* Re: [gdal-dev] using an in-memory file as -cutline argument in gdalwarp

Joaquim,

yes, you should be able to use a /vsimem/ file as a cutline dataset. Here's an example in Python with a shapefile in /vsimem/:

https://github.com/OSGeo/gdal/blob/fec15b146f8a750c23c5e765cac12ed5fc9c2b85/autotest/utilities/test_gdalwarp_lib.py#L1103 <https://github.com/OSGeo/gdal/blob/fec15b146f8a750c23c5e765cac12ed5fc9c2b85/autotest/utilities/test_gdalwarp_lib.py#L1103>

The cutlineDSName=is just python syntaxic sugar to format the arguments. There's no reason it shouldn't work in Julia too

Make sure that the cutline dataset is properly closed, before using it with gdalwarp

Even

Le 31/03/2021 à 15:34, Joaquim Manuel Freire Luís a écrit :

    I have low hopes on this one but have to confirm.

    I have this “ds” dataset with one polygon geometry, which is
    correctly saved on disk with

    ogr2ogr(ds, save="lixo.gmt")

    and later correctly “cutlines” with

    gdalwarp("IMG_9106.jpg", ["-cutline", "lixo.gmt", "-to",
    "SRC_METHOD=NO_GEOTRANSFORM"]);

    but I wanted to avoid the step of saving to disk and instead using
    the inMemory file. If I ask its name, I see

    GDALGetDescription(ds.ptr)

    "/vsimem/##258"

    But this fails

    gdalwarp("IMG_9106.jpg", ["-cutline", GDALGetDescription(ds.ptr),
    "-to", "SRC_METHOD=NO_GEOTRANSFORM"])

    NULL Dataset

    Can this be made to work (would it work with the python bindings?)
    and I’m just doing it wrong or it just can’t?

    Thanks

    Joaquim



    _______________________________________________

    gdal-dev mailing list

    gdal-dev@lists.osgeo.org  <mailto:gdal-dev@lists.osgeo.org>

    https://lists.osgeo.org/mailman/listinfo/gdal-dev  
<https://lists.osgeo.org/mailman/listinfo/gdal-dev>

--
http://www.spatialys.com  <http://www.spatialys.com>
My software is free, but my time generally not.

--
http://www.spatialys.com
My software is free, but my time generally not.

_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to