如何将以 Lat=+50N Lon=+5E 为中心的地球正交 PNG 图像 gdal_translate 为正确的 GeoTIFFf 格式?
我不知道如何指定完整光盘的限制。 (地球直径以米为单位?180 度球体?距中心 90 度?) 我应该将哪个参数添加到空间参考系统字符串中?如果需要,如何将 GCP 指定到完整光盘?
图像 Ortho-5_50-clean.png 是 png 2048px x 2048px 全光盘地球,启用透明度。
gdal_translate -of Gtiff -a_srs "+proj=ortho +ellps=WGS84 +datum=WGS84 +lat_0=50 +lon_0=5" Ortho-5_50-clean.png Ortho-5_50-clean.tif
重新投影为 longlat 的命令失败并出现难以理解的错误:
gdalwarp -t_srs "+proj=longlat +datum=WGS84 +ellps=WGS84 +units=m" test_ortho.tif test_EQ.tif
错误 1:变换已经是“北上”,或者无法为 Ortho-5_50-clean.tif 计算像素/线和地理参考坐标之间的变换。没有仿射变换,也没有 GCP。指定转换选项 SRC_METHOD=NO_GEOTRANSFORM 以绕过此检查。
版本 -- GDAL 3.4.1,2021/12/27 发布
版本 -- ImageMagick(转换)6.9.11-60
版本 -- Linux 6.5.0-14-generic #14~22.04.1-Ubuntu
gdalinfo Ortho-5_50-clean.tif:
Driver: GTiff/GeoTIFF
Files: Ortho-5_50-clean.tif
Size is 2048, 2048
Coordinate System is:
PROJCRS["unknown",
BASEGEOGCRS["WGS 84",
DATUM["World Geodetic System 1984",
ELLIPSOID["WGS 84",6378137,298.257223563,
LENGTHUNIT["metre",1]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433]],
ID["EPSG",4326]],
CONVERSION["Orthographic",
METHOD["Orthographic",
ID["EPSG",9840]],
PARAMETER["Latitude of natural origin",85,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8801]],
PARAMETER["Longitude of natural origin",-30,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8802]],
PARAMETER["False easting",0,
LENGTHUNIT["metre",1],
ID["EPSG",8806]],
PARAMETER["False northing",0,
LENGTHUNIT["metre",1],
ID["EPSG",8807]]],
CS[Cartesian,2],
AXIS["easting",east,
ORDER[1],
LENGTHUNIT["metre",1,
ID["EPSG",9001]]],
AXIS["northing",north,
ORDER[2],
LENGTHUNIT["metre",1,
ID["EPSG",9001]]]]
Data axis to CRS axis mapping: 1,2
Image Structure Metadata:
INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left ( 0.0, 0.0)
Lower Left ( 0.0, 2048.0)
Upper Right ( 2048.0, 0.0)
Lower Right ( 2048.0, 2048.0)
Center ( 1024.0, 1024.0)
Band 1 Block=2048x1 Type=Byte, ColorInterp=Red
Mask Flags: PER_DATASET ALPHA
Band 2 Block=2048x1 Type=Byte, ColorInterp=Green
Mask Flags: PER_DATASET ALPHA
Band 3 Block=2048x1 Type=Byte, ColorInterp=Blue
Mask Flags: PER_DATASET ALPHA
Band 4 Block=2048x1 Type=Byte, ColorInterp=Alpha
要将地球的完整光盘 PNG 正交或透视图像转换为正确的 geotiff,您必须包括以米为单位的地理限制... 这是地球的半径(~6367444.65 米)。我不知道如何计算根据相机位置而变化的精确测量值。随着赤道隆起随视图纬度的变化,距离也会发生变化。 Lat=0 时最小值,Lat=90 时最大值。
我的示例命令行假设地球是球形的:
gdal_translate -of Gtiff -a_ullr -6367444.65 6367444.65 6367444.65 -6367444.65 -a_srs "+proj=ortho +ellps=WGS84 +datum=WGS84 +lat_0=50 +lon_0=5" source_disc.png target_disc.tif