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

10
我是编程新手,在尝试使用外部库时很容易感到困惑。我有一些地图的 shapefiles 文件,通过网站 Mapshaper.org 转换为 GeoJSON 格式,然后才能在我的 Java 应用程序中读取该地图。
我希望用户能够直接导入 shapefile,所以我了解了 GDAL ogr2ogr,它具有Java 绑定,并且可以使用单个命令进行此转换,例如: $ ogr2ogr -f GeoJSON -t_srs crs:84 [name].geojson [name].shp
但我不知道如何从我的程序中使用它。
是否可以提供一个实现此功能的示例? 我该如何将 GDAL 导入我的项目中?如果有任何建议,请告诉我,最终我只需要一种在应用程序上直接将 shapefile 转换为 GeoJSON 的方法,以便用户自己添加新地图。
非常感谢!

1
请参见http://commons.apache.org/proper/commons-exec/tutorial.html的教程。 - Mike T
1
我非常渴望得到这个问题的答案...+1... - prem30488
你能找到一个解决方案吗? - Selphiron
1个回答

8

首先,您需要安装Java绑定库(请参见此处底部)。然后从此处下载ogr2ogr.java文件(向下滚动 -> 下载原始格式 -> 将其放入您的项目文件夹中)。 然后就变得非常容易了。您只需调用ogr2ogr.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);

在页面GDAL/OGR在Java中的构建说明(Windows)上写道:“请注意,OSGeo4W包括一个gdal-java软件包和一个Java运行时,使得使用GDAL构建本地Java应用程序相当容易。”但我没有找到任何gdal-java软件包或任何jni库。 - Deepak Pandey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接