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

相关文章

Android 12解决push framework.jar无法开机的方法小结

《Android12解决pushframework.jar无法开机的方法小结》:本文主要介绍在Android12中解决pushframework.jar无法开机的方法,包括编译指令、框架层和s... 目录1. android 编译指令1.1 framework层的编译指令1.2 替换framework.ja

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

Android实现定时任务的几种方式汇总(附源码)

《Android实现定时任务的几种方式汇总(附源码)》在Android应用中,定时任务(ScheduledTask)的需求几乎无处不在:从定时刷新数据、定时备份、定时推送通知,到夜间静默下载、循环执行... 目录一、项目介绍1. 背景与意义二、相关基础知识与系统约束三、方案一:Handler.postDel

Git可视化管理工具(SourceTree)使用操作大全经典

《Git可视化管理工具(SourceTree)使用操作大全经典》本文详细介绍了SourceTree作为Git可视化管理工具的常用操作,包括连接远程仓库、添加SSH密钥、克隆仓库、设置默认项目目录、代码... 目录前言:连接Gitee or github,获取代码:在SourceTree中添加SSH密钥:Cl

Java注解之超越Javadoc的元数据利器详解

《Java注解之超越Javadoc的元数据利器详解》本文将深入探讨Java注解的定义、类型、内置注解、自定义注解、保留策略、实际应用场景及最佳实践,无论是初学者还是资深开发者,都能通过本文了解如何利用... 目录什么是注解?注解的类型内置注编程解自定义注解注解的保留策略实际用例最佳实践总结在 Java 编程

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll