问题标签 [gdal]

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.

0 投票
1 回答
694 浏览

python - 是否有可用于 Python 3.2 Windows 7 64 位的 GDAL 构建?

我有兴趣将 GDAL 用于 Python 3.2 Windows 7 64 位。我还没有遇到合适的构建。如果没有可用的构建,我将如何为 Python 3.2 Windows 7 64 位自己构建 GDAL。

0 投票
3 回答
4699 浏览

python - 加速 Numpy 数组的迭代

我正在使用 Numpy 执行图像处理,特别是运行标准偏差拉伸。这会读入 X 列,找到 Std。并执行百分比线性拉伸。然后它迭代到下一个“组”列并执行相同的操作。输入图像是一个 1GB 的 32 位单波段栅格,需要相当长的时间来处理(小时)。下面是代码。

我意识到我有 3 个嵌套的 for 循环,这可能是瓶颈发生的地方。如果我在“盒子”中处理图像,也就是说加载一个 [500,500] 的数组并迭代图像处理时间非常短。不幸的是,相机错误要求我迭代极长的条带 (52,000 x 4) (y,x) 以避免条带。

任何有关加快速度的建议将不胜感激:

这是一个更新:不使用配置文件模块,因为我不想开始将一小部分代码包装到函数中,所以我混合使用了 print 和 exit 语句来大致了解哪些行花费的时间最多。幸运的是(而且我确实理解我是多么幸运)一条线拖累了一切。

在打开输出文件并写出数组时,GDAL 似乎效率很低。考虑到这一点,我决定将修改后的数组“outBlock”添加到 python 列表中,然后写出块。这是我更改的部分:

outputBlock 刚刚被修改...

Finisher 只是一个处理边缘的标志。花了一些时间来弄清楚如何从列表中构建一个数组。在那,使用 numpy.array 正在创建一个 3-d 数组(有人愿意解释为什么吗?)并且写入数组需要一个 2d 数组。总处理时间现在从不到 2 分钟到 5 分钟不等。知道为什么可能存在时间范围吗?

非常感谢所有发帖的人!下一步是真正进入 Numpy 并了解向量化以进行额外优化。

0 投票
1 回答
154091 浏览

python - Numpy - 用 NaN 替换数字

我希望在 numpy 中用 NaN 替换一个数字,并且正在寻找一个类似 numpy.nan_to_num 的函数,但相反。

随着处理不同的数组,该数字可能会发生变化,因为每个数组都可以具有唯一定义的 NoDataValue。我见过人们使用字典,但是数组很大并且充满了正负浮点数。我怀疑尝试将所有这些加载到任何东西中以创建密钥的效率不高。

我尝试使用以下和 numpy 要求我使用 any() 或 all()。我意识到我需要明智地迭代元素,但希望内置函数可以实现这一点。

NDV 是 GDAL 的无数据值,数组是一个 numpy 数组。

蒙面数组可能是要走的路吗?

0 投票
2 回答
3772 浏览

python - GDAL 光栅输出

我正在尝试在 python 中使用 GDAL 创建一个 .tif 文件。它正在创建一个文件,但每当我浏览它时都会说“没有可用的预览”。现在,我只是想让它复制输入文件。这是我的代码:

=============================更新===================== ==================== 取得了一些发现...我研究了使用统计归一化从一种数字格式转换为另一种数字格式的方法。我处理了输入数据并使用以下算法将其转换为 uint8:

我想复制的主要原因是为了证明我可以读入,然后根据计算写出更新的数据。

什么可能是我可以使用色带而不是仅一种颜色的阴影来写出输出数据的方法?

0 投票
1 回答
11968 浏览

python - GDAL WriteArray 问题

我正在利用 python GDAL 将栅格数据写入 .tif 文件。这是代码:

输出数据集关闭和重新打开之间的结果输出不同:

在将变量设置为无之前,我是否缺少一些命令来确保写入和保存文件?我尝试添加以下两个都没有运气:

0 投票
5 回答
18055 浏览

python - GDAL 安装在 Mac OS X Lion 上

我正在尝试使用以下方法在 Mac OS X Lion 上安装 GDAL 1.7.1:

并得到错误:

这是正确的编译器吗?我怎样才能得到这个工作?

更新:

安装了 Xcode 后,我会更进一步:

0 投票
2 回答
1508 浏览

c++ - 将 GDAL 合并到 MSVS 2008 C++ 项目中

我一直在 python 中尝试使用 GDAL,并在将其用于地形分析方面取得了一些巨大的成功。我的公司想看看是否/如何在 Visual Studio 中使用 GDAL,因为它是他们的主要平台。

我已经按照“从源代码构建”下的说明下载并安装了 GDAL v1.8是 MSVS 的新手,不知道如何包含必要的头文件以在新项目中使用 GDAL 库。

如何包含库?非常感谢您的帮助!

0 投票
1 回答
2254 浏览

raster - 将 XYZ 格式的文件保存为矢量(GML 或 shp)

我正在使用 QGIS 软件。我想将每个栅格单元的值显示为标签。我的想法(我不知道 QGIS 中的任何插件或任何功能可以让它更容易)是使用 gdal2xyz.py 将栅格导出为坐标值格式,然后将其保存为矢量(GML 或 shapefile)。对于第二个任务,我尝试使用

*gdal_polygonize.py:*

gdal_polygonize.py rainfXYZ.txt rainf.shp 创建 GML 格式的输出rainf.shp。0...10...20...30...40...50...60...70...80...90...100 - 完成。

不幸的是,我无法加载创建的文件(即使我将扩展名更改为 .gml)

ogr2ogr工具甚至无法识别这种格式。


是的 - 对不起,我忘了添加这些信息。

一般来说,在准备好 CSV 文件后(使用带有 -csv 选项的 gdal2xyz.py),我需要在它的开头添加一行:“Longitude,Latitude,Value”(不带引号)

然后我需要创建一个 VRT 文件,其中包含

运行命令“ogr2ogr -select Value Shapefile_name.shp Shapefile_name.vrt”。我得到了文件 evap_OBC.shp 和另外两个相关文件。

0 投票
1 回答
1204 浏览

gis - 如何使用 GDAL 或任何其他开源解决方案将具有相同值的点从 shapefile 聚合到多边形中

我有一个大约 19,000 点的 shapefile。它基本上是从栅格导出的。现在我需要通过聚合具有相同值的点来提取多边形。每次使用点的高程动态计算我要用于聚合的值的字段。现在我需要吐出多边形。我怎么能用GDAL做到这一点?有没有实用程序可以做到这一点。欢迎任何其他开源解决方案。我有 ArcGIS,它有一个名为“聚合点”的工具箱,但不知何故缺少它的许可。

0 投票
2 回答
1923 浏览

python - 多次安装后 Gdal 不会导入 (Mac OSX)

使用 Macports,

我尝试安装:gdal、py27gdal 和 gdal-grass。这样我就可以将 gdal 导入 python 2.7.2。

两者都没有成功。

当我输入:

我看到已安装的模块:

当我运行 python 导入模块时:

我究竟做错了什么?