相关maven的jar可以点击下载:repository.zip
<geotools.version>27-RCgeotools.version>
<dependency>
<groupId>org.geotoolsgroupId>
<artifactId>gt-shapefileartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.geotoolsgroupId>
<artifactId>gt-geojsonartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.geotoolsgroupId>
<artifactId>gt-cqlartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.geotoolsgroupId>
<artifactId>gt-opengisartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.geotoolsgroupId>
<artifactId>gt-metadataartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.geotoolsgroupId>
<artifactId>gt-mainartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.geotoolsgroupId>
<artifactId>gt-apiartifactId>
<version>20.5version>
dependency>
<dependency>
<groupId>org.geotoolsgroupId>
<artifactId>gt-dataartifactId>
<version>20.5version>
dependency>
<dependency>
<groupId>org.geotoolsgroupId>
<artifactId>gt-geometryartifactId>
<version>17.3version>
dependency>
<dependency>
<groupId>org.geotoolsgroupId>
<artifactId>gt-coverageartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.geotoolsgroupId>
<artifactId>gt-renderartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.geotools.xsdgroupId>
<artifactId>gt-xsd-owsartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.geotools.xsdgroupId>
<artifactId>gt-xsd-filterartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.geotools.xsdgroupId>
<artifactId>gt-xsd-wpsartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.geotoolsgroupId>
<artifactId>gt-epsg-hsqlartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.geotoolsgroupId>
<artifactId>gt-epsg-extensionartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.geotoolsgroupId>
<artifactId>gt-epsg-wktartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.geotoolsgroupId>
<artifactId>gt-arcgridartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.geotools.ogcgroupId>
<artifactId>net.opengis.wfsartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.geotools.ogcgroupId>
<artifactId>net.opengis.wpsartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.geotools.xsdgroupId>
<artifactId>gt-xsd-fesartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.geotools.xsdgroupId>
<artifactId>gt-xsd-wfsartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.geotoolsgroupId>
<artifactId>gt-epsg-wktartifactId>
<version>${geotools.version}version>
dependency>
<dependency>
<groupId>org.locationtech.jtsgroupId>
<artifactId>jts-coreartifactId>
<version>1.17.0version>
dependency>
<dependency>
<groupId>net.sf.json-libgroupId>
<artifactId>json-libartifactId>
<version>2.4version>
<classifier>jdk15classifier>
dependency>
<dependency>
<groupId>com.googlecode.json-simplegroupId>
<artifactId>json-simpleartifactId>
<version>1.1.1version>
dependency>
<dependency>
<groupId>org.hsqldbgroupId>
<artifactId>hsqldbartifactId>
<version>2.5.2version>
dependency>
public Point transformCode(String sourceCode, String targetCode, double x, double y) throws FactoryException, TransformException {
//4547 4326
CoordinateReferenceSystem sourceCRS = CRS.decode("EPSG:" + sourceCode);
CoordinateReferenceSystem targetCRS = CRS.decode("EPSG:" + targetCode);
MathTransform transform = CRS.findMathTransform(sourceCRS, targetCRS, true);
GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory();
//30 100
Coordinate coordinate = new Coordinate(x, y);
Point source = geometryFactory.createPoint(coordinate);
Point dist = (Point) JTS.transform(source, transform);
return dist;
}
调用
Point p = transformCode("4547", "4326", Double.valueOf("580726.5420"), Double.valueOf("3377477.5880"));
//p.getY();
//p.getX()
private String gdalWriteShp(String path, String shpName) {
DataSource ds = ogr.Open(path, 0);
if (ds == null) {
return "gdal打开文件失败!";
}
String strDriverName = "ESRI Shapefile";
org.gdal.ogr.Driver dv = ogr.GetDriverByName(strDriverName);
if (dv == null) {
return "打开gdal驱动失败!";
}
String shpPath = UPLOAD_BASEDIR + "/" + shpName;
File file = new File(shpPath);
if (file.exists()) {
file.delete();
}
System.out.println("===>" + dv);
System.out.println(ds);
dv.CopyDataSource(ds, shpPath);
ds.delete();
dv.delete();
return "合并转换成功!";
}
调用:参数一geojson文件路径,参数二shp文件名称
String response = gdalWriteShp("E://test.json", "test");