[gdal-dev] ASCII Gridded XYZ and "Hectare Raster" data (STATPOP and STATENT)
Even Rouault
even.rouault at spatialys.com
Wed Apr 24 16:04:17 PDT 2019
On jeudi 25 avril 2019 00:26:35 CEST Stefan Keller wrote:
> Hi,
>
> Am 22. Apr. 2019 23:49 wrote regarding gdal_grid:
> > Is there a solution for just setting output pixel size in map units
>
> By guessing the "-outsize 65 75" (no. of X and Y lines) I finally got
> a result which contained a pixel size of 100, -100 meters plus
> sensible values:
>
> # gdal_grid -ot UInt16 -of GTiff -zfield "C3" -a
> nearest:radius1=71:radius2=71 -outsize 65 75 in.gpkg out.tif
>
> => But, I'm still looking for a hint to set pixel sizes without
> guessing or calculating the "outsize" from the extents of the input
> file.
This is left as an exercice to the contributor to implement a -tr option
similar to gdalwarp / gdal_translate.
>
> Then, I observed another problem: One obviously has no choice in
> gdal_grid than to choose an interpolation method. As one can see from
> the command above, I've chosen "nearest neighbour" as interpolation
> method (option "-a nearest:radius1=71:radius2=71").
Why 71 ? If you're grid size is 100 meters, then less than 50 meters would be
a good radius
You would also need to grow the raster extent by a half-pixel size, so that
the middle of each raster point matches exactly an exact x,y coordinate of
your CSV (GDAL convention for georeferencing is the coordinate of the top-left
corner of a pixel area, not its center)
By default, gdal_grid takes the extent of the vector file to set it as the
extent of the raster file, and doesn't do this half-pixel extension, which is
the likely cause for the effect you observed.
Example:
given grid.csv with
x,y,z
100,500,1
300,500,3
100,600,4
200,600,5
300,600,6
# note the missing value at 200,500
$ ogr2ogr grid.gpkg grid.csv -oo X_POSSIBLE_NAMES=x -oo Y_POSSIBLE_NAMES=y
# Note the extra small radius since the center of a raster grid matches a
# input vector point, or none
$ gdal_grid -a nearest:radius1=1:radius2=1:nodata=-99 grid.gpkg grid.tif \
-txe 50 350 -tye 650 450 -outsize 3 2 -zfield z
$ gdal_translate grid.tif /vsistdout/ -of aaigrid
ncols 3
nrows 2
xllcorner 50.000000000000
yllcorner 450.000000000000
cellsize 100.000000000000
NODATA_value -99
4.0 5 6
1 -99 3
Even
--
Spatialys - Geospatial professional services
http://www.spatialys.com
More information about the gdal-dev
mailing list