您如何使用 GDAL Java 绑定编写矢量文件?

Posted

技术标签:

【中文标题】您如何使用 GDAL Java 绑定编写矢量文件?【英文标题】:How do you write vector files with the GDAL Java bindings? 【发布时间】:2018-05-05 17:11:53 【问题描述】:

使用GDAL的Java绑定(版本2.2.1)通过org.gdal.ogr.ogr.OpenShared(filePath)方法创建DataSource,我可以毫无困难地读取不同类型的文件。但是,如果我想从 DataSource 创建一个 SQLite 文件,我该怎么做呢?

查看JavaDocs,我在Geometry 对象上找到了一些ExportTo 方法,可用于手动构建GeoJSON、WKT、KML 等:http://gdal.org/java/org/gdal/ogr/Geometry.html

Driver 类中似乎没有任何东西可以让您使用它们来导出数据源。

使用 ogr2ogr 就像运行以下命令一样简单:

ogr2ogr -f "SQLite" ./output.sqlite3 ./input.geojson

还有 this technique 用于在 Java 中运行 ogr2ogr,但我会假设 Java 绑定中会有本机的东西。

【问题讨论】:

【参考方案1】:

我已经接受最好的方法是在我的项目中简单地包含ogr2ogr.java file from the GitHub repo 并将其包装在一个函数中,使其更易于访问。它几乎是原始 C++ GDAL 文件的直接移植。

我所做的一项更改是将 ogr2ogr main 函数重命名为 execute,以便在我运行它时不会混淆应用程序。

【讨论】:

以上是关于您如何使用 GDAL Java 绑定编写矢量文件?的主要内容,如果未能解决你的问题,请参考以下文章

ogr ogr2ogr 矢量数据格式转换 ogrinfo 矢量数据图层信息操作 ogr gdal的一部分 gdal 命令行 库操作

如何修复符号查找错误:集群环境中的未定义符号错误

GDAL——命令使用专题——ogrinfo命令

C++学习(三五零)GDAL

GDAL 安装教程(Python)

使用带有 Python 的 GDAL 裁剪光栅文件