问题标签 [geotiff]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
image - 我无法在 GeoServer(JPG 图像格式)中创建图像马赛克
我正在尝试从一堆 .jpg 图像中创建图像马赛克。这些图像都有 EXIF 标头,看起来像这样:
所以在geoserver的用户手册中,它说使用geotiff或jpg伴随.jgw(世界文件)。我一直在尝试使用 gdal_translate 创建 geotiff 图像:
现在由于 gdalinfo 命令,我得到:
在 gdalinfo 的 geotiff 图像上,我得到了更详细的地理参考数据:
那么最后有没有办法将带有exif标头的jpg转换为geotiff图像?还有我怎样才能创建 .jgw 文件了 jpg 图像的 exif 标题,就像我在这里展示的那样?
matlab - 如何使用 GEOTIFFWRITE 设置 NoData GeoKeyDirectory 标签
我有包含 NaN 值的 MATLAB 矩阵。这些是包含 NaN 值的栅格数据(NaN 值是海洋掩码)。我使用 geotiffwrite 将它们写入 .tif 文件,但是当我将 .tif 文件加载到 ArcMap 以创建地图时,似乎 NaN 值已替换为 -Inf 和 +Inf(ArcMap 显示为 -1.38 e-38 和 1.38e38)。Arc 有用于设置 NoData 的工具,但它们位于我未授权的 Spatial Analyst 工具箱中。
一般来说,从文档中不清楚 geotiffwrite 如何处理 NaN 值。GeoKeyDirectory 中应该有一个标签来设置 NoData 的值,但似乎没有。
如何在 R 空间参考对象(或其他)中设置 NoData 值,以便当我使用 geotiffwrite 从 MATLAB 导出 .tif 文件时,任何和所有其他空间软件都将识别 NoData 值(例如 R、Arc、QGis、草等)。
java - GeoTiff - 如何切片成 0.1 x 0.1 度的图像
我正在将分辨率为 58808x30323 的 GeoTiff (BigTiff) 切成 0.1 度到 0.1 度的片段,这样我们就可以将片段发送到移动设备。我正在用 Java 实现转换器。图像代表 DEM - 数字海拔模型(10 米)
我所拥有的和我所知道的:
- 图像被分成 128x128 块
- 我已经成功实现了读取 IFD(图像文件目录)值,并且可以读取每个图块并对其进行解压缩(使用 LZW 解压缩)
问题和疑问:
- 我不明白如何连接图像大小、图像内的图块数量和文件中提供的地理位置数据。我读过地理位置数据与图像的顶部像素有关。有人可以解释一下 - 使用什么公式?(当我理解像素和坐标之间的连接时,双线性插值会解决问题吗?)
- 图像被分成 128x128 的图块。128x128瓷砖的单位是什么?我怀疑像素不是这种情况,因为 58808(图像宽度)或 30323(图像高度)根本不能被 128 整除。如何计算 1 行中有多少个图块?
图像元数据:
tiff 文件也有 tfw 文件:
python - 如何在 python 中编写/创建 GeoTIFF RGB 图像文件?
我有 5 个形状为 nx, ny 的 numpy 数组
红色、绿色和蓝色数组包含范围从 0 到 255 的值,而纬度/经度数组是纬度/经度像素坐标。
我的问题是如何将这些数据写入 geotiff?
我最终想使用底图绘制图像。
这是我到目前为止的代码,但是我得到了一个巨大的 GeoTIFF 文件(~500MB)并且它是空白的(只是一个黑色图像)。另请注意,nx, ny = 8120, 5416。
python - python - 在geotiff中查找坐标
作为一个python新手,我正在寻求帮助:)希望在这里找到它。
我有一个 Geotiff 文件。我需要在 Geotiff 中找到坐标以找到温度计在 geotiff 中的位置(温度计的坐标为 -115.47083484975207、35.75837483423 例如)。
我有这些 geotiff 信息:
如何转换 geotiff,以便获得纬度和经度的坐标?我已经试过了
但我不知道这是否会导致我找到解决方案。我只是想知道如何在 geotiff 中找到温度计的位置。非常感谢任何帮助,如果您需要更多信息,请告诉我!
python - 将时间序列的 GeoTIFF 栅格打包为单个 NetCDF 文件
我尝试将此解决方案用于我的图像堆栈,但我没有查看数据!
我认为问题可能出在使用正则表达式从文件路径中提取年份和月份的pat上。
所有数据都在一个名为data_sample的文件夹中,这是文件的名称:
输出是:
这是我编辑的代码(@rich-signell)
有人知道哪里有问题吗?谢谢
curl - GeoServer 远程访问数据文件
我的 web 服务器中安装了 geoserver,我想创建一个 GeoTIFF 图层。我正在通过我的本地机器访问 geoserver,并且我有 GeoTIFF 文件驻留在我的本地机器中。问题是 geoserver 无法识别我指定的文件的路径,因此无法为我创建图层。
下面是我的 curl 命令,
exec('curl -u admin:geoserver -v -XPUT -H "Content-type:image/tiff" --data-binary " http://192.168.1.2:82/TrueMarble.32km.1350x675.tif " " http ://107.167.186.125:8080/geoedge/rest/workspaces/geoedge/coveragestores/st_tif_layer_8/file.geotiff "');
它会创建覆盖范围但不会在那里创建图层,如果它与安装的地理服务器位于同一服务器中,我不能使用 IP 地址访问我的文件。
node.js - 通过 Node.js 将 .tif 上传到 GeoServer
如何通过 Node.js 将 .tif 文件上传到正在运行的 GeoServer?我想上传一个 GeoTIFF 以由 GeoServer 将其作为 WMS 提供。
GeoServer 以 405 响应,我认为这是正确的(http://docs.geoserver.org/latest/en/user/rest/api/coveragestores.html#workspaces-ws-coveragestores-cs-file-extension) . 不幸的是,我在 GeoServer 上找不到该文件。
这是我的代码:
r - R中的JPEG2000或批量转换为geotiff
我希望将 .jp2 图像打开到 R 中。我有 Sentinel-2 卫星图像,但我似乎无法正确安装 JPEG2000 GDAL 驱动程序或链接到我的 R 环境。我曾尝试与 Jasper 合作,但并没有如我所愿。是否有任何允许在 R 中直接打开 .jp2 sentinel-data 的软件包?
或者,我正在尝试将 jp2 批量转换为 geotiff,所以我可以在 R 中使用这些。我试过这个:https ://viewer.nationalmap.gov/tools/rasterconversion/Convert_JP2_Data_2_GeoTIFF_with_ESRI.html但我没有 ArcGIS可用,所以也失败了。文件需要保持原来的名称,只有扩展名需要改变。
我正在寻找一种可用于大量文件的开源解决方案(至少有几百个,所以在 QGIS 中手动操作不是解决方案)。
你能帮我解决这个问题吗?
谢谢!
r - 如何找到小于2的小数位并用R中的零填充它们
我想基于一个公共列合并两个数据集。数据集 A 是一个 geoTIFF 图像,代表一个区域的 RGB 值。数据集 B 是具有相同区域 xyz 值的点云。
我想将图像中的 RGB 信息合并到 3d 数据中。我想使用两个数据集的 xy 坐标(它们在同一个坐标系中)。我写了一个脚本,灵感来自于 stackoverflow 中的代码片段,但我需要实现我的整个代码(源代码是1、2和3)。
问题是两个文件中的 xy 坐标具有不同的精度(十进制数)。数据集 A 有 0 到 2 个数字;数据集 B 有更多。我将数据集 B 的数字四舍五入为 2。现在,当数据集 A 的数字小于 2 时,我想用零填充,这样最终的合并有望起作用。
考虑到我的数据集有 >280000 行,一个简单的 if 语句会好吗?还是我应该去索引?无论如何,我在使用 R 方面相当新,所以我希望可能的海报能帮助我提供代码示例。下面是我的代码:
编辑 1
正如@Heroka 所建议的,这也是激光雷达(数据集A)的外观示例,以及用零填充后应该如何。
激光雷达(原件)
激光雷达(已更改,并添加了“xy”列以加入)
编辑 2
counting <- sapply(lidar$x, decimalplaces)
我以某种方式设法检索了我的“激光雷达”变量(数据集 B)的所有 x 和 y 中的位数和 [0 1] 用于第二 (y) 列。我应该能够在我的 xy 数据集中找到值为 0 或 1 作为数字(不是 2)的每一行,并用 0 填充,就像上面的 LIDAR-altered 一样。