SuperMap iObjects Java地图生成栅格瓦片并保存到mongodb

文章目录


一、打开工作空间并获取地图

java 复制代码
		Workspace workspace = new Workspace();
        WorkspaceConnectionInfo workspaceConnectionInfo = new WorkspaceConnectionInfo();
        workspaceConnectionInfo.setType(WorkspaceType.SMWU);
        workspaceConnectionInfo.setServer("F:\\测试目录\\WorkSpace13.smwu");

        workspace.open(workspaceConnectionInfo);
        Map map  = new Map(workspace);
        map.open(workspace.getMaps().get(5));

二、初始化MapCacheBuilder并设置生成瓦片参数

java 复制代码
		//二维地图缓存生成类
        MapCacheBuilder builder = new MapCacheBuilder();
        //设置需要生成缓存的地图。
        builder.setMap(map);
        //设置生成地图缓存的路径
        builder.setOutputFolder("F:\\测试目录\\mapcache");
        //设置瓦片比例尺数组。
        builder.setOutputScales(new double[] { 1/147914677.727283,1/73957338.863641,1/36978669.431821,1/18489334.71591,1/9244667.357955,1/4622333.678978});
        //设置生成的地图瓦片配置文件的名称。
        builder.setCacheName("test");
        //设置图片压缩率
        builder.setMVTTileBuffer(78);
        //设置当前生成场景是否在多进程模式下。
        builder.setMultiProcessing(false);
        //设置地图瓦片图片的类型。
        builder.setTileFormat(TileFormat.PNG);
        //设置地图瓦片图片是否背景透明。
        builder.setTransparent(true);

三、设置mongo连接参数

java 复制代码
		//缓存连接管理类
        TileStorageConnection connection = new TileStorageConnection();
        connection.setServer("10.10.0.102:27017");
        connection.setStorageType(TileStorageType.MONGO);
        connection.setDatabase("map");
        connection.setUser("supermap");
        connection.setPassword("123456");
        connection.setName("aaabbbccc");
        //设置mongoDB或GPKG库连接信息。
        builder.setConnectionInfo(connection);
        //设置瓦片的存储格式。
        builder.setStorageType(StorageType.MongoDB);

四、生成瓦片

java 复制代码
		//根据参数生成矢量瓦片或风格
        boolean flag = builder.build();

五、SuperMap iDesktopX加载结果瓦片


相关推荐
plainGeekDev4 分钟前
ButterKnife → ViewBinding
android·java·kotlin
葫芦和十三8 小时前
图解 MongoDB 19|Oplog:复制的真正载体,不是文档是操作
后端·mongodb·agent
葫芦和十三8 小时前
图解 MongoDB 20|复制延迟与 catch up:Secondary 为什么跟不上
后端·mongodb·agent
像我这样帅的人丶你还16 小时前
Java 后端详解(四):分页与搜索
java·javascript·后端
她的男孩16 小时前
数据权限为什么不能只靠注解?Forge 的 Mapper 层 SQL 改写源码拆解
java·后端·架构
tntxia17 小时前
Mybatis的日志输入
java
亦暖筑序18 小时前
Java 8老系统Browser Agent实战:三层拦截把AI操作后台变成可审计流程
java·后端·设计模式
用户2986985301421 小时前
Java 实现 Word 文档加密与权限解除
java·后端
Yeats_Liao1 天前
14:Servlet中的页面跳转-Java Web
java·后端·架构
未秃头的程序猿1 天前
告别"if-else地狱"!Java 21模式匹配,代码优雅了10倍
java·后端·面试