The below was written prior to utilizing gdalwarp to make the geotiffs. See "Grid to GeoTIF" section for details, but if you use gdalwarp to make the geotiff you can also output a sample xml label that has most (all?) of the information below.
To get the pixel size of a geotiff, use gdalinfo. Command and output of a rectangular pixel size are shown below. Number of pixels is shown by the "Size is 501, 100" where 501 is px and 100 is line. Pixel size (in deg) is given by "Pixel Size = (0.036126000000000,-0.181000000000000)". Note you can also get this number by using the "Corner Coordinates:" of (292.297 - 274.198) / 501 = 0.036126, or (3.115 - -14.984) / 100 = 0.181. GDAL outputs a negative sign in front of the 0.181, I am not sure why.
<rand> test$ gdalinfo -stats LEADEQ-radius-v1.tif
Driver: GTiff/GeoTIFF
Files: LEADEQ-radius-v1.tif
LEADEQ-radius-v1.tif.aux.xml
Size is 501, 100
Coordinate System is:
GEOGCRS["Tethys 2000",
DATUM["D_Tethys_2000",
ELLIPSOID["Tethys_2000_IAU_IAG",535600,54.6530612244898,
LENGTHUNIT["metre",1,
ID["EPSG",9001]]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433,
ID["EPSG",9122]]],
CS[ellipsoidal,2],
AXIS["latitude",north,
ORDER[1],
ANGLEUNIT["degree",0.0174532925199433,
ID["EPSG",9122]]],
AXIS["longitude",east,
ORDER[2],
ANGLEUNIT["degree",0.0174532925199433,
ID["EPSG",9122]]]]
Data axis to CRS axis mapping: 2,1
Origin = (274.197937000000024,3.115500000000000)
Pixel Size = (0.036126000000000,-0.181000000000000)
Metadata:
AREA_OR_POINT=Area
lat#actual_range={-14.894,3.025}
lat#axis=Y
lat#long_name=latitude
lat#standard_name=latitude
lat#units=degrees_north
lon#actual_range={274.216,292.279}
lon#axis=X
lon#long_name=longitude
lon#standard_name=longitude
lon#units=degrees_east
NC_GLOBAL#Conventions=CF-1.7
NC_GLOBAL#GMT_version=6.2.0 [64-bit]
NC_GLOBAL#history=sphinterpolate -R274.216/292.279/-14.894/3.025 -I501+n/100+n -Gtmp.nc
z#actual_range={525616.3125,530976.5625}
z#long_name=z
z#_FillValue=nan
Image Structure Metadata:
INTERLEAVE=BAND
Corner Coordinates:
Upper Left ( 274.198, 3.115) (274d11'52.57"E, 3d 6'55.80"N)
Lower Left ( 274.198, -14.984) (274d11'52.57"E, 14d59' 4.20"S)
Upper Right ( 292.297, 3.115) (292d17'49.43"E, 3d 6'55.80"N)
Lower Right ( 292.297, -14.984) (292d17'49.43"E, 14d59' 4.20"S)
Center ( 283.248, -5.934) (283d14'51.00"E, 5d56' 4.20"S)
Band 1 Block=501x4 Type=Float32, ColorInterp=Gray
Minimum=525616.312, Maximum=530976.562, Mean=528625.394, StdDev=890.336
NoData Value=nan
Metadata:
actual_range={525616.3125,530976.5625}
long_name=z
NETCDF_VARNAME=z
STATISTICS_MAXIMUM=530976.5625
STATISTICS_MEAN=528625.39353917
STATISTICS_MINIMUM=525616.3125
STATISTICS_STDDEV=890.33610412375
STATISTICS_VALID_PERCENT=100
_FillValue=nan- Bits per Pixel is 32
- Sample Direction is RIGHT
- Line Direction is DOWN
- Axis Order is Last_Index_fastest
- Data Type is IEEE_REAL_LSB (or at least the ones I make with GDAL are LSB)
- Header size can be found using Hex Fiend. Notice the red line a bit after the word "Greenwich". That is where you need to click, and then the header size is given at the bottom of the window. Click to see larger image if needed.
- To get Vertical Pixel scale take the second Pixel Size value (0.181000000000000), and radius of the object. V Px Scale (meters) = 2*PI*(Radius in meters)/360*(0.181000000000000)
- To get Horizontal Pixel scale take the first Pixel Size value (0.036126000000000), radius of the object, and Latitude. H Px Scale (meters) = 2*PI(Radius in meters)*cos(Lat in radians)/360*(0.036126000000000)
