[postgis-tickets] [PostGIS] #2353: [raster] GDAL's GDALFPolygonize() function

PostGIS trac at osgeo.org
Fri Jun 7 06:58:38 PDT 2013


#2353: [raster] GDAL's GDALFPolygonize() function
--------------------+-------------------------------------------------------
 Reporter:  jeanm   |       Owner:  dustymugs   
     Type:  defect  |      Status:  new         
 Priority:  medium  |   Milestone:  PostGIS GDAL
Component:  raster  |     Version:  2.0.x       
 Keywords:          |  
--------------------+-------------------------------------------------------
Changes (by dustymugs):

  * owner:  jeanm => dustymugs
  * component:  postgis => raster


Old description:

> Hello,
>
> I got some inconsistency using ST_DumpAsPolygons. It turns out that when
> I used this function it drops one pixel. Based on this discussion
> (http://lists.osgeo.org/pipermail/postgis-users/2013-June/037082.html) it
> looks like GDAL's GDALFPolygonize() is in fault.
>
> Here is the reproducible example:
>
> value's number 4 in this raster come out with ST_Value:
>
> SELECT ST_Value(rast, 1, 8, 2), ST_BandnoDataValue(rast),
> ST_BandPixelType(rast)
> FROM (SELECT
> '0100000100000000000088C340000000000088C3C03FF0F16F910F29C1F38C064BB32D244100000000000000000000000000000000C67D00000A000A0045FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100FFFFFFFFFFFFFFFFFFFF0300FFFF040005000600FFFFFFFFFFFF0C000D000E000F00100011001200FFFFFFFFFFFF180019001A001B001C001D001E00FFFFFFFFFFFF2400250026002700280029002A00FFFFFFFFFFFF3400350036003700380039003A00FFFFFFFF4B004C004D004E004F00500051005200FFFFFFFF6A006B006C006D006E006F0070007100FFFFFFFF8F009000910092009300940095009600FFFFFFFFB500B600B700B800B900BA00BB00BC00'::raster
> rast) foo
>
> but not with ST_DumpAsPolygons:
>
> SELECT (ST_DumpAsPolygons(rast)).val
> FROM (SELECT
> '0100000100000000000088C340000000000088C3C03FF0F16F910F29C1F38C064BB32D244100000000000000000000000000000000C67D00000A000A0045FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100FFFFFFFFFFFFFFFFFFFF0300FFFF040005000600FFFFFFFFFFFF0C000D000E000F00100011001200FFFFFFFFFFFF180019001A001B001C001D001E00FFFFFFFFFFFF2400250026002700280029002A00FFFFFFFFFFFF3400350036003700380039003A00FFFFFFFF4B004C004D004E004F00500051005200FFFFFFFF6A006B006C006D006E006F0070007100FFFFFFFF8F009000910092009300940095009600FFFFFFFFB500B600B700B800B900BA00BB00BC00'::raster
> rast) foo
>
> I used ST_Value to show that the value 4 associated with the pixel with
> coordinates (8,2) actually exists! Please note that adjacent values are
> different. Also note that ST_PixelAsPolygons() works fine.
>
> GDAL version is 1.9.2
>
> best regards,
>
> Jean

New description:

 Hello,

 I got some inconsistency using ST_DumpAsPolygons. It turns out that when I
 used this function it drops one pixel. Based on this discussion
 (http://lists.osgeo.org/pipermail/postgis-users/2013-June/037082.html) it
 looks like GDAL's GDALFPolygonize() is in fault.

 Here is the reproducible example:

 value's number 4 in this raster come out with ST_Value:

 {{{
 SELECT ST_Value(rast, 1, 8, 2), ST_BandnoDataValue(rast),
 ST_BandPixelType(rast)
 FROM (SELECT
 '0100000100000000000088C340000000000088C3C03FF0F16F910F29C1F38C064BB32D244100000000000000000000000000000000C67D00000A000A0045FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100FFFFFFFFFFFFFFFFFFFF0300FFFF040005000600FFFFFFFFFFFF0C000D000E000F00100011001200FFFFFFFFFFFF180019001A001B001C001D001E00FFFFFFFFFFFF2400250026002700280029002A00FFFFFFFFFFFF3400350036003700380039003A00FFFFFFFF4B004C004D004E004F00500051005200FFFFFFFF6A006B006C006D006E006F0070007100FFFFFFFF8F009000910092009300940095009600FFFFFFFFB500B600B700B800B900BA00BB00BC00'::raster
 rast) foo
 }}}

 but not with ST_DumpAsPolygons:

 {{{
 SELECT (ST_DumpAsPolygons(rast)).val
 FROM (SELECT
 '0100000100000000000088C340000000000088C3C03FF0F16F910F29C1F38C064BB32D244100000000000000000000000000000000C67D00000A000A0045FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100FFFFFFFFFFFFFFFFFFFF0300FFFF040005000600FFFFFFFFFFFF0C000D000E000F00100011001200FFFFFFFFFFFF180019001A001B001C001D001E00FFFFFFFFFFFF2400250026002700280029002A00FFFFFFFFFFFF3400350036003700380039003A00FFFFFFFF4B004C004D004E004F00500051005200FFFFFFFF6A006B006C006D006E006F0070007100FFFFFFFF8F009000910092009300940095009600FFFFFFFFB500B600B700B800B900BA00BB00BC00'::raster
 rast) foo
 }}}

 I used ST_Value to show that the value 4 associated with the pixel with
 coordinates (8,2) actually exists! Please note that adjacent values are
 different. Also note that ST_PixelAsPolygons() works fine.

 GDAL version is 1.9.2

 best regards,

 Jean

--

-- 
Ticket URL: <http://trac.osgeo.org/postgis/ticket/2353#comment:2>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-tickets mailing list