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

如何在Java中运行GDAL(ogr2ogr)将ShapeFile转换为GeoJSON,java,json,shapefile,gdal,Java,Json,Shapefile,Gdal,我是一个编程初学者,在尝试使用外部库时会感到非常困惑。我在shapefile中有地图,我使用Mapshaper.org网站将其转换为GeoJSON,只有这样我才能从Java应用程序中读取地图 我希望用户能够直接导入一个shapefile,这样我就了解了GDAL的情况,并且可以使用一个命令进行转换,例如: $ogr2ogr-f GeoJSON-t_srs crs:84[name].GeoJSON[name].shp 但我不知道如何从我的程序中使用它 有人能给我举一个如何实现这一点的例子吗?我应该如

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

我希望用户能够直接导入一个shapefile,这样我就了解了GDAL的情况,并且可以使用一个命令进行转换,例如:

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

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

有人能给我举一个如何实现这一点的例子吗?我应该如何将GDAL导入到我的项目中?如果有帮助的话,我正在使用LibGDX

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


非常感谢你

首先需要安装Java绑定(请参见底部)。然后从下载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);

看,我正在强烈地寻找这个问题的答案+1…你能找到解决办法吗?在页面上写着​OSGeo4W包括一个​gdal java包和java运行时使使用gdal构建本地java应用程序变得相当容易。但我没有找到任何gdaljava包或jni库。