[gdal-dev] Can GDALCreate be Used for PNG?

Frank Warmerdam warmerdam at pobox.com
Tue Jul 16 23:50:49 PDT 2013


Nik,

No, the PNG format does not support direct creation, only creation by
copying an existing dataset (GDALCreateCopy()).  You can interactively see
the capabilities of a driver like this:

gdalinfo --format png
Format Details:
  Short Name: PNG
  Long Name: Portable Network Graphics
  Extension: png
  Mime Type: image/png
  Help Topic: frmt_various.html#PNG
  Supports: CreateCopy() - Create dataset by copying another.
  Supports: Virtual IO - eg. /vsimem/
  Creation Datatypes: Byte UInt16

<CreationOptionList>
  <Option name="WORLDFILE" type="boolean" description="Create world file" />
  <Option name="ZLEVEL" type="int" description="DEFLATE compression level
1-9" default="6" />
</CreationOptionList>

The "Supports: CreateCopy()" means you can create the format, but only by
copying an existing dataset.  Formats supporting creation will have
"Supports: Create()".  You can get a broad listing of all formats like this:

gdalinfo --formats
....
  SDTS (rov): SDTS Raster
  DTED (rwv): DTED Elevation Raster
  PNG (rwv): Portable Network Graphics
  JPEG (rwv): JPEG JFIF
  MEM (rw+): In Memory Raster
...

The "w" means it supports at least CreateCopy(). The "+" means it supports
create+update.

Best regards,



On Tue, Jul 16, 2013 at 10:14 PM, Nik Sands <nixanz at nixanz.com> wrote:

> Can I use GDALCreate to create (and later write to) PNG images?
> If so, is "PNG" the correct string for GDALGetDriverByName?
>
> Otherwise, can somebody please let me know why the code below returns NULL
> from GDALCreate (assigned to dstDS)?
>
> Advice much appreciated, as always.
>
> Thanks,
> Nik.
>
>
>
>         GDALDriverH hDriver = GDALGetDriverByName("PNG");
>         char **papszOptions = NULL;
>
>         papszOptions = CSLSetNameValue( papszOptions, "WORLDFILE", "NO" );
>         papszOptions = CSLSetNameValue( papszOptions, "ZLEVEL", "9" );
>
>         GDALDatasetH dstDS = GDALCreate( hDriver, "/var/tmp/image.png",
> 256, 256, 4, GDT_Float32, papszOptions );
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>



-- 
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam,
warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Software Developer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20130716/17f033a6/attachment.html>


More information about the gdal-dev mailing list