[GRASS-user] r.in.gdal for importing categorical ArcGIS binary rasters

Markus Metz markus.metz.giswork at gmail.com
Fri Feb 21 08:41:47 PST 2014


On Fri, Feb 21, 2014 at 5:26 PM, Moritz Lennert
<mlennert at club.worldonline.be> wrote:
> On 21/02/14 17:12, Markus Metz wrote:
>>
>> On Fri, Feb 21, 2014 at 2:00 PM, Moritz Lennert
>> <mlennert at club.worldonline.be> wrote:
>>>
>>> On 21/02/14 11:30, Markus Metz wrote:
>>>>
>>>>
>>>> On Fri, Feb 21, 2014 at 9:35 AM, Moritz Lennert
>>>> <mlennert at club.worldonline.be> wrote:
>>>>>
>>>>>
>>>>> On 20/02/14 22:14, Markus Metz wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> I would not replace a working gdal version with a probably not working
>>>>>> gdal version. Your gdalinfo reported a raster attribute table, not
>>>>>> mine. You could double-check again if your gdalinfo still finds a
>>>>>> raster attribute table, then import with r.in.gdal.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Out of curiosity: if a table contains several columns which one(s)
>>>>> is/are
>>>>> imported and in what form do they appear in GRASS (I don't have a file
>>>>> here
>>>>> to test myself) ?
>>>>
>>>>
>>>>
>>>> Each column has a dedicated usage. For "name" usage, the column is
>>>> treated as category labels. For any of the color usages, the column is
>>>> treated as corresponding red, green, or blue color. See also the gdal
>>>> documentation [0]. Currently, r.out.gdal exports category labels or
>>>> color rules to a raster attribute table with the new -t flag, and
>>>> r.in.gdal automatically imports any information it finds.
>>>>
>>>> Markus M
>>>>
>>>> [0] http://www.gdal.org/gdal_8h.html#a27bf786b965d5227da1acc2a4cab69a1
>>>
>>>
>>>
>>> So, IIUC you get the GFU_Name and the color information, but if the table
>>> contains several fields (which I guess will be of type GFU_Generic) these
>>> are ignored ?
>>
>>
>> GFU_Generic usage is ignored because it is unknown what this could be good
>> for.
>
>
> VAT tables allow as many fields as the user wants, not only a class name.
> But I don't know (and can't tell from ESRI's documentation) whether these
> additional fields will all be considered GFU_Names or GFU_Generics) and as I
> don't have relevant data here (and data that colleagues created for me
> causes an error with gdal...) I can't test this at this stage.

ESRI's documentation is irrelevant in this regard. r.in.gdal uses the
information provided by GDAL.

Not exactly related: we just had an example where ArcGIS generated
metadata for a tif file created with Adobe CS Windows, and these
metadata were not recognized by GDAL.

>
> My question was: if a raster has several fields as in the attribute table,
> would it be possible to chose the field to use as labels in GRASS ?

In theory yes. Currently r.in.gdal relies entirely on GDAL's reported
field usage, but that could be made a user-option. That would require
some additional modifications, at the very least make r.in.gdal dump
information for each band in the raster dataset any attribute table
with all its fields, usages, and types. The user could then select a
column with generic usage.

Raster attribute tables in the form that GDAL can read them are not
widespread. I guess that different GIS packages have different
implementations not necessarily supported by GDAL. I would recommend
to do some testing first with gdalinfo followed by r.in.gdal on some
test data.

Markus M


More information about the grass-user mailing list