问题标签 [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 回答
452 浏览

gis - 点到多边形的转换

我正在将一个 xml 文件加载到我的 postgresql / postgis 数据库中,以下字段包含我想要转换为多边形的区域的纬度长度的线。有没有办法使用 ST_MPolyFromText 来完成这项工作,样本的 long 和 lat 与将其加载到数据库中的方式相反?

39.43,-80.29 39.46,-80.49 39.43,-80.52 39.46,-80.66 39.98,-80.76 40.07,-80.43 39.46,-79.91 39.39,-80.10 39.40,-80.121 39.34,-80.19.93,-80.18.9

0 投票
0 回答
595 浏览

python - Numpy nd.array,ctypes,多处理

多处理新手希望使用 numpy。

我有一个脚本,它分割图像并将图像的可变大小块创建为 numpy 数组。

过去我已经串行处理了这个数组,没有问题。从这里的许多帖子看来,我最好的选择是将数组转换为 ctypes,对其进行切片,然后将切片发送到多个 multiprocessing.Pool。我有一个要分割的多波段图像,所以下面的代码在 main()

SO - 链接

我理解需要有 def 语句中间代码,因为我将 shared_array 作为参数传递。有没有更好的办法?

在这一点上,我的代码正在崩溃......很难。我错过了什么?这不是使用 numpy 数组处理并行处理类型的方法吗?

最后,这些是图像,我需要能够保持数组的顺序。这可能吗,还是我需要使用锁?如果是这样,来自 numpy 或多处理。

任何指向信息的链接都表示赞赏,试图学习如何在共享内存空间中处理多处理 numpy 数组。

PS 如果可能,我宁愿避免使用 numpy_sharedmem 模块,因为我想限制潜在用户的额外下载次数。

0 投票
5 回答
788 浏览

c# - 使用 C#/.NET 中的 GDAL 时出现“无磁盘”错误

我正在使用GDAL的Tamas Szekeres构建,包括使用 C# 和 .net 4.0 的桌面 GIS 应用程序中的 C# 绑定

我将整个 GDAL 发行版包含在我的可执行文件的子目录中,其文件夹结构如下:

我们正在使用 EPSG:4326,并且该软件是使用 32 位目标构建的,因为 GDAL C# API 使用p/invoke到 32 位库(可以尝试 64 位,因为 Tamas 提供了这些,还没有解决它然而)。

当我运行我的应用程序时,我收到以下错误

在此处输入图像描述

当软件尝试访问不再连接的设备(例如可移动驱动器)时,通常会发生此错误。无法“捕获”此异常,因为它会弹出一个系统对话框。

使用任何按钮关闭对话框后,软件将继续按设计执行。

第一次调用以下方法时出现错误

奇怪的东西:

  • 错误发生在一台计算机上(到目前为止)
  • 我已经在其他几台 32 位和 64 位计算机上运行该软件,没有问题
  • 编译我正在使用的 GDAL 垫片库后第一次运行时不会发生该错误,它只会在每次后续运行时发生
  • 无论发布或调试版本如何,它都会发生
  • 无论是否附加了调试器,它都会发生
  • 无论我打开还是关闭 Gdal.UseExceptions 或 Osr.UseExceptions();
  • 禁用可移动驱动器会导致该错误消失。这不是我认为的真正解决方案,因为我无法要求客户这样做。

我尝试了以下方法:

  • 捕捉错误
  • 更改 GDAL 目录和环境设置
  • 更改计算机和操作系统:这行得通
  • 使用 SysInternals ProcMon 来跟踪正在打开的文件没有运气,它们似乎都是存在的文件
  • 当硬盘驱动器发生故障时,我重新构建了有问题的计算机,但无济于事。
  • 使用CCleaner “清理”注册表
  • GDAL 目录中的文件在执行时保持不变

假设

  • 非托管代码中发生错误
  • 在 GDAL 初始化期间,某些路径指的是计算机上不再连接的驱动器
  • 我也在假设这仅限于计算机配置错误

配置

  • 视窗 7 专业版
  • 英特尔酷睿 i7 920 @ 2,67GHz
  • 12.0 GB 内存
  • 64 位操作系统
  • 驱动器 C:120 GB SSD,带操作系统、开发(Visual Studio 10)等
  • 驱动器 D:1 TB WD 10,000k 有数据,未访问数据。

问题

我要么需要一个方向来捕获错误,要么需要一个工具或技术来让我找出导致它的原因。我不想发布某些系统可能会出现这种行为的软件。

0 投票
4 回答
5776 浏览

python - 光栅:如何使用 python 获得纬度/经度的海拔?

我还在 SO 的 GIS 部分发布了这个问题。因为我不确定这是否是一个“纯粹的”python 问题,所以我也在这里再次询问。

我想知道是否有人在不使用 ArcGIS的情况下从栅格获取高程数据方面有经验,而是以 pythonlist或获取信息dict

我将我的 XY 数据作为元组列表获取。

我想遍历列表或将其传递给函数或类方法以获取 xy 对的相应高度。

我对该主题进行了一些研究,gdal API 听起来很有希望。谁能建议我如何处理事情,陷阱,示例代码?其他选择?

谢谢你的努力,拉斯维加斯

0 投票
2 回答
1306 浏览

qt - QPluginLoader 找不到模块

我为我的应用程序创建了一个插件。如果我不在我的代码中使用 GDAL 库,我的应用程序可以使用这个插件(QPlugin 加载它)并且它工作正常。但是,如果我使用 GDAL 库中的类,QPluginLoader则无法加载它并且该errorstring()方法返回../serverplugin.dll Can't find module.

在插件 DLL 中有两个导出的符号(我用 Dependency walker 找到了它们qt_plugin_instance)。在内部使用该类与导出到 DLL 的 C 符号进行交互。如果我不使用 GDAL,我一开始在所有插件中只有两个导出的符号。当我使用 GDAL 时,这两个符号被移动到导出符号的大列表的末尾。也许这两个导出的符号应该在开头。qt_plugin_query_verification_dataQPluginLoaderQLibrary

我究竟做错了什么?

0 投票
1 回答
953 浏览

bash - 图层名称应该在 gdal_rasterize for 循环中是什么?

我是 Linux 新手,目前正在尝试在 BASH 中在一组 shapefile 上运行此代码:

rast1 是一个空栅格,用于将以下栅格绑定到。我无法弄清楚这段代码中 -l 之后的语法应该是什么......我认为其余的运行良好。我试过使用 $file 但终端给了我以下错误:

任何帮助将非常感激。

0 投票
1 回答
196 浏览

python - Python shell 中未显示 stderr(来自 GDAL)

我想在GDAL的 Python shell 中看到更多错误消息,但我似乎无法弄清楚如何捕获它们(它们存在的地方)。例如,打开一个不存在的 GeoTIFF 文件:

在交互式 Python shell(PythonWin 或 IDLE)上完全没有显示任何内容。但是,如果这些命令在系统 shell(Bash、cmd.exe 等)中运行或将其保存为showit.py文件,则会出现“隐藏”错误消息:

这是发送到stderr系统 shell 的有用错误消息。任何想法如何也可以在 Python 交互式 shell 中显示,或者一般被捕获?

0 投票
1 回答
191 浏览

linux - 在bash中使用输入/输出快捷方式时如何避免文件路径重复?

抱歉,如果标题含糊不清,我不确定要使用什么术语。这是我的问题。我使用以下代码位来快捷输入/输出位置等:

运行 gdal_translate 时出现以下错误:

为什么 bash shell 两次读取文件路径 (/J/ca/wgs/) 并因此在不存在的位置找不到 .tif 文件?

万一有人问,.tif 文件肯定在 $BASE 位置。

0 投票
3 回答
1950 浏览

java - 如何在java中执行cmd命令?

我想执行这个命令

我试过这个:

我没有错误,但什么也没发生。我的错误在哪里?

0 投票
3 回答
1935 浏览

3d - 从高程数据创建 3D 网格?

我正在寻找从地形高程数据中渲染一些图像,并且想知道这种事情的最佳工具是什么。基本上我想从不同的位置和角度生成一座山的图像。图像可能有些粗糙和简单。

我已经使用了很多 GDAL 命令行工具,而 gdaldem 在创建自上而下的阴影地形图方面做得很好,但我还没有发现任何可以实现不同相机方向的东西。

我正在考虑的两种一般方法是:

  • 使用 GDAL python 绑定和针孔相机的方程并推出我自己的解决方案。如果可能的话,我想避免这样做:)
  • 使用现有工具来渲染图像,或者至少生成一个 3d 网格,这样我就可以用另一种方式渲染它