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

时间:2014-11-28 16:24:19

标签: java json shapefile gdal

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

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

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

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

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

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

非常感谢你!

1 个答案:

答案 0 :(得分:6)

首先,您需要安装Java Bindings(请参阅底部的here)。而不是从here下载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);