问题
I'm a beginner at programming and get pretty confused when trying to use external libraries. I have my maps in shapefiles that I convert to GeoJSON using the website Mapshaper.org, and only then can i read the map from my Java application.
I want the user to be able to import a shapefile directly so I found out about GDAL ogr2ogr that has Java bindings, and can make this conversion with a single command such as:
$ ogr2ogr -f GeoJSON -t_srs crs:84 [name].geojson [name].shp
but I have no idea how to use this from my program.
Can someone provide me with an example of how to implement this? How should I import GDAL to my project? I'm using LibGDX if that's of any help.
In the end, all i need is a way to convert shapefile to GeoJSON directly on my application so the user can add new maps himself, so any suggestion is welcome.
Thank you so much!
回答1:
First you need to install the Java Bindings (see here at the bottom). Than download the ogr2ogr.java from here (scroll down -> download original format -> put it into your project folder).
Than it gets quite easy. You just cann call ogr2ogr.java's main method. 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);
来源:https://stackoverflow.com/questions/27192695/how-to-run-gdal-ogr2ogr-in-java-to-convert-shapefiles-to-geojson