Hey Jan,
Thanks for the response. My process will need to be automated so excel
won't help. I also will be working with potentially large amounts of
data (200MB - ~4GB). I would like the output to be in a flat binary
format (just the data), but if I can pull the data out of another format
that will do for now. The output data will be used in other software
that I have written to place the data in any format I request (geotiff,
AWIPS compatible netCDF files, etc). I was hoping to use gdal_grid for
its algorithms to do the interpolation from input swath pixels to output
grid pixels. I am working with "raw" satellite observation data that is
not equidistant (so it can't be put through gdalwarp which expects an
equidistant grid as input).
The x and y arrays are created by software I have written. The values
in these arrays state the x and y offset from the grid origin of where
the image pixel is. For example, a single pixel might be at column 1.14
and row 1.6 of the grid I am mapping to. I would like gdal_grid (or some
other code) to use an algorithm (nearest neighbor, averaging, etc) to
interpolate this image pixel value onto the surrounding grid points.
Does that make sense? It's difficult for me to describe since I've been
working with it so much lately.
The start-to-finish goal is essentially what gdalwarp does when
remapping one grid to another, but this doesn't make the assumption that
the data points are equidistant. The gridding utility I'm currently
using is old and only offers a single algorithm for interpolation. That
algorithm does not produce "pretty" images for a specific instrument's
data so I'm looking for alternatives without having to hack up the old
utility. Maybe looking at it this way will make more sense:
(lat,lon,projection) -> my software -> (y,x)
(x,y,image_in) -> gdal_grid -> (gridded_image_out)
Maybe I'll just write the python wrapper for GDALGridCreate since the
rest of my software is python. As far as I know GDAL doesn't have
anything else that does gridding and doesn't have anything that can do
non-equidistant data points. Thanks for the help so far. Man this email
got long fast.
-Dave
On 1/22/13 2:58 PM, Jan Heckman wrote:
Hi Dave,
So you have effectively three arrays, one for pixel values, one for x,
one for y (probably offsets), which are coordinated and you want to
generate a raster or grid which you can display / use in a GIS?
Sort of sparse array to be converted to a full array, effectively?
It sounds crazy, maybe, but consider converting these to separated
text (numbers), bring them into excel (columns), tell (arc)gis to
convert to a (point) shapefile and finally, if necessary, convert that
to a raster.
If this is the job, it can alternatively be done quite simply by
writing a small procedure (C++ or python (or something else, I'm
sure)), without using excel etc, as long as you know the output format
(and maybe have a geoprocessor to call upon). A simple output format
is .bil. This is roughly simlar to shapefiles, with some supporting
files to use it in a GIS. Possibly flat 32 bit float (.flt) is
understood by gdal as well.
Sorry that I can't help you with the gdal/ogr commands.
If you don't get a helpful gdal command, give me a yell with an example.
Jan
On Sun, Jan 20, 2013 at 9:51 PM, David Hoese <dho...@gmail.com
<mailto:dho...@gmail.com>> wrote:
I have 3 flat binary files that I would like to use to grid data.
The 3 binary files are the "scattered" image data pixels and the
other two specify the fractional column and row for each input
pixel in the output grid. So the image pixel in the first file at
offset 0 is mapped to the grid column at offset 0 (from the
columns file) and the grid row at offset 0 (from the rows file).
One way I think I can get the data gridded is to use the
"gdal_grid" utility, but I'm not really sure how to get the flat
binary files to be accepted by "gdal_grid". I thought I could use
VRT files, but I'm not exactly sure how I would do that. I wasn't
sure since the documentation here
http://www.gdal.org/ogr/drv_vrt.html says that I need to specify a
"SrcLayer", but binary files don't have layers. So then would I
need an intermediate VRT file to define layers for the binaries?
If I need an intermediate VRT maybe I should just push the data
into a geotiff (with no projection info) and try using that?
Could someone clear this up for me?
My other question is has there been any work done to make a python
wrapper for GDALGridCreate(). I found email threads and a ticket
(http://trac.osgeo.org/gdal/ticket/2023) talking about creating
one, but then conversation just stops and those are from 5 years
ago. I didn't notice anything that screamed "this is impossible"
when skimming through those threads and the ticket. I'm also sure
a lot has changed for GDAL and numpy in the last 5 years. If it's
a time thing I'm willing to add it if someone can point me in the
right direction to start (how-to on adding to GDAL).
Thanks.
-Dave
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org <mailto:gdal-dev@lists.osgeo.org>
http://lists.osgeo.org/mailman/listinfo/gdal-dev
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev