[pdal] writers.gdal produces "corrupt" PNGs?
Adam Steer
Adam.Steer at anu.edu.au
Mon Jul 31 15:23:01 PDT 2017
One thing we’re looking at is using GDAL’s MEM driver, I’ll try it and see - unfortunately my c++ experience is limited to changing the names of includes… :/ but i can test things!
Cheers
Adam
> On 1 Aug 2017, at 3:24 am, Howard Butler <howard at hobu.co> wrote:
>
> There's a ticket to improve PDAL's writers.gdal to support more options and output data types. That will make things work better, but the development hasn't happened quite yet.
>
> Stick with outputting GeoTIFF for now and then do gdal_translate/gdalwarp as you need as Adam's describing.
>
> https://github.com/PDAL/PDAL/issues/1497
>
> Howard
>
>> On Jul 30, 2017, at 11:28 PM, Adam Steer <Adam.Steer at anu.edu.au> wrote:
>>
>> Hi all
>>
>> finally got to some testing with this.
>>
>> Input: a LAS tile
>> Expected outputs: PNG files showing grayscale images of point attributes, gridded according to some input parameters about cell sizing
>>
>> I think what happens here is that PNG expects 3 bands, and I’m trying to make greyscale images. After a lot of trying GDAL options, I ended up just writing out a GeoTIFF and then using gdal_translate to carve out my PNGs, eg:
>>
>> {
>> "pipeline": [
>> “/path/to/tile.las",
>> {
>> "type": "filters.range",
>> "limits": "Classification[2:2]"
>> },
>> {
>> "type": "writers.gdal",
>> "resolution": 2.0,
>> "radius": 2.5,
>> "gdaldriver":"GTiff",
>> "filename": “tile.tif",
>> "output_type": "mean,idw,count"
>> }
>> ]
>> }
>>
>> …and then:
>> gdal_translate ./tile.tif mean_tile.png -b 1 -ot Byte -of png -scale
>> gdal_translate ./tile.tif idw_tile.png -b 2 -ot Byte -of png -scale
>> gdal_translate ./tile.tif count_tile.png -b 3 -ot Byte -of png -scale
>>
>> …which produced valid pngs which worked as expected - greyscale rasterised point data that a web browser could view.
>>
>> The nearest pipeline I could think of to generate a single writers.gdal ‘band’ as a PNG was:
>>
>> {
>> "pipeline": [
>> “/path/to/tile.las",
>> {
>> "type": "filters.range",
>> "limits": "Classification[2:2]"
>> },
>> {
>> "type": "writers.gdal",
>> "resolution": 2.0,
>> "radius": 2.5,
>> "gdalopts":"ot=PNG",
>> "gdalopts":"co=scale",
>> "gdalopts":"ot=Byte",
>> "gdalopts":"co=WRITE_METADATA_AS_TEXT=NO",
>> "gdalopts":"co=b=1",
>> "filename": “tile.png",
>> "output_type": "idw"
>> }
>> ]
>> }
>>
>> …but this made a really big PNG (2mb, as opposed to single band pngs using an intermediate geotiff at < 150k) which was not readable by anything on my MacOS machine.
>>
>> I’d happily take pipelne corrections! Lots of guessing there, and also lots of not knowing all the GDAL tricks!
>>
>> Anyway, at a pinch, going gtiff -> png is possible, maybe slower than the required purpose?
>>
>> HTH
>>
>> Adam
>>
>>
>>
>>> On 10 Jul 2017, at 10:21 pm, Vladimir Sandoval <vladimir.sandoval at yandex.com> wrote:
>>>
>>> Gents:
>>> I've run it with "all" bands and get a nice, huge PNG (grayscale and it's not doing the resize), that I can open and view in Opticks but nothing else.
>>>
>>> On windoze, you can drag an image into Firefox, and it will display it. Firefox says it cannot display the image "because it contains errors".
>>>
>>>
>>>
>>> 08.07.2017, 23:09, "Howard Butler" <howard at hobu.co>:
>>>> Vladimir,
>>>>
>>>> You need to be specific about what you mean by "cannot view the PNG with Firefox...".
>>>>
>>>> The output of writers.gdal with the configuration you've provided is a 2-band PNG. That's probably not what you are expecting. Presumably you will want a colorized PNG or something? In that case, write out only the idw band as a PNG, and then use a GDAL VRT plus a color interpretation to convert that to a PNG that would be viewable in a way you'd expect in Firefox.
>>>>
>>>> Hope this helps,
>>>>
>>>> Howard
>>>>
>>>>
>>>> On Jul 7, 2017, at 9:17 PM, Adam Steer <Adam.Steer at anu.edu.au> wrote:
>>>>
>>>> HI Vladimir - can you check whether a PNG with just one ‘band’ (ie ‘max’ OR ‘idw’ but not both) works?
>>>>
>>>> That’s all I can think of… I actually need to test this as well :) Next week…
>>>>
>>>> Cheers
>>>>
>>>> Adam
>>>>
>>>>
>>>> On 8 Jul 2017, at 3:18 am, Vladimir Sandoval <vladimir.sandoval at yandex.com> wrote:
>>>>
>>>> Trying to make a PNG from a .laz file to display in Firefox.
>>>>
>>>> {
>>>> "pipeline":[
>>>> "somefile.laz",
>>>> {
>>>> "type":"writers.gdal",
>>>> "resolution": 1,
>>>> "output_type":"idw",
>>>> "output_type":"max",
>>>> "gdalopts":"of=PNG,outsize=128 128",
>>>> "gdalopts":"co=WRITE_METADATA_AS_TEXT=NO",
>>>> "filename":"outputfile.png"
>>>> }
>>>> ]
>>>> }
>>>>
>>>> The pipeline runs and produces a PNG. I cannot view the PNG with Firefox, MS Paint, or Windows Photo Viewer, HOWEVER, I can open it and view it in Opticks (https://sourceforge.net/projects/opticks/).
>>>>
>>>> Opticks shows a single band grey scale image, probably representative of the original .laz.
>>>>
>>>> Anything I'm doing wrong here producing the "corrupted" PNG?
>>>> _______________________________________________
>>>> pdal mailing list
>>>> pdal at lists.osgeo.org
>>>> https://lists.osgeo.org/mailman/listinfo/pdal
>>>>
>>>> _______________________________________________
>>>> pdal mailing list
>>>> pdal at lists.osgeo.org
>>>> https://lists.osgeo.org/mailman/listinfo/pdal
>>>>
>>
>
More information about the pdal
mailing list