Java发布GeoserverTiff瓦片服务

下载jar包并将其引入idea:

链接:https://pan.baidu.com/s/1CRNhr8qjimcscZANOk2UPA
提取码:964f
在这里插入图片描述

代码:

geoserver:url: http://localhost:8080/geoserverusername: adminpassword: geoserver
	@Value("${geoserver.url}")private String geoserverUrl;@Value("${geoserver.username}")private String geoserverUsername;@Value("${geoserver.password}")private String geoserverPassword;String tifPath = "D:/tiff";
public void publishGeoServerTif(String filename){String workSpace = "caixukun"; // 待创建和发布图层的工作区名称workspacetry {// 判断工作区(workspace)是否存在,不存在则创建URL u = new URL(geoserverUrl);GeoServerRESTManager manager = new GeoServerRESTManager(u, geoserverUsername, geoserverPassword);GeoServerRESTPublisher publisher = manager.getPublisher();List<String> workspaces = manager.getReader().getWorkspaceNames();if (!workspaces.contains(workSpace)) {boolean createws = publisher.createWorkspace(workSpace);System.out.println("create ws : " + createws);} else {System.out.println("有了,workSpace :" + workSpace);}// 判断数据存储(datastore)是否已经存在,不存在则创建String fileName = tifPath+filename;String layerName = filename.split("\\.")[0];String store_name = filename; // 待创建和发布图层的数据存储名称storeRESTDataStore restStore = manager.getReader().getDatastore(workSpace, store_name);if (restStore == null) {GSGeoTIFFDatastoreEncoder gsGeoTIFFDatastoreEncoder = new GSGeoTIFFDatastoreEncoder(store_name);gsGeoTIFFDatastoreEncoder.setWorkspaceName(workSpace);gsGeoTIFFDatastoreEncoder.setUrl(new URL("file:" + fileName));boolean createStore = manager.getStoreManager().create(workSpace, gsGeoTIFFDatastoreEncoder);System.out.println("create store (TIFF文件创建状态) : " + createStore);GeoServerRESTStyleManager styleManager = manager.getStyleManager();//*if (!styleManager.existsStyle("sst2")) {// 向geoserver写入style// boolean publishStyleInWorkspace = styleManager.publishStyleInWorkspace(workSpace, "abc", "sst2");// System.out.println("publishStyleInWorkspace : "+publishStyleInWorkspace);// }////设置坐标系 图层名字 style  FORCE_DECLARED(强制声明srs)boolean publish = publisher.publishGeoTIFF(workSpace,store_name, layerName, new File(fileName), "EPSG:4547",GSResourceEncoder.ProjectionPolicy.FORCE_DECLARED, "raster", null);System.out.println(publish);} else {System.out.println("数据存储已经存在了,store:" + store_name);}} catch (Exception e) {e.printStackTrace();}}

结束语:

叽叽叽叽叽叽


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部