问题标签 [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.
c++ - 使用 GDAL/OGR api 读取矢量数据(shapefile)--如何?
我正在开发一个涉及一些 gis 东西的应用程序。将有一些 .shp 文件被读取并绘制到 opengl 屏幕上。当前的opengl屏幕正在使用从设置的正交投影,glOrtho()
并且已经使用来自简单文本文件的坐标显示地图。
现在要绘制的地图将从 shapefile 中读取。
我有以下疑问:
如何使用 .shp 文件的 WGS84 投影(从 shapefile 的 .prj 文件读取,WKT 格式)到我现有的 glOrtho 投影中。是否需要进行任何转换?它与 glOrtho() 设置的内容有何不同?基本上如何使用这些信息?
我的应用程序需要以这样一种方式设置,即我可以知道地图上某个点的确切纬度/经度。例如。如果我在 X 城市上徘徊,则可以获取其正确的纬度/经度。我知道这可以通过使用像 GDAL/OGR 这样的开源工具/apis 来完成,但我搞砸了,因为这些 apis 的文档没有进入我的头。我试图找到一些示例 c++ progs 但找不到。
我已经编写了自己的逻辑来从包含点/折线/多边形(使用 C-shapelib)的 shapefile 中读取坐标并绘制在我的 opengl 屏幕上。我在 doc 中找到了一个 OGR 示例代码来读取 POINTS shapefile 但没有POLYGON shapefile。问题是这个应用程序必须非常动态,以便在加载 shapefile 时,它应该根据正在读取的 .shp 文件的投影正确设置 opengl 屏幕的投影。例如 WGS84、LCC、EVEREST修改...等。如何从 OGR api 实现这一点?
请就这个问题提供您的意见。我真的很想完成这项工作,但我没有得到正确的开始..
openlayers - GDAL2Tiles 和向量
我正在尝试制作一个非常大的仓库的交互式地图。
我已经扫描了蓝图,并且正在使用带有 TMS 数据源(使用 GDAL2Tiles 生成)的 OpenLayers 来显示地图。一切看起来都很棒,但我完全不知道如何在它上面创建一个矢量图层!
理想情况下,我的仓库顶部会有大约 100 个向量,每个向量都可以点击以显示其他信息,等等等等。但是我用什么来制作向量,以及我如何引用不同缩放级别的图像上的相同位置,因为我没有使用纬度/经度坐标?
c# - GDAL C# ReadAsArray
我正在使用GDAL API读取光栅文件......我在某些地方发现python版本有ReadAsArray,我假设这将光栅文件的数据作为二维数组,C#有没有类似的选项,或者至少可以你告诉我怎么做?多谢!
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?
postgresql - ogr2ogr 和 Postgis/PostgreSQL 数据库的编码问题
在我们的组织中,我们处理不同文件格式的 GIS 内容。我需要将这些文件放入 PostGIS 数据库,这是使用 ogr2ogr 完成的。问题是,数据库是 UTF8 编码的,文件可能有不同的编码。
我找到了有关如何通过向 org2ogr 添加选项参数来指定编码的描述,但显然它没有效果。
我收到的错误是:
目前,我的源文件是一个 Shape 文件,我很确定它是 Latin1 编码的。
我在这里做错了什么,你能帮帮我吗?
亲切的问候,卡斯帕
ios - 适用于 iPhone 的 NSTask 或等效项
我有一个开源项目 (gdal),我想将它编译并作为 iOS 应用程序的一部分运行。我一直期待使用NSTask
,但我现在看到它在 iOS 3.0 中已被删除。我还在其他地方看到不允许运行外部应用程序,尽管这将是我的应用程序包中的资源。
有没有其他人找到在他们的 iOS 应用程序中运行命令行工具的方法?
python - 不能在python中导入gdal?
我已经gdal
在 Ubuntu Jaunty 上安装并运行,但我无法运行gdal2tiles
,因为我收到错误:
当我打开 python 并输入时,import gdal
我得到了同样的错误。
我已经set LD_LIBRARY_PATH
(没有空格!),/usr/local/lib
但它似乎没有任何区别。
看起来 Python 找不到gdal
. 任何人都可以帮忙吗?
谢谢!
geocoding - 地理问题:如何在给定一些地面控制点的情况下生成 .wld 文件?
好的,所以我有一个 jpeg 和一堆地面控制点(x/y 像素和相应的纬度/经度参考)。
我想从命令行生成一个 .wld 世界文件来伴随 jpeg。我的坐标系是谷歌地图,即EPSG:900913。
我知道我可以使用 gdal_transform 在给定 gcps 的情况下生成 .vrt,但我需要的是 .wld 文件。(区别不是很清楚,但这绝对是我需要的!)
任何人都知道如何做到这一点?
谢谢理查德
c++ - ESRI shapefile 选择哪个 C++ 库?
有没有人有从 C++处理(读取)ESRI shapefile的经验?
我找到了至少 2 个开源库:ShapeLib C 库和OGR。哪一个更好?有人用过其中一种吗?体验如何?
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,我刚刚安装了它。