Opened 11 years ago

Closed 11 years ago

#4591 closed enhancement (fixed)

ARG (Azavea Raster Grid) Driver

Reported by: dzwarg Owned by: dzwarg
Priority: normal Milestone: 1.10.0
Component: GDAL_Raster Version: svn-trunk
Severity: normal Keywords: arg
Cc:

Description

I am working on a driver implementation for a raw format that we use in GeoTrellis, which we call ARG (spec).

This is essentially a raw format, with a companion .JSON file. I felt that it was important to re-use the JSON libraries, so I added the ogr/ogrsf_frmts/geojson dir as an include in GNUmakefile and makefile.vc.

The patch for the driver is attached to this ticket.

I'm not familiar with the procedure for adding a new driver to the GDAL trunk, so I appreciate any feedback or critique on the implementation.

Attachments (3)

argdriver.patch (35.9 KB ) - added by dzwarg 11 years ago.
Initial implementation of Azavea Raster Grid driver.
argdriver-2.patch (34.6 KB ) - added by dzwarg 11 years ago.
Updates to ARG driver based on feedback from FrankW, hobu, and EvenR
argdriver-3.patch (36.0 KB ) - added by dzwarg 11 years ago.
Updates to ARG driver based on feedback from EvenR -- build arg if ogr enabled, not bundled with RAW drivers.

Download all attachments as: .zip

Change History (12)

by dzwarg, 11 years ago

Attachment: argdriver.patch added

Initial implementation of Azavea Raster Grid driver.

by dzwarg, 11 years ago

Attachment: argdriver-2.patch added

Updates to ARG driver based on feedback from FrankW, hobu, and EvenR

comment:1 by dzwarg, 11 years ago

Updated implementation:

  • Use CPLString for filename paths to protect from buffer overflows, etc
  • Emit error messages in Open when a recognized ARG file cannot be opened.
  • Clean up JSON file during CreateCopy if .arg datafile cannot be created.
  • Accommodate int8 formats as uint8, and emit debug message.
  • Check return status of importFromWKT()
  • Checks for OGR enabled before building argdataset in raw format

by dzwarg, 11 years ago

Attachment: argdriver-3.patch added

Updates to ARG driver based on feedback from EvenR -- build arg if ogr enabled, not bundled with RAW drivers.

comment:2 by Even Rouault, 11 years ago

Patch committed in r24192.

Build fixes in r24193. Would be good if you could test your stuff before commiting ;-)

David, it would be good if you could write some help page, either a specific frmt_arg.html, or a new paragraph in frmts/frmt_various.html, and update frmts/formats_list.html to point to that documentation page.

comment:3 by Even Rouault, 11 years ago

r24193 /trunk/gdal/frmts/arg/ (GNUmakefile argdataset.cpp makefile.vc): ARG: Linux and Windows build fixes (#4591)

comment:4 by Even Rouault, 11 years ago

r24194 /trunk/gdal/frmts/arg/argdataset.cpp: ARG: fix crash on autotest/gcore/misc.py when testing CreateCopy() of a int16 source (#4591)

in reply to:  3 comment:5 by dzwarg, 11 years ago

I built and test on Ubuntu: Linux raster 3.0.0-12-server #20-Ubuntu SMP Fri Oct 7 16:36:30 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

Before committing, I performed:

  • make clean
  • make
  • python arg.py

I see now that I should have run ./run_all.py. Thanks for catching this.

Replying to rouault:

r24193 /trunk/gdal/frmts/arg/ (GNUmakefile argdataset.cpp makefile.vc): ARG: Linux and Windows build fixes (#4591)

comment:6 by Even Rouault, 11 years ago

Well, I don't understand how it could compile without the raw subdirectory to be added in the makefile. Or perhaps you have an installed version of rawdataset.h in a system include directory ? In which case that's dangerous, because you could desynchronization with changes in your local tree. I'd recommand removing any libgdal-dev package from your system to avoid that.

in reply to:  6 ; comment:7 by dzwarg, 11 years ago

I don't have libgdal-dev installed, but there are a bunch of gdal headers in /usr/local/include.

Would they get placed there when I do a 'sudo make install' ?

Replying to rouault:

Well, I don't understand how it could compile without the raw subdirectory to be added in the makefile. Or perhaps you have an installed version of rawdataset.h in a system include directory ? In which case that's dangerous, because you could desynchronization with changes in your local tree. I'd recommand removing any libgdal-dev package from your system to avoid that.

in reply to:  7 comment:8 by Even Rouault, 11 years ago

Would they get placed there when I do a 'sudo make install' ?

Yes

comment:9 by dzwarg, 11 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.