如何在Java中运行GDAL(ogr2ogr)将Shapefile转换为GeoJSON

use*_*903 8 java json shapefile gdal

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

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

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

但我不知道如何从我的程序中使用它.

有人能为我提供一个如何实现这个的例子吗?我该如何将GDAL导入我的项目?我正在使用LibGDX,如果有任何帮助的话.

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

非常感谢!

Sel*_*ron 6

首先,你需要安装Java绑定(见这里的底部).比从这里下载ogr2ogr.java (向下滚动 - >下载原始格式 - >将其放入项目文件夹).比它变得容易.你只需要调用ogr2​​ogr.java的主要方法.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);
Run Code Online (Sandbox Code Playgroud)