问题标签 [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.
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
python - Numpy nd.array,ctypes,多处理
多处理新手希望使用 numpy。
我有一个脚本,它分割图像并将图像的可变大小块创建为 numpy 数组。
过去我已经串行处理了这个数组,没有问题。从这里的许多帖子看来,我最好的选择是将数组转换为 ctypes,对其进行切片,然后将切片发送到多个 multiprocessing.Pool。我有一个要分割的多波段图像,所以下面的代码在 main()
我理解需要有 def 语句中间代码,因为我将 shared_array 作为参数传递。有没有更好的办法?
在这一点上,我的代码正在崩溃......很难。我错过了什么?这不是使用 numpy 数组处理并行处理类型的方法吗?
最后,这些是图像,我需要能够保持数组的顺序。这可能吗,还是我需要使用锁?如果是这样,来自 numpy 或多处理。
任何指向信息的链接都表示赞赏,试图学习如何在共享内存空间中处理多处理 numpy 数组。
PS 如果可能,我宁愿避免使用 numpy_sharedmem 模块,因为我想限制潜在用户的额外下载次数。
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 有数据,未访问数据。
问题
我要么需要一个方向来捕获错误,要么需要一个工具或技术来让我找出导致它的原因。我不想发布某些系统可能会出现这种行为的软件。
python - 光栅:如何使用 python 获得纬度/经度的海拔?
我还在 SO 的 GIS 部分发布了这个问题。因为我不确定这是否是一个“纯粹的”python 问题,所以我也在这里再次询问。
我想知道是否有人在不使用 ArcGIS的情况下从栅格获取高程数据方面有经验,而是以 pythonlist
或获取信息dict
?
我将我的 XY 数据作为元组列表获取。
我想遍历列表或将其传递给函数或类方法以获取 xy 对的相应高度。
我对该主题进行了一些研究,gdal API 听起来很有希望。谁能建议我如何处理事情,陷阱,示例代码?其他选择?
谢谢你的努力,拉斯维加斯
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_data
QPluginLoader
QLibrary
我究竟做错了什么?
bash - 图层名称应该在 gdal_rasterize for 循环中是什么?
我是 Linux 新手,目前正在尝试在 BASH 中在一组 shapefile 上运行此代码:
rast1 是一个空栅格,用于将以下栅格绑定到。我无法弄清楚这段代码中 -l 之后的语法应该是什么......我认为其余的运行良好。我试过使用 $file 但终端给了我以下错误:
任何帮助将非常感激。
python - Python shell 中未显示 stderr(来自 GDAL)
我想在GDAL的 Python shell 中看到更多错误消息,但我似乎无法弄清楚如何捕获它们(它们存在的地方)。例如,打开一个不存在的 GeoTIFF 文件:
在交互式 Python shell(PythonWin 或 IDLE)上完全没有显示任何内容。但是,如果这些命令在系统 shell(Bash、cmd.exe 等)中运行或将其保存为showit.py
文件,则会出现“隐藏”错误消息:
这是发送到stderr
系统 shell 的有用错误消息。任何想法如何也可以在 Python 交互式 shell 中显示,或者一般被捕获?
linux - 在bash中使用输入/输出快捷方式时如何避免文件路径重复?
抱歉,如果标题含糊不清,我不确定要使用什么术语。这是我的问题。我使用以下代码位来快捷输入/输出位置等:
运行 gdal_translate 时出现以下错误:
为什么 bash shell 两次读取文件路径 (/J/ca/wgs/) 并因此在不存在的位置找不到 .tif 文件?
万一有人问,.tif 文件肯定在 $BASE 位置。
java - 如何在java中执行cmd命令?
我想执行这个命令
我试过这个:
我没有错误,但什么也没发生。我的错误在哪里?
3d - 从高程数据创建 3D 网格?
我正在寻找从地形高程数据中渲染一些图像,并且想知道这种事情的最佳工具是什么。基本上我想从不同的位置和角度生成一座山的图像。图像可能有些粗糙和简单。
我已经使用了很多 GDAL 命令行工具,而 gdaldem 在创建自上而下的阴影地形图方面做得很好,但我还没有发现任何可以实现不同相机方向的东西。
我正在考虑的两种一般方法是:
- 使用 GDAL python 绑定和针孔相机的方程并推出我自己的解决方案。如果可能的话,我想避免这样做:)
- 使用现有工具来渲染图像,或者至少生成一个 3d 网格,这样我就可以用另一种方式渲染它