【问题标题】:How to run GDAL (ogr2ogr) in Java to convert Shapefiles to GeoJSON如何在 Java 中运行 GDAL (ogr2ogr) 以将 Shapefile 转换为 GeoJSON
【发布时间】:2015-01-27 08:25:52
【问题描述】:

我是编程初学者,在尝试使用外部库时会感到很困惑。我在 shapefile 中有我的地图,我使用网站 Mapshaper.org 将其转换为 GeoJSON,然后我才能从我的 Java 应用程序中读取地图。

我希望用户能够直接导入 shapefile,因此我发现了具有 Java bindings 的 GDAL ogr2ogr,并且可以使用单个命令进行此转换,例如:

$ ogr2ogr -f GeoJSON -t_srs crs:84 [name].geojson [name].shp

但我不知道如何在我的程序中使用它。

有人可以为我提供一个如何实现此功能的示例吗?我应该如何将 GDAL 导入我的项目?如果有任何帮助,我正在使用 LibGDX。

最后,我需要的只是一种在我的应用程序上直接将 shapefile 转换为 GeoJSON 的方法,这样用户就可以自己添加新地图,因此欢迎提出任何建议。

非常感谢!

【问题讨论】:

标签: java json shapefile gdal


【解决方案1】:

首先,您需要安装 Java 绑定(请参阅底部的 here)。比从here 下载 ogr2ogr.java(向下滚动 -> 下载原始格式 -> 将其放入您的项目文件夹)。 比它变得很容易。你不能调用 ogr2ogr.java 的 main 方法。 ogr2ogr -f GeoJSON -t_srs crs:84 [name].geojson [name].shp

String[] cmd = {"-t_srs", "CRS:84", "-f", "GeoJSON","[name].geojson","[name].shp"};

ogr2ogr.main(cmd);

【讨论】:

  • Build Instructions for GDAL/OGR In Java (Windows)页面上写着请注意,OSGeo4W包含一个​gdal-java包和一个Java运行时,使得使用GDAL构建本地Java应用程序变得相当容易。 但我没有找到任何 gdal-java 包或任何 jni 库。
猜你喜欢
  • 1970-01-01
  • 2018-11-29
  • 1970-01-01
  • 2020-09-06
  • 1970-01-01
  • 2021-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多