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加载结果瓦片


相关推荐
南极星100517 小时前
蓝桥杯JAVA--启蒙之路(十)class版本 模块
java·开发语言
消失的旧时光-194317 小时前
第十三课:权限系统如何设计?——RBAC 与 Spring Security 架构
java·架构·spring security·rbac
baidu_2474386117 小时前
Android ViewModel定时任务
android·开发语言·javascript
Dev7z17 小时前
基于 MATLAB 的铣削切削力建模与仿真
开发语言·matlab
不能隔夜的咖喱18 小时前
牛客网刷题(2)
java·开发语言·算法
serve the people18 小时前
python环境搭建 (十二) pydantic和pydantic-settings类型验证与解析
java·网络·python
小天源18 小时前
Error 1053 Error 1067 服务“启动后立即停止” Java / Python 程序无法后台运行 windows nssm注册器下载与报错处理
开发语言·windows·python·nssm·error 1053·error 1067
lekami_兰18 小时前
Java 并发工具类详解:4 大核心工具 + 实战场景,告别 synchronized
java·并发工具
有位神秘人18 小时前
Android中Notification的使用详解
android·java·javascript
肉包_51118 小时前
两个数据库互锁,用全局变量互锁会偶发软件卡死
开发语言·数据库·c++