SueperMap iMobile for android中在线数据对接大全

2024-02-25 08:58

本文主要是介绍SueperMap iMobile for android中在线数据对接大全,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:xinxin

       在SuperMap产品中,数据源可以分为文件型数据源、数据库型数据源和在线数据源,SuperMap iMobile for Android可以对接文件型数据源和在线数据源,文件型数据源目前主要支持UDB格式,这个是加载本地数据,比较简单,不作过多介绍。在线数据源也分很多种,比如有SuperMap iServer发布的rest、wmts、wms服务和天地图服务等。下面将分享iMobile for android对接各种常用在线数据。

1、 iserver发布的服务

1) Rest地图服务
Iserver服务器发布rest地图服务后,使用iMobile for android来对接,关键代码如下:

String url = "http://supermap.com.cn:8090/iserver/services/map-changchun/rest/maps/%E9%95%BF%E6%98%A5%E5%B8%82%E5%8C%BA%E5%9B%BE";
Workspace workspace = new Workspace();
DatasourceConnectionInfo info = new DatasourceConnectionInfo();
info.setServer(url);
info.setEngineType(EngineType.Rest);
info.setAlias("iserver_rest");
Datasource datasource = workspace.getDatasources().open(info);
if (datasource == null){Toast.makeText(this,"数据源打开失败",Toast.LENGTH_SHORT).show();return;
}

2) OGC服务
(1) 打开wmts服务,关键代码如下:

String url = "http://supermap.com.cn:8090/iserver/services/map-china400/wmts-china";
Workspace workspace = new Workspace();
DatasourceConnectionInfo info = new DatasourceConnectionInfo();
info.setServer(url);
info.setEngineType(EngineType.OGC);
info.setDriver("WMTS");
info.setAlias("iserver_wmts");
Datasource datasource = workspace.getDatasources().open(info);
if (datasource == null){Toast.makeText(this,"数据源打开失败",Toast.LENGTH_SHORT).show();return;
}

(2) 打开wms服务,关键代码如下:
方法一:

String url = "http://supermap.com.cn:8090/iserver/services/map-world/wms130/World";
Workspace workspace = new Workspace();
DatasourceConnectionInfo info = new DatasourceConnectionInfo();
info.setServer(url);
info.setEngineType(EngineType.OGC);
info.setDriver("WMS");
info.setAlias("iserver_wms");
Datasource datasource = workspace.getDatasources().open(info);
if (datasource == null){Toast.makeText(this,"数据源打开失败",Toast.LENGTH_SHORT).show();return;
}

方法二:

DatasourceConnectionInfo info03 = new DatasourceConnectionInfo();
info03.setAlias("gkdm");
// 设置地图服务地址()
info03.setServer("http://support.supermap.com.cn:8090/iserver/services/map-china400/wms130/China");
// 设置引擎类型
info03.setEngineType(EngineType.OGC);
// 设置驱动名称
info03.setDriver("WMS");
// 设置WMS服务的版本号
info03.setWebVersion("1.3.0");
info03.setWebVisibleLayers("0");
info03.setWebCoordinate("EPSG:3857");
info03.setWebFormat("image/png");
Rectangle2D rect01 = new Rectangle2D(-2.0037508342789248E7, -2.003750834278914E7,2.0037508342789244E7, 2.0037508342789087E7);
info03.setWebBBox(rect01);
info03.setWebExtendParam("");
Datasource datasource2 = workspace.getDatasources().open(info03);
if (datasource2==null){Toast.makeText(this,"数据源打开失败",Toast.LENGTH_SHORT).show();return;
}

(3) 打开wfs服务,关键代码如下:

String url = "http://support.supermap.com.cn:8090/iserver/services/data-world/wfs100/utf-8";
Workspace workspace = new Workspace();
DatasourceConnectionInfo info = new DatasourceConnectionInfo();
info.setServer(url);
info.setEngineType(EngineType.OGC);
info.setDriver("WFS");
info.setAlias("iserver_wfs");
Datasource datasource = workspace.getDatasources().open(info);
if (datasource == null){Toast.makeText(this,"数据源打开失败",Toast.LENGTH_SHORT).show();return;
}

(4) 打开wcs服务,关键代码如下:

String url = "http://support.supermap.com.cn:8090/iserver/services/data-jingjin/wcs111";
Workspace workspace = new Workspace();
DatasourceConnectionInfo info = new DatasourceConnectionInfo();
info.setServer(url);
info.setEngineType(EngineType.OGC);
info.setDriver("WCS");
info.setAlias("iserver_wcs");
Datasource datasource = workspace.getDatasources().open(info);
if (datasource == null){Toast.makeText(this,"数据源打开失败",Toast.LENGTH_SHORT).show();return;
}

2、 超图云

超图云是由超图公司发布的一个在线服务,打开超图云的关键代码:

String url = "http://t2.supermapcloud.com/";
Workspace workspace = new Workspace();
DatasourceConnectionInfo info = new DatasourceConnectionInfo();
info.setServer(url);
info.setEngineType(EngineType.SuperMapCloud);
info.setAlias("supermapcloud");
Datasource datasource = workspace.getDatasources().open(info);
if (datasource == null){Toast.makeText(this,"数据源打开失败",Toast.LENGTH_SHORT).show();return;
}

3、 天地图

天地图其实是标准的OGC服务,主要有wmts服务和wms服务,目前打开天地图前需要需要到天地图官网申请一个移动的key值。
1) 打开wmts服务
(1) 经纬度服务

String url = "http://t0.tianditu.gov.cn/img_c/wmts?tk=855df38010df4353447beb0c0808d9a6";
Workspace workspace = new Workspace();
DatasourceConnectionInfo info = new DatasourceConnectionInfo();
info.setServer(url);
info.setEngineType(EngineType.OGC);
info.setDriver("WMTS");
info.setAlias("tianditu_wmts");
Datasource datasource = workspace.getDatasources().open(info);
if (datasource == null){Toast.makeText(this,"数据源打开失败",Toast.LENGTH_SHORT).show();return;
}

(2) 平面投影服务

String url = "http://t0.tianditu.gov.cn/img_w/wmts?dpi=96&tk=855df38010df4353447beb0c0808d9a6&topleftcornerexchange=1";
Workspace workspace = new Workspace();
DatasourceConnectionInfo info = new DatasourceConnectionInfo();
info.setServer(url);
info.setEngineType(EngineType.OGC);
info.setDriver("WMTS");
info.setAlias("tianditu_wmts");
Datasource datasource = workspace.getDatasources().open(info);
if (datasource == null){Toast.makeText(this,"数据源打开失败",Toast.LENGTH_SHORT).show();return;
}

2)打开wms服务
与打开wmts服务类似,只需将info.setDriver(“WMTS”)换成info.setDriver(“WMS”),这里不再赘述。
备注:打开天地图的平面投影坐标系还需要带一个topleftcornerexchange参数,保证数据加载到地图能正常渲染显示;其中dpi=96参数是解决和其它数据叠加偏移问题。

4、 百度地图

关键代码如下:

String url = "http://map.baidu.com";
Workspace workspace = new Workspace();
DatasourceConnectionInfo info = new DatasourceConnectionInfo();
info.setServer(url);
info.setEngineType(EngineType.BaiDu);
info.setAlias("baidu");
Datasource datasource = workspace.getDatasources().open(info);
if (datasource == null){Toast.makeText(this,"数据源打开失败",Toast.LENGTH_SHORT).show();return;
}

5、 Google地图

关键代码如下:

String url = "http://www.google.cn/maps";
Workspace workspace = new Workspace();
DatasourceConnectionInfo info = new DatasourceConnectionInfo();
info.setServer(url);
info.setEngineType(EngineType.GoogleMaps);
info.setAlias("googlemaps");
Datasource datasource = workspace.getDatasources().open(info);
if (datasource == null){Toast.makeText(this,"数据源打开失败",Toast.LENGTH_SHORT).show();return;
}

6、 OpenStreetMaps

关键代码如下:

String url = "http://openstreetmap.org";
Workspace workspace = new Workspace();
DatasourceConnectionInfo info = new DatasourceConnectionInfo();
info.setServer(url);
info.setEngineType(EngineType.OpenStreetMaps);
info.setAlias("openstreetmaps");
Datasource datasource = workspace.getDatasources().open(info);
if (datasource == null){Toast.makeText(this,"数据源打开失败",Toast.LENGTH_SHORT).show();return;
}

7、 BingMaps

关键代码如下:

String url = "http://cn.bing.com/maps";
Workspace workspace = new Workspace();
DatasourceConnectionInfo info = new DatasourceConnectionInfo();
info.setServer(url);
info.setEngineType(EngineType.BingMaps);
info.setAlias("bingmaps");
Datasource datasource = workspace.getDatasources().open(info);
if (datasource == null){Toast.makeText(this,"数据源打开失败",Toast.LENGTH_SHORT).show();return;
}

这篇关于SueperMap iMobile for android中在线数据对接大全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac

Java整合Protocol Buffers实现高效数据序列化实践

《Java整合ProtocolBuffers实现高效数据序列化实践》ProtocolBuffers是Google开发的一种语言中立、平台中立、可扩展的结构化数据序列化机制,类似于XML但更小、更快... 目录一、Protocol Buffers简介1.1 什么是Protocol Buffers1.2 Pro

Python实现数据可视化图表生成(适合新手入门)

《Python实现数据可视化图表生成(适合新手入门)》在数据科学和数据分析的新时代,高效、直观的数据可视化工具显得尤为重要,下面:本文主要介绍Python实现数据可视化图表生成的相关资料,文中通过... 目录前言为什么需要数据可视化准备工作基本图表绘制折线图柱状图散点图使用Seaborn创建高级图表箱线图热