[gdal-dev] RFC 44: Add Parseable Output Formats for ogrinfo and gdalinfo

Homme Zwaagstra hrz at geodata.soton.ac.uk
Mon Mar 30 00:16:33 PDT 2015


Hi,

On 29/03/15 23:58, Robert Coup wrote:
> Hi,
 >
 > Good work, thanks for taking this on!

Yes, this will be very useful!

> 2: In terms of the proposed  gdalinfo JSON...
 >
 > b) personally I'd prefer to be slightly more verbose in attribute 
naming. eg. block -> blockSize, colorInterp -> colorInterpolation, proj 
-> proj4

I agree as that will make it easier to scan through the output without 
raising
questions or needing to refer to specs. E.g. does colorInterp mean color
interpretation or interpolation?!

> c) There's support for multiple  RATs in a single dataset, but the JSON format only allows one. Maybe 
rats: {"name": {... attributes...}}?
 >
 > d) HDF-derived formats (and probably some others) have support for 
multiple datasets/component images. Is that something we could 
incorporate (maybe with a top-level object surrounding each dataset 
description)?
 >
 > There may be a few other elements where there's support (either now 
or in the forseeable future) for multiple items. @Even, any thoughts?

Yes, it would be nice to have support (or the possibility of support) 
for the
information concerning the larger gdal data model.  This kind of high level
declarative API is really useful in covering a lot common use cases e.g. 
getting
the extent of a raster, and finding out what files define it.

The command line parseable output format interface in itself would be 
great, but
the icing on the cake would be the combination of this RFC with the GSOC 
2015
'Integration of cpp GDAL utilities into GDAL core library' exposing this 
as a
fully fledged core API.

> 3: Keen to see the ogrinfo  equivalent!

Agreed!


Regarding the JSON output, I would prefer the top level "cornerCoordinates"
property to be a GeoJSON feature collection rather than the current 
custom data
structure.  Currently it is:

{
     "cornerCoordinates": {
         "upperLeft": [
             440720.000,
             3751320.000
         ],
         "lowerLeft": [
             440720.000,
             3750120.000
         ],
         "upperRight": [
             441920.000,
             3751320.000
         ],
         "lowerRight": [
             441920.000,
             3750120.000
         ],
         "center": [
             441320.000,
             3750720.000
         ]
     }
}

I think the following would be more useful:

{ "cornerCoordinates":
   { "type": "FeatureCollection",
     "bbox": [440720.000, 3750120.000, 441920.000, 3751320.000],
     "features": [
         { "type": "Feature",
           "geometry": {"type": "Point", "coordinates": [440720.000, 
3751320.000]},
           "properties": {"position": "upperLeft"}
         },
         { "type": "Feature",
           "geometry": {"type": "Point", "coordinates": [440720.000, 
3750120.000]},
           "properties": {"position": "lowerLeft"}
         },
         { "type": "Feature",
           "geometry": {"type": "Point", "coordinates": [441920.000, 
3751320.000]},
           "properties": {"position": "upperRight"}
         },
         { "type": "Feature",
           "geometry": {"type": "Point", "coordinates": [441920.000, 
3751320.000]},
           "properties": {"position": "lowerRight"}
         },
         { "type": "Feature",
           "geometry": {"type": "Point", "coordinates": [441320.000, 
3750720.000]},
           "properties": {"position": "center"}
         }
     ]
   }
}

It is more verbose, but seeing as the output is designed for parsing, this
shouldn't be a problem.  The big plus is that it is standard, allowing 
things
like this:

     gdalinfo -json | jq '{cornerCoordinates}' | ogr2ogr extent.shp 
/vsistdin/

(jq is like sed for JSON data: see <http://stedolan.github.io/jq/>).

An added benefit is that the FeatureCollection also includes the bbox
information for easy access to the raster extent.

Best regards,

Homme

>
 > Rob :)
 >
 >
 > _______________________________________________
 > gdal-dev mailing list
 > gdal-dev at lists.osgeo.org
 > http://lists.osgeo.org/mailman/listinfo/gdal-dev


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20150330/a2383cdb/attachment.html>


More information about the gdal-dev mailing list