问题标签 [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 投票
3 回答
9864 浏览

c++ - 使用 GDAL/OGR api 读取矢量数据(shapefile)--如何?

我正在开发一个涉及一些 gis 东西的应用程序。将有一些 .shp 文件被读取并绘制到 opengl 屏幕上。当前的opengl屏幕正在使用从设置的正交投影,glOrtho()并且已经使用来自简单文本文件的坐标显示地图。

现在要绘制的地图将从 shapefile 中读取。

我有以下疑问:

  1. 如何使用 .shp 文件的 WGS84 投影(从 shapefile 的 .prj 文件读取,WKT 格式)到我现有的 glOrtho 投影中。是否需要进行任何转换?它与 glOrtho() 设置的内容有何不同?基本上如何使用这些信息?

  2. 我的应用程序需要以这样一种方式设置,即我可以知道地图上某个点的确切纬度/经度。例如。如果我在 X 城市上徘徊,则可以获取其正确的纬度/经度。我知道这可以通过使用像 GDAL/OGR 这样的开源工具/apis 来完成,但我搞砸了,因为这些 apis 的文档没有进入我的头。我试图找到一些示例 c++ progs 但找不到。

  3. 我已经编写了自己的逻辑来从包含点/折线/多边形(使用 C-shapelib)的 shapefile 中读取坐标并绘制在我的 opengl 屏幕上。我在 doc 中找到了一个 OGR 示例代码来读取 POINTS shapefile 但没有POLYGON shapefile。问题是这个应用程序必须非常动态,以便在加载 shapefile 时,它​​应该根据正在读取的 .shp 文件的投影正确设置 opengl 屏幕的投影。例如 WGS84、LCC、EVEREST修改...等。如何从 OGR api 实现这一点?

请就这个问题提供您的意见。我真的很想完成这项工作,但我没有得到正确的开始..

0 投票
1 回答
799 浏览

openlayers - GDAL2Tiles 和向量

我正在尝试制作一个非常大的仓库的交互式地图。

我已经扫描了蓝图,并且正在使用带有 TMS 数据源(使用 GDAL2Tiles 生成)的 OpenLayers 来显示地图。一切看起来都很棒,但我完全不知道如何在它上面创建一个矢量图层!

理想情况下,我的仓库顶部会有大约 100 个向量,每个向量都可以点击以显示其他信息,等等等等。但是我用什么来制作向量,以及我如何引用不同缩放级别的图像上的相同位置,因为我没有使用纬度/经度坐标?

0 投票
2 回答
3178 浏览

c# - GDAL C# ReadAsArray

我正在使用GDAL API读取光栅文件......我在某些地方发现python版本有ReadAsArray,我假设这将光栅文件的数据作为二维数组,C#有没有类似的选项,或者至少可以你告诉我怎么做?多谢!

0 投票
1 回答
1843 浏览

python - Using UTM with geodjango

I'm looking into using the UTM coordinate system with geodjango. And I can't figure out how to get the data in properly.

I've been browsing the documentation and it seems that the "GEOSGeometry(geo_input, srid=None)" or "OGRGeometry" could be used with an EWKT, but I can't figure out how to format the data.

It looks like the UTM SRID is: 2029

From the wikipedia article the format is written like this:

[UTMZone][N or S] [easting] [northing]

17N 630084 4833438

So I tried the following with no luck:

Are there any example available to show how this is done?

May be I should just do any necessary calulations in UTM and convert to decimal degrees?
In this case does GEOS or other tools in geodjango provide convertion utitilites?

0 投票
7 回答
18316 浏览

postgresql - ogr2ogr 和 Postgis/PostgreSQL 数据库的编码问题

在我们的组织中,我们处理不同文件格式的 GIS 内容。我需要将这些文件放入 PostGIS 数据库,这是使用 ogr2ogr 完成的。问题是,数据库是 UTF8 编码的,文件可能有不同的编码。

我找到了有关如何通过向 org2ogr 添加选项参数来指定编码的描述,但显然它没有效果。

我收到的错误是:

目前,我的源文件是一个 Shape 文件,我很确定它是 Latin1 编码的。

我在这里做错了什么,你能帮帮我吗?

亲切的问候,卡斯帕

0 投票
3 回答
12626 浏览

ios - 适用于 iPhone 的 NSTask 或等效项

我有一个开源项目 (gdal),我想将它编译并作为 iOS 应用程序的一部分运行。我一直期待使用NSTask,但我现在看到它在 iOS 3.0 中已被删除。我还在其他地方看到不允许运行外部应用程序,尽管这将是我的应用程序包中的资源。

有没有其他人找到在他们的 iOS 应用程序中运行命令行工具的方法?

0 投票
1 回答
42868 浏览

python - 不能在python中导入gdal?

我已经gdal在 Ubuntu Jaunty 上安装并运行,但我无法运行gdal2tiles,因为我收到错误:

当我打开 python 并输入时,import gdal我得到了同样的错误。

我已经set LD_LIBRARY_PATH(没有空格!),/usr/local/lib但它似乎没有任何区别。

看起来 Python 找不到gdal. 任何人都可以帮忙吗?

谢谢!

0 投票
2 回答
3071 浏览

geocoding - 地理问题:如何在给定一些地面控制点的情况下生成 .wld 文件?

好的,所以我有一个 jpeg 和一堆地面控制点(x/y 像素和相应的纬度/经度参考)。

我想从命令行生成一个 .wld 世界文件来伴随 jpeg。我的坐标系是谷歌地图,即EPSG:900913。

我知道我可以使用 gdal_transform 在给定 gcps 的情况下生成 .vrt,但我需要的是 .wld 文件。(区别不是很清楚,但这绝对是我需要的!)

任何人都知道如何做到这一点?

谢谢理查德

0 投票
2 回答
15219 浏览

c++ - ESRI shapefile 选择哪个 C++ 库?

有没有人有从 C++处理(读取)ESRI shapefile的经验?

我找到了至少 2 个开源库:ShapeLib C 库OGR。哪一个更好?有人用过其中一种吗?体验如何?

0 投票
1 回答
3741 浏览

postgresql - 从 PG 到 SHP 的 ogr2ogr 更改 .DBF 中的数据类型

更新:

是的,就是这样!

就像 mloskot 说的那样,整个表都需要被倾倒。使用 sql 选择字段会丢失有关字段宽度的信息。

谢谢,解决了!

大家好,

我对ogr2ogr有疑问。我正在尝试将 PostgreSQL 表格转储到 Shapefile。ogr2ogr 似乎改变了整数和字符等数据类型的大小。

这是 Shapefile 集被读入的 DB 结构的一部分:

它看起来正确。

乐趣从这里开始:

然后

num-length 从8,2,2变为11, char 长度从10变为80

我读到如果未指定宽度(长度),这些是默认值。

如何指定宽度?

我尝试了有或没有施法的每一个组合,如下所示:

这给出了dbview

没有强制转换 ( select * from test) 给出

在任何情况下都与原件相去甚远。

debugfile [--debug on]恕我直言,没有什么特别的,这是我试过的 3 ogr2ogr 命令的输出:

我也尝试过-dsco precision=no,但这也无济于事。

也许dbview是在拉我的腿,但它正确显示了 Shapefile 设置的源 .dbf 的标题。

有人有什么想法吗?

EJ

更新: 你好mloskot,

感谢您的回复和重新格式化,非常感谢!

我在 GDAL 1.6.3 上。

我尝试指定宽度,但没有任何区别。

给出:

是的,我尝试在不强制转换的情况下指定字段,如下所示:

这使:

integer(field_length)

不起作用,给出错误

ERROR 1: ERROR: current transaction is aborted, commands ignored until end of transaction block

也许我的 Postgresql 和 PostGIS 版本过时了?Postgres = 8.3.5,PostGIS = 1.3.3

我会检查 Shapelib,我刚刚安装了它。