CN112287010B - 基于安卓系统的地图服务提供方法、装置、终端及存储介质 - Google Patents

基于安卓系统的地图服务提供方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN112287010B
CN112287010B CN202011247398.0A CN202011247398A CN112287010B CN 112287010 B CN112287010 B CN 112287010B CN 202011247398 A CN202011247398 A CN 202011247398A CN 112287010 B CN112287010 B CN 112287010B
Authority
CN
China
Prior art keywords
map
map service
request
service request
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011247398.0A
Other languages
English (en)
Other versions
CN112287010A (zh
Inventor
孙晓玮
邱俊武
李亚平
李庆君
王少一
张志军
蔡欢
郭立强
葛亮
付海龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Institute Of Surveying And Mapping Co ltd
Original Assignee
Tianjin Institute Of Surveying And Mapping Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin Institute Of Surveying And Mapping Co ltd filed Critical Tianjin Institute Of Surveying And Mapping Co ltd
Priority to CN202011247398.0A priority Critical patent/CN112287010B/zh
Publication of CN112287010A publication Critical patent/CN112287010A/zh
Application granted granted Critical
Publication of CN112287010B publication Critical patent/CN112287010B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/549Remote execution
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Remote Sensing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种基于安卓系统的地图服务提供方法、装置、终端及存储介质,其中,所述方法包括:获取Http端口接收到的客户端地图服务请求,所述Http端口预先配置为Android系统提供运行的Http服务;根据预先配置的控制器RESTFUL参数映射路径对应的预设的所述地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置;根据所述地图数据存储位置读取相应的地图信息,并将所述地图信息返回至客户端。无需额外安装应用程序APP。实现了利用安卓系统的便携终端,实现地图服务,可供局域网客户端或者本机客户端访问。

Description

基于安卓系统的地图服务提供方法、装置、终端及存储介质
技术领域
本发明涉及测绘地理信息技术领域,尤其涉及一种基于安卓系统的地图服务提供方法、装置、终端及存储介质。
背景技术
在现有技术中,地图服务器软件通常运行在Windows或者Linux系统中,如商业软件ArcGIS Server或者开源软件GeoServer等,需要一定的软件、硬件(机房、电源)、网络(互联网、局域网等)等资源支持,客户端需要在网络条件下通过安装好的客户端应用访问地图服务。
在实现本发明的过程中,发明人发现如下技术问题:现有地图服务器通常只能安装于台式服务器或者高性能笔记本中,在需要进行演示成果时或者在外业测量时,不便携带;现有的移动设备离线地图解决方案中,不同设备间数据无法共享,需要单独拷贝数据,不动软件离线地图格式亦无法直接共享,需要使用特定的二次开发接口访问,导致数据使用中存在一定安全隐患。不适用于各种外业作业和便携演示等离线场景。
发明内容
本发明实施例提供了一种基于安卓系统的地图服务提供方法、装置、终端及存储介质,以解决现有技术中上述存在的技术问题。
第一方面,本发明实施例提供了一种基于安卓系统的地图服务提供方法,包括:
获取Http端口接收到的客户端地图服务请求,所述Http端口预先配置为Android系统提供运行的Http服务;
根据预先配置的控制器RESTFUL参数映射路径对应的预设的所述地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置;
根据所述地图数据存储位置读取相应的地图信息,并将所述地图信息返回至客户端。
进一步的,所述根据预先配置的控制器RESTFUL参数映射路径对应的地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置,包括:
根据所述地图服务请求中的注解确定是否为瓦片地图服务;
在为瓦片地图服务时,根据所述地图服务请求规则和所述地图服务请求确定与所述地图服务请求对应的瓦片资源的存储位置。
进一步的,所述根据预先配置的控制器RESTFUL参数映射路径对应的地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置,包括:
根据所述地图服务请求中的注解确定是否为矢量地图服务;
在为矢量地图服务时,根据所述地图服务请求和所述地图服务请求规则确定请求要素;
根据所述请求要素确定对应的地图服务数据库的访问接口;
根据所述请求要素构建键值参数;
根据所述键值参数、访问接口和请求要素执行数据库操作。
进一步的,所述根据所述键值参数、访问接口和请求要素执行数据库操作,包括:
根据请求要素确定请求类型,根据所述请求要素确定地图服务数据库的操作地址;
在为增加请求时,运行所述访问接口的插入方法,参数为地图服务数据库数据库操作地址和键值参数;
在为查询请求时,运行所述访问接口的查询方法,参数为地图服务数据库数据库操作地址和键值参数;
在为更新请求时,运行所述访问接口的更新方法,参数为地图服务数据库数据库操作地址和键值参数;
在为删除请求时,运行所述访问接口的删除方法,参数为地图服务数据库数据库操作地址和键值参数;
进一步的,所述根据所述请求要素构建键值参数,包括:
根据请求要素中参数列表构建键值对参数。
更进一步的,所述方法还包括:
设置多个不同的Http访问端口,每个访问端口对应设置相应的服务实例数组;
启动每个所述访问端口的Http服务。
第二方面,本发明实施例还提供了一种基于安卓系统的地图服务提供装置,包括:
获取模块,用于获取Http端口接收到的客户端地图服务请求,所述Http端口预先配置为Android系统提供运行的Http服务;
解析模块,用于根据预先配置的控制器RESTFUL参数映射路径对应的预设的所述地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置;
读取模块,用于根据所述地图数据存储位置读取相应的地图信息,并将所述地图信息返回至客户端。
进一步的,所述解析模块包括:
第一确定单元,用于根据所述地图服务请求中的注解确定是否为瓦片地图服务;
第二确定单元,用于在为瓦片地图服务时,根据所述地图服务请求规则和所述地图服务请求确定与所述地图服务请求对应的瓦片资源的存储位置。
进一步的,所述解析模块包括:
第三确定单元,用于根据所述地图服务请求中的注解确定是否为矢量地图服务;
请求要素确定单元,用于在为矢量地图服务时,根据所述地图服务请求和所述地图服务请求规则确定请求要素;
访问接口确定单元,用于根据所述请求要素确定对应的地图服务数据库的访问接口;
构建单元,用于根据所述请求要素构建键值参数;
执行单元,用于根据所述键值参数、访问接口和请求要素执行数据库操作。
进一步的,所述执行单元,包括:
第一确定子单元,用于根据请求要素确定请求类型;
操作地址确定子单元,用于根据请求类型和所述请求要素确定地图服务数据库的操作地址及接口方法;
接口方法运行单元,用于运行所述访问接口方法,参数为地图服务数据库数据库操作地址和键值参数。
进一步的,所述第二操作地址确定子单元用于:
根据请求要素中参数列表构建键值对参数。
更进一步的,所述装置还包括:
设置模块,用于设置多个不同的Http访问端口,每个访问端口对应设置相应的服务实例数组;
启动模块,用于启动每个所述访问端口的Http服务。
第三方面,本发明实施例还提供了一种终端,所述终端包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述实施例提供的任一所述的基于安卓系统的地图服务提供方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的任一所述的基于安卓系统的地图服务提供方法。
本发明实例提供的基于安卓系统的地图服务提供方法、装置、终端及存储介质,通过获取Http端口接收到的客户端地图服务请求,所述Http端口预先配置为Android系统提供运行的Http服务;根据预先配置的控制器RESTFUL参数映射路径对应的预设的所述地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置;根据所述地图数据存储位置读取相应的地图信息,并将所述地图信息返回至客户端。可以利用Http端口接收客户端的服务请求,以使得客户端可以直接利用浏览器实现地图服务,而无需额外安装应用程序APP。同时,还可预先配置相应的参数映射路径及内置Web地图应用,设备终端可以直接使用Web浏览器获取到相应的地图数据,并进行地图浏览、编辑等预先配置的地图操作。实现了利用安卓系统的便携终端,实现地图服务,可供局域网客户端或者本机客户端访问。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明实施例一提供的基于安卓系统的地图服务提供方法的流程示意图;
图2是本发明实施例二提供的基于安卓系统的地图服务提供方法的流程示意图;
图3是本发明实施例三提供的基于安卓系统的地图服务提供方法的流程示意图;
图4是本发明实施例四提供的基于安卓系统的地图服务提供装置的结构示意图;
图5是本发明实施例五提供的终端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供基于安卓系统的地图服务提供方法的流程示意图,本实施例可适用于基于安卓系统对外提供地图服务的情况,该方法可以由基于安卓系统的地图服务提供装置来执行,并可集成于网络传播终端中,具体包括如下步骤:
S110,获取Http端口接收到的客户端地图服务请求,所述Http端口预先配置为Android系统提供运行的Http服务。
在本实施例中,可以将地图数据存储在安卓系统的终端存储设备上。此外,也可利用设备存储卡存储地图数据,以减少对终端系统资源的占用。
由于各种应用程序可以与地图服务器建立通信信道,因此,其可以通过建立的通信信道从地图服务器获取相应的服务信息。而在本实施例中,由于采用web方式提供地图服务,因此,需要提前对Http端口进行配置。
示例性的,可以采用AndServer或者NanoHttpD开源框架,实现嵌入Android系统运行的Http服务,支持常用的GET、POST请求。本实施例中,优先选择使用AndServer框架实现Http服务及服务接口。
S120,根据预先配置的控制器RESTFUL参数映射路径对应的预设的所述地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置。
RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。由于轻量级以及通过HTTP直接传输数据的特性,Web服务的RESTFUL方法已经成为最常见的替代方法。可以使用各种语言(比如Java程序、Perl、Ruby、Python、PHP和Javascript实现客户端。RESTFUL Web服务通常可以通过自动客户端或代表用户的应用程序访问。但是,这种服务的简便性让用户能够与之直接交互,使用它们的Web浏览器构建一个GET URL并读取返回的内容。
在本实施例中,客户端通过发送Http请求来获取相应的服务信息。因此,需要对Http请求规则进行设定,并设定所述请求规则对应每种服务的请求规则,实现对服务请求的解析,以及根据解析后的服务请求确定服务请求对应的存储内容的存储位置。
示例性的,可以预选对控制器RESTFUL参数映射路径对应的预设的所述地图服务请求规则进行设定。可选的,可以通过如下方式进行设定:
新建服务控制器类,并添加根路径注解@RequestMapping(path="/vector"),访问服务时候以注解值作为根路径;
(2)添加RESTFUL注解@RestController,使服务支持RESTFUL方式访问;
(3)新增服务接口,并为服务接口添加访问参数注解@PostMapping(path="/{layerName}/{requestType}/{params}"),用于提供访问参数规则。
在设定完成后,可以启动服务,客户端即可通过访问Http://ip:port/vector/{layerName}/{requestType}/{params}形式的服务地址。实现灵活设定各种参数的目的,并可通过所述参数对应解析到相应的服务地图数据存储位置。
S130,根据所述地图数据存储位置读取相应的地图信息,并将所述地图信息返回至客户端。
示例性的,可以将地图数据按照相应的分类分别建档,并保存在不同的文件夹中,可以根据所述地图服务请求解析对应的地图数据存储位置,并从所述存储位置读取相应的数据返回至客户端,完成相应的地图信息服务。
本实施例通过获取Http端口接收到的客户端地图服务请求,所述Http端口预先配置为Android系统提供运行的Http服务;根据预先配置的控制器RESTFUL参数映射路径对应的预设的所述地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置;根据所述地图数据存储位置读取相应的地图信息,并将所述地图信息返回至客户端。可以利用Http端口接收客户端的服务请求,提供地图服务。同时,还可预先配置相应的参数映射路径及内置Web地图应用,设备终端可以直接使用Web浏览器获取到相应的地图数据,并进行地图浏览、编辑等预先配置的地图操作。实现了利用安卓系统的便携终端,实现地图服务,可供局域网客户端或者本机客户端访问。
在本实施例的一个优选实施方式中,所述方法还可包括增加步骤:设置多个不同的Http访问端口,每个访问端口对应设置相应的服务实例数组;启动每个所述访问端口的Http服务。示例性的,可以通过如下方式实现:
新建多实例服务类,并创建服务器实例数组;
设置端口8081、8082、8083、8084,其中,端口号在Android设备许可范围内可以任意设置;
c)依次启动运行Http服务;
可选的,可以采用如下代码实现:
Figure BDA0002770493700000091
Figure BDA0002770493700000101
通过上述方式,可以实现多个客户端同时对安卓系统的地图服务器进行访问,安卓系统的地图服务器可对应不同的客户端的服务请求返回相应的地图数据服务。
实施例二
图2为本发明实施例二提供的基于安卓系统的地图服务提供方法的流程示意图。本实施例以上述实施例为基础进行优化,在本实施例中,将所述根据预先配置的控制器RESTFUL参数映射路径对应的地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置,具体优化为:根据所述地图服务请求中的注解确定是否为瓦片地图服务;在为瓦片地图服务时,根据所述地图服务请求规则和所述地图服务请求确定与所述地图服务请求对应的瓦片资源的存储位置。
相应的,本实施例所提供的基于安卓系统的地图服务提供方法,具体包括:
S210,获取Http端口接收到的客户端地图服务请求,所述Http端口预先配置为Android系统提供运行的Http服务。
S220,根据所述地图服务请求中的注解确定是否为瓦片地图服务。
瓦片地图金字塔模型是一种多分辨率层次模型,从瓦片金字塔的底层到顶层,分辨率越来越低,但表示的地理范围不变。首先确定地图服务平台所要提供的缩放级别的数量N,把缩放级别最高、地图比例尺最大的地图图片作为金字塔的底层,即第0层,并对其进行分块,从地图图片的左上角开始,从左至右、从上到下进行切割,分割成相同大小(比如256x256像素)的正方形地图瓦片,形成第0层瓦片矩阵;在第0层地图图片的基础上,按每2x2像素合成为一个像素的方法生成第1层地图图片,并对其进行分块,分割成与下一层相同大小的正方形地图瓦片。瓦片地图相对占用资源较少,适合于较为简单的地图应用场景。在本实施例中,可以在请求信息内嵌入相应的标记,用于标记为瓦片地图服务。并在建立控制器接口时,添加根路径注解及RESTFUL注解,根据所述标记和预先设定的RESTFUL注解判断是否为瓦片地图服务。
S230,在为瓦片地图服务时,根据所述地图服务请求规则和所述地图服务请求确定与所述地图服务请求对应的瓦片资源的存储位置。
示例性的,所述地图服务请求可以为:Http://ip:port/wmts/{layerName}/{zoom}/{row}/{col}参数,主要包括图层名称、缩放级别、行号、列号。
通过缩放级别、行号、列号,获取该图层目录下相应瓦片资源;地图瓦片存储规则如下:第一个比例尺的文件夹名为L00,第二个比例尺的为L01,L表示比例尺等级LEVEL,以此类推。比例尺文件夹目录下还会有R开头的文件夹,当前比例尺等级每一行瓦片存储在一个文件夹。R文件夹的命名方式是瓦片的行序列(用row表示)转为8位16进制(不足左侧补0)。R文件夹里是瓦片资源。因此,可以根据所述地图服务请求规则和所述地图服务请求确定与所述地图服务请求对应的瓦片资源的存储位置。
S240,根据所述地图数据存储位置读取相应的地图信息,并将所述地图信息返回至客户端。
将存储位置对应存储的瓦片以JPEG或者PNG格式返回至客户端。实现基于安卓系统的地图服务器提供瓦片地图服务的目的。
本实施例通过将所述根据预先配置的控制器RESTFUL参数映射路径对应的地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置,具体优化为:根据所述地图服务请求中的注解确定是否为瓦片地图服务;在为瓦片地图服务时,根据所述地图服务请求规则和所述地图服务请求确定与所述地图服务请求对应的瓦片资源的存储位置。实现利用安卓系统的地图服务器实现对外瓦片地图服务的作用。
在本实施例的一个优选实施方式中,所述方法还可增加如下步骤:对瓦片数据库文件进行自定义加密,相应的,所述根据预先配置的控制器RESTFUL参数映射路径对应的地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置,还可包括:根据所述地图服务请求解析相应的解密秘钥,以实现对数据库文件进行解密。通过对瓦片数据库文件进行自定义加密,能够有效防止密级较高的地图数据文件被非法使用,提高瓦片数据库文件使用的安全性。
实施例三
图3为本发明实施例三提供的基于安卓系统的地图服务提供方法的流程示意图。本实施例以上述实施例为基础进行优化,在本实施例中,将所述根据预先配置的控制器RESTFUL参数映射路径对应的地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置,具体优化为:根据所述地图服务请求中的注解确定是否为矢量地图服务;在为矢量地图服务时,根据所述地图服务请求和所述地图服务请求规则确定请求要素;根据所述请求要素确定对应的地图服务数据库的访问接口;根据所述请求要素构建键值参数;根据所述键值参数、访问接口和请求要素执行数据库操作。
相应的,本实施例所提供的基于安卓系统的地图服务提供方法,具体包括:
S310,获取Http端口接收到的客户端地图服务请求,所述Http端口预先配置为Android系统提供运行的Http服务。
S320,根据所述地图服务请求中的注解确定是否为矢量地图服务。
在本实施例中,也可基于安卓系统的地图服务终端实现矢量地图服务。示例性的,可以采用Spatialite作为Android系统下矢量空间数据库存储格式,将Shapefile矢量地图数导入空间数据库,并添加空间索引,将空间数据库文件拷贝至Android设备存储器中或者外置内存卡中。
在本实施例中,仍然可以通过地图服务请求中的注解确定是否为矢量地图服务。示例性的,可以通过请求命令中的Http://ip:port/vector/{layerName}/{requestType}/{params}中的vector注解确定为矢量地图服务。
S330,在为矢量地图服务时,根据所述地图服务请求和所述地图服务请求规则确定请求要素。
在上述服务请求中,根据预设的地图服务请求从服务请求中确定请求要素。其中{layerName}/{requestType}/{params}均为请求要素,按照规则对应读取相应的请求要素和对应的要素类别。
S340,根据所述请求要素确定对应的地图服务数据库的访问接口及方法。
在本实施例中,上述layerName为图层名称,根据图层名称,获取Android-Spatialite提供的ContentResolver接口,并获取图层的操作地址;上述requestType为请求类型,根据请求类型确定数据库访问接口方法。
S350,根据所述请求要素构建键值参数。
在数据库操作中,需要确定相应的键值key,才能对数据库进行各种操作。在本实施例中,可以根据上述请求要素来构建相应的键值参数。可以根据请求要素params构建键值对参数。
示例性的,可以通过如下代码实现:
Figure BDA0002770493700000141
Figure BDA0002770493700000151
S360,根据所述键值参数、访问接口和请求要素执行数据库操作。
通常可以利用键值参数对数据库进行多种操作,在本实施例中,所述根据所述键值参数、访问接口和请求要素执行数据库操作可以包括:根据请求要素确定请求类型;在为增加请求时,根据所述请求要素确定地图服务数据库的操作地址;运行所述访问接口的插入方法,参数为地图服务数据库数据库操作地址和键值参数;在为查询请求时,根据所述请求要素确定地图服务数据库的操作地址;运行所述访问接口的查询方法,参数为地图服务数据库数据库操作地址和键值参数;在为更新请求时,根据所述请求要素确定地图服务数据库的操作地址;运行所述访问接口的更新方法,参数为地图服务数据库数据库操作地址和键值参数;在为删除请求时,根据所述请求要素确定地图服务数据库的操作地址;运行所述访问接口的删除方法,参数为地图服务数据库数据库操作地址和键值参数。
具体的,可以根据地图服务请求中的requestType参数,确认请求类型,根据请求类型和请求要素中的图层名称,获取Android-Spatialite提供的ContentResolver接口和操作地址。根据上述确定的键值参数和数据库操作地址进行数据库相应操作。
示例性的,可以通过如下代码实现:
Figure BDA0002770493700000161
S370,根据所述地图数据存储位置读取相应的地图信息,并将所述地图信息返回至客户端。
本实施例通过将所述根据预先配置的控制器RESTFUL参数映射路径对应的地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置,具体优化为:根据所述地图服务请求中的注解确定是否为矢量地图服务;在为矢量地图服务时,根据所述地图服务请求和所述地图服务请求规则确定请求要素;根据所述请求要素确定对应的地图服务数据库的访问接口;根据所述请求要素构建键值参数;根据所述键值参数、访问接口和请求要素执行数据库操作。实现利用安卓系统的地图服务器实现矢量地图服务的作用。
在本实施例的一个优选实施方式中,所述方法还可增加如下步骤:对矢量数据库文件进行自定义加密,相应的,所述根据预先配置的控制器RESTFUL参数映射路径对应的地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置,还可包括:根据所述地图服务请求解析相应的解密秘钥,以实现对数据库文件进行解密。通过对矢量数据库文件进行自定义加密,能够有效防止密级较高的地图数据文件被非法使用,提高矢量数据库文件使用的安全性。
实施例四
图4是本发明实施例四提供的基于安卓系统的地图服务提供装置的结构示意图,如图4所示,所述装置包括:
获取模块410,用于获取Http端口接收到的客户端地图服务请求,所述Http端口预先配置为Android系统提供运行的Http服务;
解析模块420,用于根据预先配置的控制器RESTFUL参数映射路径对应的预设的所述地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置;
读取模块430,用于根据所述地图数据存储位置读取相应的地图信息,并将所述地图信息返回至客户端。
Web应用模块440,用于集成Web地图客户端,可调用上述地图服务,并将地图信息返回至客户端浏览器。
本实施例提供的基于安卓系统的地图服务提供装置,通过获取Http端口接收到的客户端地图服务请求,所述Http端口预先配置为Android系统提供运行的Http服务;根据预先配置的控制器RESTFUL参数映射路径对应的预设的所述地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置;根据所述地图数据存储位置读取相应的地图信息,并将所述地图信息返回至客户端。可以利用Http端口接收客户端的服务请求,提供瓦片地图服务和矢量地图服务。同时,还可预先配置相应的参数映射路径及内置Web地图应用,设备终端可以直接使用Web浏览器获取到相应的地图数据,并进行地图浏览、编辑等预先配置的地图操作。实现了利用安卓系统的便携终端,实现地图服务,可供局域网客户端或者本机客户端访问。
在上述各实施例的基础上,所述解析模块包括:
第一确定单元,用于根据所述地图服务请求中的注解确定是否为瓦片地图服务;
第二确定单元,用于在为瓦片地图服务时,根据所述地图服务请求规则和所述地图服务请求确定与所述地图服务请求对应的瓦片资源的存储位置。
在上述各实施例的基础上,所述解析模块包括:
第三确定单元,用于根据所述地图服务请求中的注解确定是否为矢量地图服务;
请求要素确定单元,用于在为矢量地图服务时,根据所述地图服务请求和所述地图服务请求规则确定请求要素;
访问接口确定单元,用于根据所述请求要素确定对应的地图服务数据库的访问接口;
构建单元,用于根据所述请求要素构建键值参数;
执行单元,用于根据所述键值参数、访问接口和请求要素执行数据库操作。
在上述各实施例的基础上,所述执行单元,包括:
第一确定子单元,用于根据请求要素确定请求类型;
操作地址确定子单元,用于根据请求类型和所述请求要素确定地图服务数据库的操作地址及接口方法;
接口方法运行单元,用于运行所述访问接口方法,参数为地图服务数据库数据库操作地址和键值参数。
在上述各实施例的基础上,所述第二操作地址确定子单元用于:
根据请求要素中参数列表构建键值对参数。
在上述各实施例的基础上,所述装置还包括:
设置模块,用于设置多个不同的Http访问端口,每个访问端口对应设置相应的服务实例数组;
启动模块,用于启动每个所述访问端口的Http服务。
本发明实施例所提供的基于安卓系统的地图服务提供装置可执行本发明任意实施例所提供的基于安卓系统的地图服务提供方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种终端的结构示意图。图5示出了适于用来实现本发明实施方式的示例性终端12的框图。图5显示的终端12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,终端12以通用计算设备的形式表现。终端12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
终端12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被终端12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。终端12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
终端12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该终端12交互的设备通信,和/或与使得该终端12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,终端12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与终端12的其它模块通信。应当明白,尽管图中未示出,可以结合终端12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的基于安卓系统的地图服务提供方法。
实施例六
本发明实施例六还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的基于安卓系统的地图服务提供方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或终端上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (8)

1.一种基于安卓系统的地图服务提供方法,其特征在于,包括:
获取Http端口接收到的客户端地图服务请求,所述Http端口预先配置为Android系统提供运行的Http服务;
根据预先配置的控制器RESTFUL参数映射路径对应的预设的所述地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置;
根据所述地图数据存储位置读取相应的地图信息,并将所述地图信息返回至客户端;
所述根据预先配置的控制器RESTFUL参数映射路径对应的地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置,包括:
根据所述地图服务请求中的注解确定是否为矢量地图服务;
在为矢量地图服务时,根据所述地图服务请求和所述地图服务请求规则确定请求要素;
根据所述请求要素确定对应的地图服务数据库的访问接口;
根据所述请求要素构建键值参数;
根据所述键值参数、访问接口和请求要素执行数据库操作。
2.根据权利要求1所述的方法,其特征在于,所述根据预先配置的控制器RESTFUL参数映射路径对应的地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置,包括:
根据所述地图服务请求中的注解确定是否为瓦片地图服务;
在为瓦片地图服务时,根据所述地图服务请求规则和所述地图服务请求确定与所述地图服务请求对应的瓦片资源的存储位置。
3.根据权利要求1所述的方法,其特征在于,所述根据所述键值参数、访问接口和请求要素执行数据库操作,包括:
根据请求要素确定请求类型,根据所述请求要素确定地图服务数据库的操作地址;
在为增加请求时,调用所述访问接口的插入方法,参数为地图服务数据库数据库操作地址和键值参数;
在为查询请求时,调用所述访问接口的查询方法,参数为地图服务数据库数据库操作地址和键值参数;
在为更新请求时,调用所述访问接口的更新方法,参数为地图服务数据库数据库操作地址和键值参数;
在为删除请求时,调用所述访问接口的删除方法,参数为地图服务数据库数据库操作地址和键值参数。
4.根据权利要求1所述的方法,其特征在于,所述根据所述请求要素构建键值参数,包括:
根据请求要素中参数列表构建键值对参数。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
设置多个不同的Http访问端口,每个访问端口对应设置相应的服务实例数组;
启动每个所述访问端口的Http服务。
6.一种基于安卓系统的地图服务提供方法装置,其特征在于,包括:
获取模块,用于获取Http端口接收到的客户端地图服务请求,所述Http端口预先配置为Android系统提供运行的Http服务;
解析模块,用于根据预先配置的控制器RESTFUL参数映射路径对应的预设的所述地图服务请求规则和所述地图服务请求解析对应的地图数据存储位置;
读取模块,用于根据所述地图数据存储位置读取相应的地图信息,并将所述地图信息返回至客户端;
所述解析模块包括:
第三确定单元,用于根据所述地图服务请求中的注解确定是否为矢量地图服务;
请求要素确定单元,用于在为矢量地图服务时,根据所述地图服务请求和所述地图服务请求规则确定请求要素;
访问接口确定单元,用于根据所述请求要素确定对应的地图服务数据库的访问接口;
构建单元,用于根据所述请求要素构建键值参数;
执行单元,用于根据所述键值参数、访问接口和请求要素执行数据库操作。
7.一种终端,其特征在于,所述终端包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的基于安卓系统的地图服务提供方法。
8.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-5任一所述的基于安卓系统的地图服务提供方法。
CN202011247398.0A 2020-11-10 2020-11-10 基于安卓系统的地图服务提供方法、装置、终端及存储介质 Active CN112287010B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011247398.0A CN112287010B (zh) 2020-11-10 2020-11-10 基于安卓系统的地图服务提供方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011247398.0A CN112287010B (zh) 2020-11-10 2020-11-10 基于安卓系统的地图服务提供方法、装置、终端及存储介质

Publications (2)

Publication Number Publication Date
CN112287010A CN112287010A (zh) 2021-01-29
CN112287010B true CN112287010B (zh) 2023-04-07

Family

ID=74351137

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011247398.0A Active CN112287010B (zh) 2020-11-10 2020-11-10 基于安卓系统的地图服务提供方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN112287010B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656527A (zh) * 2021-08-20 2021-11-16 广州市规划和自然资源自动化中心(广州市基础地理信息中心) 地图资源处理方法、装置、计算机设备和存储介质
CN116383143A (zh) * 2023-03-17 2023-07-04 上海市测绘院 超大城市空间海量数据二三维地图服务发布的方法和装置
CN116708419A (zh) * 2023-07-18 2023-09-05 广州炫视智能科技有限公司 一种基于AndServer的文件传输方法、系统及文件传输系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968442A (zh) * 2012-10-22 2013-03-13 武大吉奥信息技术有限公司 网络地图瓦片服务聚合的方法和系统
CN103036954A (zh) * 2012-12-03 2013-04-10 北京邮电大学 基于gis的移动信息聚合系统及其方法
CN104933057A (zh) * 2014-03-18 2015-09-23 北京图盟科技有限公司 一种地图服务提供方法及装置
CN105468691A (zh) * 2015-11-17 2016-04-06 江苏省基础地理信息中心 一种多源瓦片地图获取方法及装置
CN106782034A (zh) * 2017-04-07 2017-05-31 北京慧图科技股份有限公司 一种防汛、抗旱数据本地化的地图发布、渲染方法和系统
CN108241696A (zh) * 2016-12-26 2018-07-03 航天信息股份有限公司 获得地图数据的方法、装置及系统
CN110322326A (zh) * 2019-07-09 2019-10-11 程新宇 一种基于ArgGis的地理经济大数据共享方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7296022B2 (en) * 2003-07-14 2007-11-13 Microsoft Corporation Method and system for accessing a network database as a web service

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968442A (zh) * 2012-10-22 2013-03-13 武大吉奥信息技术有限公司 网络地图瓦片服务聚合的方法和系统
CN103036954A (zh) * 2012-12-03 2013-04-10 北京邮电大学 基于gis的移动信息聚合系统及其方法
CN104933057A (zh) * 2014-03-18 2015-09-23 北京图盟科技有限公司 一种地图服务提供方法及装置
CN105468691A (zh) * 2015-11-17 2016-04-06 江苏省基础地理信息中心 一种多源瓦片地图获取方法及装置
CN108241696A (zh) * 2016-12-26 2018-07-03 航天信息股份有限公司 获得地图数据的方法、装置及系统
CN106782034A (zh) * 2017-04-07 2017-05-31 北京慧图科技股份有限公司 一种防汛、抗旱数据本地化的地图发布、渲染方法和系统
CN110322326A (zh) * 2019-07-09 2019-10-11 程新宇 一种基于ArgGis的地理经济大数据共享方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RESTful风格地图瓦片服务的研究;苟丽美等;《计算机工程与设计》;20120930;论文第1-4节 *

Also Published As

Publication number Publication date
CN112287010A (zh) 2021-01-29

Similar Documents

Publication Publication Date Title
CN112287010B (zh) 基于安卓系统的地图服务提供方法、装置、终端及存储介质
CN111882634B (zh) 一种图像渲染方法、装置、设备及存储介质
CN110222775B (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
CN107341016B (zh) 分屏机制下的焦点态实现方法、装置、终端及存储介质
CN110634049B (zh) 页面显示内容的处理方法、装置、电子设备及可读介质
US20160224530A1 (en) Mapping stored client data to requested data using metadata
CN107729768B (zh) 一种页面显示方法、装置、智能平板和存储介质
CN110807161A (zh) 一种页面骨架渲染方法、装置、设备及介质
CN113204345A (zh) 页面生成方法、装置、电子设备及存储介质
CN111694866A (zh) 数据搜索及存储方法、数据搜索系统、装置、设备及介质
CN109284108B (zh) 无人车数据存储方法、装置、电子设备及存储介质
CN107862035B (zh) 会议记录的网络读取方法、装置、智能平板和存储介质
CN114327435A (zh) 技术文档生成方法、装置、计算机可读存储介质
CN109669790A (zh) 基于云平台的数据共享方法、装置、共享平台及存储介质
CN110618811B (zh) 信息呈现方法和装置
CN107291628B (zh) 访问数据存储设备的方法和装置
CN112445478B (zh) 图形文件的处理方法、装置、设备及介质
CN109241059A (zh) 一种点云数据的构造方法、装置、电子设备及存储介质
CN114356475A (zh) 一种显示处理方法、装置、设备及存储介质
CN111596997B (zh) Ui信息的请求方法、装置、终端和存储介质
CN114090817A (zh) 一种人脸特征数据库动态构建方法、装置及存储介质
CN113377376A (zh) 数据包生成方法、数据包生成装置、电子设备及存储介质
CN113806556A (zh) 基于电网数据的知识图谱的构建方法、装置、设备及介质
WO2017061654A1 (ko) 하이브리드 어플리케이션의 웹 리소스 보안방법 및 그에 따른 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
CN107749892B (zh) 会议记录的网络读取方法、装置、智能平板和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant