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

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

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

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

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

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

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

非常感谢!

首先,您需要安装Java Bindings(请参见底部)。 比从这里下载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);