SuperMap iObjects Java 是面向 GIS 应用系统开发者的组件式 GIS 开发平台,具有强大的地理数据管理、编辑、显示、分析等功能,并且其具有极强的易用性和丰富的帮助资源,适宜快速开发大型 GIS 应用系统。

本篇将带你深入了解如何利用 SuperMap iObjects Java 高效地进行多任务地图瓦片生成。在这个教程中,你将逐步掌握 SuperMap iObjects Java 的强大功能,学会设置多任务以加速地图瓦片的生成过程。无论你是 GIS 专业人士还是对地图制作感兴趣的爱好者,本教程都将为你提供详细的指导和实用的技巧。通过清晰的步骤和丰富的示例,你将能够轻松上手,快速生成高质量的地图瓦片,为你的地理信息系统项目增添强大的可视化支持。

现在让我们一起开启 SuperMap iObjects Java 多任务生成地图瓦片的学习之旅。

二、环境准备

2.1. 系统环境

操作系统 支持 说明
Windows ✔ Windows 平台推荐硬件配置要求: 处理器: 2.00 GHz以上 内存要求: 2 GB 硬盘容量: 100 GB
Linux ✔ Linux平台最低硬件配置要求: CPU: 1.00 GHz (x86 架构) 内存: 512 MB 硬盘空间: 40 GB

2.2. 开发环境

软件 版本 下载地址
iObjects Java 10i 及其以上版本 iObjects Java 下载地址
IDEA 2020.3.4 及其以上版本 IDEA 下载地址
  • 配置 iObjects Java 组件环境变量

    由于 SuperMap iObjects Java 组件的核心 GIS 功能实际上是基于 C++ 语言来实现的,并且是通过 Java Native Interface(JNI)进行调用。鉴于此,为了确保 SuperMap iObjects Java 组件能够正常运行并发挥其强大的 GIS 功能,就需要在开发环境的机器上进行专门的配置,以搭建起 iObjects Java 组件的依赖环境。只有这样,才能够为后续的开发工作提供稳定、可靠的基础支持。

    操作系统 配置环境变量
    Windows 在系统环境变量 PATH 中添加 SuperMap iObjects Java 安装目录\Bin 路径
    Linux export LD_LIBRARY_PATH=SuperMap iObjects Java 安装目录\Bin export PATH=$LD_LIBRARY_PATH:$PATH

三、核心技术

SuperMap iObjects Java 组件提供了 MapCacheBuilder 二维地图缓存生成类,用于生成二维地图缓存以及 sci 格式的地图缓存配置文件。

MapCacheBuilder 通常情况下是基于单任务来生成二维地图缓存以及 sci 格式的配置文件。然而,在实际应用场景中,生成二维地图缓存这一过程并非那么简单,它涵盖了多个图层的多个任务。并且,在此过程中,还需要充分考虑到每个任务的调度事宜。正因如此,若要实现多任务生成地图缓存,绝不是仅仅通过多线程去调用 MapCacheBuilder 这个二维地图缓存生成类就能够轻易实现的。

为了能够更加紧密地贴合实际项目复杂多变的应用场景,从而最大程度地提升二维地图缓存的生成效率,减少时间成本, SuperMap iObjects Java 组件经过精心设计与开发,进行了额外的封装操作。在这个过程中,成功封装出了两个极为重要的类,即 TaskBuilder 和 CacheBuilder 。其中, TaskBuilder 主要负责切分任务,它能够将复杂庞大的任务进行细致拆解,使得每个子任务更加清晰、易于管理和执行。而 CacheBuilder 则专注于生成缓存,通过高效的算法和优化的流程,确保缓存的快速生成,为二维地图的流畅显示和快速响应提供坚实的基础。这两个类的出现,为 SuperMap iObjects Java 组件在实际项目中的应用增添了强大的动力和保障。

四、业务实现

4.1. 生成地图配置文件