iMobile与Online在线场景数据的交互

2024-02-25 10:32

本文主要是介绍iMobile与Online在线场景数据的交互,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:xinxin

在SuperMap iMobile for Android中可以打开和加载数据,不仅支持离线三维数据,也支持在线的三维数据。下面将介绍三维数据的发布和与iMobile for Android的对接,在9D版本前SuperMap iMobile for Android支持在iServer中发布的三维数据,在9D版本后开始支持在SuperMap Online上发布的三维数据。

一、 iMobile与iServer上三维数据对接

1、 iServer上发布三维数据

(1) 准备数据
在iDesktop中将场景切成场景缓存,建议一般模型图层选osgb类型切,地形图层选tin类型切,在【基本信息】的缓存用途中选“Android系列设备”,如果这个数据打算在IOS设备上加载就选“IOS系列设备”,然后点生成即可。如果是用9D以前的iDesktop切的,生成场景缓存后进行纹理压缩,可以优化缓存数据在移动端的显示性能。
(2) 发布数据
启动iServer服务,登入iServer,进入【服务管理】,点击快速发布一个或一组服务,然后发布场景缓存的工作空间,按照发布的提示快速发布。发布成功后在【服务列表】中的【三维数据】中显示发布成功的三维数据。

2、 iMobile中加载三维数据

在iMobile中打开在线三维数据前需要知道打开三维数据对应的URL和场景名称,我这的测试关键代码如下:

String url = “http://192.168.15.71:8090/iserver/services/3D-MaSai/rest/realspace”;  //其中url的ip是发布三维场景服务器的ip
String sceneName = "MaSai";
sceneControl.getScene().open(url,sceneName);
sceneControl.getScene().refresh();

二、 iMobile与Online上三维数据对接

1、 Online上发布三维数据

(1) 数据准备
切场景缓存和上面的步骤类似,切完场景缓存后需要打成.zip包,才能在SuperMap Online中上传;由于移动端底层做了一个场景缓存过滤,所以.zip包要以xxx_android.zip(xxx最好是小写字母)命名,由于后面获取数据服务名是包名,所以场景缓存中的场景名要和zip包名一致(即xxx_android),否则加载的时候要单独写场景名。
(2) 数据上传
数据准备好后,在浏览器中输入https://www.supermapol.com/,进入SuperMap Online网页,然后用邮箱或手机注册用户,注册成功后再登入,如下图:
这里写图片描述
登入后,点击【数据】-【上传数据】进入【我的资源】,在【我的数据】中点【上传数据】即可,然后根据提示选要上传的zip包数据,最后点上传,如下图:
这里写图片描述
上传成功后在状态栏显示“上传成功”,如下图:
这里写图片描述
(3) 数据发布
数据上传成功后发布服务,点击操作中的第一个图标,如下图:
这里写图片描述
发布成功后,状态显示“发布完成”,如下图:
这里写图片描述

2、 iMobile中加载三维数据

SuperMap Online中的数据分公有数据和私有数据,和SuperMap iMobile for Android的对接方式不一样,具体实现如下:
(1) iMobile打开公有数据
SuperMap Online上的公有数据只有Online的管理员才能发布,用iMobile for Android对接的时候不需要登入自己的Online用户,直接获取公有的服务数据,然后加载到场景中,实现的关键代码如下:

olAccountManager = OLAccountManager.getInstance(MainActivity.this);
olAccountManager.publicServiceWithCompletion(new LoginCallBackListenner() {					@Overridepublic void onSuccess(String arg0) {// TODO Auto-generated method stub Log.e("MainActivity", "公有数据打开成功!");ArrayList<String> urls = olAccountManager.getpublicServiceList();ArrayList<String> names = olAccountManager.getpublicServiceNameList();if (urls.size()>0&&names.size()>0) {String url = urls.get(1);String name = names.get(1);Scene scene = sceneControl.getScene();scene.open(url,name);scene.setCreateSkirt(true);scene.refresh();}}@Overridepublic void onFailure(String arg0) {// TODO Auto-generated method stubLog.e("MainActivity", "公有数据打开失败!");}});

加载到场景后的效果图如下:
这里写图片描述
(2) iMobile打开私有数据
在SuperMap Online发布了私有的三维数据后,在iMobile for Android先要登入Online,然后在获取私有的服务数据,最后加载到场景中,关键代码如下:

olAccountManager = OLAccountManager.getInstance(MainActivity.this);try {olAccountManager.loginWithUsernameComplete("用户名", "密码", new LoginCallBackListenner() {@Overridepublic void onSuccess(String arg0) {// TODO Auto-generated method stubLog.e("MainActivity", "私有数据打开成功!");ArrayList<String> urls = olAccountManager.getPrivateServiceList();ArrayList<String> names = olAccountManager.getPrivateServiceNameList();if (urls.size()>0&&names.size()>0) {String url = urls.get(0);String name = names.get(0);Scene scene = sceneControl.getScene();boolean  issuecs=scene.openPrivateSceneWithUrl(url, name);scene.refresh();}}@Overridepublic void onFailure(String arg0) {// TODO Auto-generated method stubLog.e("MainActivity", "私有数据打开失败!");}});} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}

加载到场景中的效果图如下:
这里写图片描述
注意:SuperMap Online每个用户只能免费上传500M的数据,且5000次/天 数据访问量,如果想扩大上传数据量和数据访问量,需要该买,具体标准如下图:
这里写图片描述

这篇关于iMobile与Online在线场景数据的交互的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/745197

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

电力系统中的A类在线监测装置—APView400

随着电力系统的日益复杂和人们对电能质量要求的提高,电能质量在线监测装置在电力系统中得到广泛应用。目前,市场上的在线监测装置主要分为A类和B类两种类型,A类和B类在线监测装置主要区别在于应用场景、技术参数、通讯协议和扩展性。选择时应根据实际需求和应用场景综合考虑,并定期维护和校准。电能质量在线监测装置是用于实时监测电力系统中的电能质量参数的设备。 APView400电能质量A类在线监测装置以其多核

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi