最后更新时间:2021年1月20日
移动地图数据组织概述
在移动GIS开发应用中,地图数据组织与配置是第一步,非常关键,地图数据制作之后才能进行显示和操作。
MapGIS 10.5不仅采用一体化的数据存储管理机制来管理二、三维地图数据,并且以统一的数据组织方式(*.mapx)来支撑移动端GIS应用。不管是在线地图还是离线地图,都可以组织为.mapx格式即地图文档来进行调用,并且这也是最常用的格式。
此外,移动端还可以使用纯代码方式直接加载在线服务图层或离线地图,在线方式通过服务图层的方式加载在线服务图层,离线方式直接加载离线数据库中的地图数据或者通过图层方式加载离线瓦片数据。此种方式详见具体功能示例。
下面主要介绍移动端地图数据组织操作与流程。
移动二维地图数据组织
MapGIS 10.5桌面平台内置了数据管理模块,在组织移动端地图数据时,一般需要先通过MapGIS 10.5桌面平台导入数据源,并根据需要进行简单的地图文档组织、配置等操作。
针对移动端数据应用,须使用HDB数据库方式,以本地文件数据方式为例,简单步骤如下:
1、创建数据库(HDB)
打开MapGIS 10.5桌面工具,在MapGISLocalPlus数据源中新建或者附加一个HDB数据库;
2、创建地图文档,并根据应用需求配图;
在MapGIS 10.5桌面工具左侧的“工作空间”中新建地图文档,添加所需图层,然后根据需求进行图层与地图文档配置、配图等;
3、移动端若需要离线矢量地图,则直接将地图文档保存到本地,然后将地图文档(xx.mapx)、数据库文件(xx.hdb),以及所需的系统库文件一起拷贝到移动端设备即可;若需在线矢量地图(文档),则通过MapGIS的GIS服务器发布地图文档服务;
离线矢量数据-拷贝数据文件:
在线矢量服务-发布地图文档服务:
4、移动端若需要离线瓦片地图,则先用“瓦片工具”将地图裁剪为瓦片文件,然后直接将瓦片文件(如XX.mut)拷贝到移动端设备;若需在线瓦片地图,再通过MapGIS的GIS服务器发布瓦片地图服务。
离线瓦片数据-裁剪并拷贝数据文件:
在线瓦片服务-发布瓦片地图服务:
针对离线模式与在线模式的矢量、瓦片地图组织与配置过程,总结如下:
离线矢量地图数据的组织、配置流程为:
1)通过MapGIS桌面工具组织地图文档(xx.mapx);
2)拷贝数据文件(地图文档xx.mapx与对应数据库文件xx.hdb,以及地图系统库等)至移动设备存储中;
3)移动端加载显示。数据配置完成之后,就可编写程序,创建地图控件、编写加载地图代码了。
注意:XX.mapx、XX.hdb两个文件必须拷贝,同时为保证地图显示效果和桌面端一致,地图所用系统库文件(Slib、Clib两个文件夹)也需要拷贝。建议直接将这些数据文件拷贝到移动设备存储根目录下,如手机存储根目录的MapGIS Demo/map文件夹下。
对于一个单独的瓦片数据(如一个*.mut文件),在移动端加载有两种方式:方式一,直接将瓦片文件(如xx.mut)拷贝到移动端设备,可在移动端通过代码直接加载此文件,不需配置地图文档;方式二,在MapGIS桌面端配置地图文档,将配置的地图文档(xx.mapx)与瓦片文件(如xx.mut)一起拷贝到移动端设备,然后再在移动端加载显示。
离线瓦片地图组织流程为:
1)瓦片数据准备:通过MapGIS桌面工具裁剪MUT格式的瓦片数据(已有瓦片则跳过此步骤);
2)若采用方式二,在MapGIS桌面工具组织地图文档(mapx);若采用方式一则跳过此步骤;
3)拷贝数据文件(xx.mapx文件/xx.mut文件)至移动设备存储中;
4)移动端加载显示。数据配置完成之后,移动端通过API显示地图。
如果需要在一个地图文档中同时加载离线矢量与瓦片数据,可采用第二种方式统一组织一个地图文档(XX.mapx),或者通过代码方式动态加载。
移动端支持MapGIS地图服务和第三方地图服务。调用在线地图服务需要对接MapGIS IGServer,通过MapGIS Server Manager发布地图服务(MapGIS矢量、MapGIS瓦片、OGC、ArcGIS服务等);或者调用第三方地图服务,需要获取其服务地址。
在移动端显示在线地图服务的方式有两种:第一种是获取在线地图服务的URL地址后在移动端直接通过代码加载显示,不需要进行组织配置操作;第二种是利用服务地址配置为地图文档.mapx文件,然后再进行调用。
在线地图组织与离线地图组织类似。但前提条件是要先确保在线地图服务已经发布并且能正常访问(服务开启、网络畅通)。
在线地图服务组织、配置流程为:
1)先在MapGIS桌面工具组织地图文档(xx.mapx),瓦片则需要进行瓦片裁剪处理得到瓦片数据(如xx.mut文件);
2)访问IGServer服务管理器——MapGIS Server Manager,发布地图服务(MapGIS矢量、MapGIS瓦片、OGC、ArcGIS服务等);
MapGIS Server Manager的访问地址:
.NET版:http://localhost:9999/(用户名与密码:默认admin,sa.mapgis)
Java版:http://localhost:8089/(用户名与密码:默认admin,sa.mapgis)
3)浏览确认已发布的地图服务,获取服务访问详细信息;
4)组织地图文档并拷贝文件到移动端设备:通过MapGIS桌面工具(MapWorkSpace)创建地图文档,选择“添加服务图层”方式添加对应在线地图服务(移动端代码直接加载请跳过此步骤);
5)移动端加载显示。数据配置完成之后,就可编写程序,创建地图控件、编写加载地图代码了。
关于MapGIS IGServer服务管理器的具体操作,请参考其操作手册(从司马云开发世界-资源中心获取)。
移动三维场景数据组织
移动端三维数据组织与二维数据组织模式相同,均通过地图文档组织数据,即在地图文档中组织三维场景,通过“添加图层”或“添加服务图层”方式,基于三维场景加载模型、地形、矢量、注记等数据。三维离线地图与三维在线地图的数据组织操作步骤与二维数据组织基本相同。
另外,移动端支持二维区图层直接构建三维建筑模型,通过3DBuildingLayer图层进行三维楼块显示,此方式可通过二维区图层进行数据组织。
三维场景数据组织,即在地图文档中组织三维场景,通过“添加图层”或“添加服务图层”方式,在三维场景中组织各类数据。基本步骤如下:
(1) 数据源准备。打开MapGIS 10.5桌面工具,附加所需地图数据的地理数据库(若地理数据库已附加,此步可略);
(2) 生成三维缓存。根据实际应用需要,可将三维数据生产M3D缓存数据;
(3) 组织三维地图文档。在MapGIS 10.5桌面工具中组织三维地图文档(.mapx),其中离线地图通过“添加图层”组织,在线地图服务通过“添加服务图层”组织;
(4) 移动端应用。离线模式应用,将三维地图文档(xx.mapx)与数据库文件(xx.hdb)拷贝到移动设备;在线模式应用,则先通过MapGIS IGServer发布三维地图服务。