CN117931742A - 超大城市空间海量数据二三维地图服务发布的方法和装置 - Google Patents
超大城市空间海量数据二三维地图服务发布的方法和装置 Download PDFInfo
- Publication number
- CN117931742A CN117931742A CN202410123164.7A CN202410123164A CN117931742A CN 117931742 A CN117931742 A CN 117931742A CN 202410123164 A CN202410123164 A CN 202410123164A CN 117931742 A CN117931742 A CN 117931742A
- Authority
- CN
- China
- Prior art keywords
- map
- data
- map service
- dimensional
- service
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000009826 distribution Methods 0.000 claims description 15
- 230000006835 compression Effects 0.000 claims description 5
- 238000007906 compression Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008733 trauma Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/183—Provision of network file services by network file servers, e.g. by using NFS, CIFS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了超大城市空间海量数据二三维地图服务发布的方法和装置,方法包括:接收用户通过访问地图数据链接发起的地图数据访问请求;解析地图数据访问请求获取地图服务名称,称为第一地图服务名称;获取地图服务配置信息,地图服务配置信息包含已经注册的地图服务名称和每个服务名称所对应的数据路径;判断地图服务配置信息中是否包含第一地图服务名称;若是,则将地图服务配置信息中与第一地图服务名称对应的数据路径下的地图数据返回用户。本申请提供的二三维地图服务发布的方法具有操作简单,适应的平台广泛,可以应用于web环境,将地图数据以通用格式返回用户,从而为用户提供随时、随地、在各种终端上获取二维地图、三维模型的便捷服务。
Description
技术领域
本申请涉及地图数据技术领域,具体涉及一种二三维地图服务发布的方法和装置。
背景技术
在地理信息时空大数据是当前重要的数据资源,为提高使用效率,通常会按照一定标准制作为二三维地图服务的方式对外提供,目前,市场上主流用于二三维地图服务发布的多为商业软件,常见的有易智瑞公司的ArcGIS Server、超图公司的SuperMap产品等。这些商业软件通常为较为复杂,对服务器配置要求较高,有些软件在信创环境下无法正常运行,在应对轻量化、数据快速发布场景时无法满足应用需求。当前,随着城市三维、数字孪生等新一代空间技术的普及,迫切需要一项“小而专”的轻量化GIS软件平台,满足在信创环境下二三维地图服务的快速发布与提供。
现有技术对于二三维的地图服务的发布与提供体量较大,无法满足在信创环境下二三维地图服务的快速发布与提供;且现有技术对于地图服务的提供通道相对单一,只能使用专用平台,无法适应各种终端例如,桌面、Web、移动设备等。
发明内容
本发明的目的是提供一种超大城市空间海量数据二三维地图服务发布的方法和装置,为了解决现有技术对于二三维的地图服务的发布与提供体量较大,无法满足在信创环境下二三维地图服务的快速发布与提供的问题。
为解决上述问题,本发明的第一方面提供了一种二三维地图服务发布的方法,包括:
接收用户通过访问地图数据链接发起的地图数据访问请求;
解析所述地图数据访问请求获取地图服务名称,称为第一地图服务名称;
获取地图服务配置信息,所述地图服务配置信息包含已经注册的地图服务名称和每个服务名称所对应的数据路径;
判断所述地图服务配置信息中是否包含所述第一地图服务名称;若是,则
将所述地图服务配置信息中与所述第一地图服务名称对应的数据路径下的地图数据返回用户。
可选的,所述将所述地图服务配置信息中与所述第一地图服务名称对应的数据路径下的地图数据返回用户包括:
解析所述地图数据访问请求获取地图数据类型;
判断所述地图数据类型是否为二维切片地图数据,若是,则
获取在所述地图服务配置信息中与所述第一地图服务名称对应的数据路径,称为第一路径;
访问第一路径所对应的二维切片地图服务源数据文件夹;
读取所述二维切片地图服务源数据文件夹根目录下的元信息文件,将所述元信息文件中的地图切片服务元信息以json格式返回用户;
判断所述二维切片地图服务源数据文件夹内存储的地图瓦片是否为压缩格式;若是,则
解析所述地图数据访问请求获取瓦片层级号与行列号;
根据所述瓦片层级号确定瓦片层级,根据行列号计算出偏移量与长度信息;
根据偏移量及长度信息,在所述二维切片地图服务源数据文件夹内存储瓦片压缩文件中通过seek命令读取被请求瓦片数据;
根据图片格式及图片压缩参数,将读取到的瓦片数据还原为图像文件数据并返回用户。
可选的,所述将所述地图服务配置信息中与所述第一地图服务名称对应的数据路径下的地图数据返回用户还包括:
判断所述二维切片地图服务源数据文件夹内存储的地图瓦片是否为压缩格式;若否,则
解析所述地图数据访问请求获取瓦片层级号与行列号;
根据所述瓦片层级号与行列号获取瓦片并返回用户。
可选的,
所述将所述地图服务配置信息中与所述第一地图服务名称对应的数据路径下的地图数据返回用户包括:
解析所述地图数据访问请求获取地图数据类型;
判断所述地图数据类型是否为三维模型地图数据,若是,则
获取在所述地图服务配置信息中与所述第一地图服务名称对应的数据路径,称为第一路径;
访问第一路径所对应的三维模型服务源数据文件夹;
读取所述三维模型服务源数据文件夹根目录下的元信息文件,将所述元信息文件中的三维数据元信息以json格式返回用户;
解析所述地图数据访问请求获取视点姿态信息;
根据所述视点姿态信息和所述三维数据元信息生成模型服务内部请求;
根据所述模型服务内部请求获取三维模型服务源数据文件夹中指定位置的数据并解压,将解压后的数据返回用户。
可选的,所述将所述地图服务配置信息中与所述第一地图服务名称对应的数据路径下的地图数据返回用户还包括:
解析所述地图数据访问请求获取请求类型;
根据所述请求类型标记所述模型服务内部请求的类型,所述类型包括几何数据、属性数据和纹理数据;
所述将解压后的数据返回用户包括:
判断所述模型服务内部请求的类型是否为几何数据或属性数据;若是,则将解压后的数据以流数据的形式返回用户。
可选的,所述将解压后的数据返回用户还包括:
判断所述模型服务内部请求的类型是否为纹理数据;若是,则
将解压后的数据以纹理数据的形式返回用户。
可选的,在所述接收用户发起的地图数据访问请求之前,所述二三维地图服务发布的方法还包括:
获取软件管理员上传的地图服务配置文件;
根据所述地图服务配置文件生成地图数据链接供用户访问。
可选的,所述地图服务配置文件由软件管理员根据地图数据路径、地图服务名称和地图数据元信息配置的地图服务配置文件;
其中,所述地图数据路径由地图服务提供方在服务器的预设位置上传地图数据时产生。
可选的,所述二三维地图服务发布的方法还包括:
在获取软件管理员的初始化指令以后执行如下步骤:
获取所有的地图服务配置文件;
根据所述所有的地图服务配置文件生成地图服务配置信息,所述地图服务配置信息至少包含地图数据路径、地图服务名称和地图数据元信息;
根据所述地图服务配置信息获取地图数据路径下的元信息文件,获取文件内的元信息;
根据所述元信息判断所述地图服务配置信息是否有错误,若是,则生成初始化错误的提示信息,发送至软件管理员。
根据本发明的另一个方面,还提供了一种二三维地图服务发布的装置,包括:
访问请求接收模块,用于接收用户通过访问地图数据链接发起的地图数据访问请求;
访问请求解析模块,用于解析所述地图数据访问请求获取地图服务名称,称为第一地图服务名称;
地图服务配置信息获取模块,用于获取地图服务配置信息,所述地图服务配置信息包含已经注册的地图服务名称和每个服务名称所对应的数据路径;
判断模块,用于判断所述地图服务配置信息中是否包含所述第一地图服务名称;
地图数据返回模块,用于在判断模块的判断结果为是时将所述地图服务配置信息中与所述第一地图服务名称对应的数据路径下的地图数据返回用户。
本发明的上述技术方案具有如下有益的技术效果:
本申请提供的二三维地图服务发布的方法具有操作简单,适应的平台广泛,可以应用于web环境,将地图数据以通用格式返回用户,从而为用户提供随时、随地、在各种终端(桌面、Web、移动设备)上获取二维地图、三维模型的便捷服务。
附图说明
图1是本发明一个实施方式的二三维地图服务发布的方法流程图;
图2是二维切片数据返回图像的示意图;
图3是三维模型数据返回图像的示意图;
图4是地图服务配置文件示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
参照图1,本申请的一个方面提供了一种二三维地图服务发布的方法,包括:
接收用户通过访问地图数据链接发起的地图数据访问请求;
解析地图数据访问请求获取地图服务名称,称为第一地图服务名称;
获取地图服务配置信息,地图服务配置信息包含已经注册的地图服务名称和每个服务名称所对应的数据路径;
判断地图服务配置信息中是否包含第一地图服务名称;若是,则
将地图服务配置信息中与第一地图服务名称对应的数据路径下的地图数据返回用户。
本申请提供的二三维地图服务发布的方法具有操作简单,适应的平台广泛,可以应用于web环境,将地图数据以通用格式返回用户,从而为用户提供随时、随地、在各种终端(桌面、Web、移动设备)上获取二维地图、三维模型的便捷服务。
在一实施例中,二三维地图服务发布的方法还包括:
判断地图服务配置信息中是否包含第一地图服务名称;若否,则
返回“无此服务”提示信息。
在一实施例中,将地图服务配置信息中与第一地图服务名称对应的数据路径下的地图数据返回用户包括:
解析地图数据访问请求获取地图数据类型;
判断地图数据类型是否为二维切片地图数据,若是,则
获取在地图服务配置信息中与第一地图服务名称对应的数据路径,称为第一路径;
访问第一路径所对应的二维切片地图服务源数据文件夹;
读取二维切片地图服务源数据文件夹根目录下的元信息文件,将元信息文件中的地图切片服务元信息以json格式返回用户;
判断二维切片地图服务源数据文件夹内存储的地图瓦片是否为压缩格式;若是,则
解析地图数据访问请求获取瓦片层级号与行列号;
根据瓦片层级号确定瓦片层级,根据行列号计算出偏移量与长度信息;
根据偏移量及长度信息,在二维切片地图服务源数据文件夹内存储瓦片压缩文件中通过seek命令读取被请求瓦片数据;
根据图片格式及图片压缩参数,将读取到的瓦片数据还原为图像文件数据并返回用户。
其中,在本实施例中,第一路径为二维切片地图服务源数据文件夹的映射路径,防止用户直接访问地图数据,造成数据泄露。
举例来说,取到的瓦片数据还原为图像文件数据是指将瓦片数据还原成png或jpg等图像格式。
举例来说,地图切片服务元信息包括切片原点、切片方式、切片层级、切片高度、切片宽度等。
在一实施例中,将地图服务配置信息中与第一地图服务名称对应的数据路径下的地图数据返回用户还包括:
判断二维切片地图服务源数据文件夹内存储的地图瓦片是否为压缩格式;若否,则
解析地图数据访问请求获取瓦片层级号与行列号;
根据瓦片层级号与行列号获取瓦片并返回用户。
在一实施例中,将地图服务配置信息中与第一地图服务名称对应的数据路径下的地图数据返回用户包括:
解析地图数据访问请求获取地图数据类型;
判断地图数据类型是否为三维模型地图数据,若是,则
获取在地图服务配置信息中与第一地图服务名称对应的数据路径,称为第一路径;
访问第一路径所对应的三维模型服务源数据文件夹;
读取三维模型服务源数据文件夹根目录下的元信息文件,将元信息文件中的三维数据元信息以json格式返回用户;
解析地图数据访问请求获取视点姿态信息;
根据视点姿态信息和三维数据元信息生成模型服务内部请求;
根据模型服务内部请求获取三维模型服务源数据文件夹中指定位置的数据并解压,将解压后的数据返回用户。
在一实施例中,将地图服务配置信息中与第一地图服务名称对应的数据路径下的地图数据返回用户还包括:解析地图数据访问请求获取请求类型;
根据请求类型标记模型服务内部请求的类型,类型包括几何数据、属性数据和纹理数据;
将解压后的数据返回用户包括:
判断模型服务内部请求的类型是否为几何数据或属性数据;若是,则
将解压后的数据以流数据的形式返回用户。
在一实施例中,将解压后的数据返回用户还包括:
判断模型服务内部请求的类型是否为纹理数据;若是,则
将解压后的数据以纹理数据的形式返回用户。
在一实施例中,在接收用户发起的地图数据访问请求之前,二三维地图服务发布的方法还包括:
获取软件管理员上传的地图服务配置文件;
根据地图服务配置文件生成地图数据链接供用户访问。
举例来说,如二维服务,服务链接格式为:
http://ip:端口/ags_tile_svc/服务名称/MapServer;
如三维服务,服务链接格式为:
http://ip:端口/i3s_svc/服务名称/SceneServer。
在一实施例中,地图服务配置文件由软件管理员根据地图数据路径、地图服务名称和地图数据元信息配置的地图服务配置文件;
其中,地图数据路径由地图服务提供方在服务器的预设位置上传地图数据时产生。
在一实施例中,二三维地图服务发布的方法还包括:
在获取软件管理员的初始化指令以后执行如下步骤:
获取所有的地图服务配置文件;
根据所有的地图服务配置文件生成地图服务配置信息,地图服务配置信息至少包含地图数据路径、地图服务名称和地图数据元信息;
根据地图服务配置信息获取地图数据路径下的元信息文件,获取文件内的元信息;
根据元信息判断地图服务配置信息是否有错误,若是,则
生成初始化错误的提示信息,发送至软件管理员。
下面以举例的方式对本申请提供的地图数据提供进行详细阐述,可以知道的是,该举例并不是对本申请的进一步限定。
本举例所说的地图数据可以是二维切片数据(基于wmts数据标准)也可以是三维模型数据(基于i3s标准);针对不同数据的区别之处将在下面详细说明。在进行数据提供之前将先介绍数据提供之前的准备工作。
地图服务提供方在本地完成二维/三维地图数据处理,并将二三维地图数据上传至服务器上的指定位置(默认地址:/data),在数据上传时会产生地图数据路径;
获取软件管理员上传的地图服务配置文件,其中,地图服务配置文件包括地图数据路径、地图服务名称和地图数据元信息,参照图4,为地图配置文件示例,其中第一行是服务名称,第二行是服务类型(二维或三维),第三行是源数据地址,第四行是数据格式,第五行是标志位(标志发布后是否可见);
根据地图服务配置文件生成地图数据链接供用户访问,其中,每个地图数据与一个链接的对应关系是唯一的,也就是说,每个链接只能对应一个地图数据,可以是二维切片数据也可以是三维模型数据,但是只能是其中一种,也就是说,在生成链接时就确认了是二维切片数据也还是三维模型数据。
在获取软件管理员的初始化指令以后执行如下步骤:
1)二维切片数据服务执行以下步骤;
获取所有的地图服务配置文件;
根据所有的地图服务配置文件生成地图服务配置信息,地图服务配置信息可以包含地图数据路径、地图服务名称、地图数据元信息、服务总数量、服务类型、服务路径等,其中服务类型包括:政务地图、卫星影像、航空影像、夜光遥感;
根据地图服务配置信息获取地图数据路径下的元信息文件(conf.xml),获取文件内的元信息(切片原点、切片方式、切片层级、切片高度、切片宽度等);
2)三维模型数据服务执行以下步骤;
获取所有的地图服务配置文件;
根据所有的地图服务配置文件生成地图服务配置信息,地图服务配置信息可以包含地图数据路径、地图服务名称、地图数据元信息、服务总数量、服务类型、服务路径等,其中,服务类型包括:建筑模型、水体模型、植被模型等;
根据地图服务配置信息获取地图数据路径(支持符合I3S协议的文件夹/压缩包/文件形地理信息数据库)下的元信息文件(3dSceneLayer.json.gz),获取三维数据服务源数据文件(此处是指地图提供方上传的地图数据文件)基本信息(图层类型、坐标系、可操作性、图形绘制、弹窗信息、视域、存储、纹理、材质和几何定义等信息等);
根据元信息判断地图服务配置信息是否有错误,若是,则
生成初始化错误的提示信息,发送至软件管理员;
若否,则初始化成功,执行以下步骤:
接收用户通过访问地图数据链接发起的地图数据访问请求,用户通过http或https协议,根据预设好的服务链接,发起地图服务访问请求。
解析地图数据访问请求获取地图服务名称,称为第一地图服务名称,通过解析地图服务链接,获取服务名称。
获取地图服务配置信息,地图服务配置信息包含已经注册的地图服务名称和每个服务名称所对应的数据路径;
判断地图服务配置信息中是否包含第一地图服务名称;将服务名称与地图服务配置文件(map_config)进行比对,对未注册的服务返回“无此服务”提示信息。
若是,则将地图服务配置信息中与第一地图服务名称对应的数据路径下的地图数据返回用户,
1)二维切片数据服务执行以下步骤;
获取在地图服务配置信息中与第一地图服务名称对应的数据路径,称为第一路径;
访问第一路径所对应的二维切片地图服务源数据文件夹;
读取二维切片地图服务源数据文件夹根目录下的元信息文件(conf.xml),将元信息文件中的地图切片服务元信息(切片原点、切片方式、切片层级、切片高度、切片宽度等)以json格式返回用户;
判断二维切片地图服务源数据文件夹内存储的地图瓦片是否为压缩格式(bundle/bundlx);若是,则
解析地图数据访问请求获取瓦片层级号(z)与行列号(x、y);
根据瓦片层级号(z)确定瓦片层级,根据行列号(x、y)计算出偏移量(offset)与长度(len)信息;
根据偏移量(offset)与长度(len)信息,在二维切片地图服务源数据文件夹内存储瓦片压缩文件(bundle)中通过seek命令读取被请求瓦片数据;
举例来说,操作步骤如下:
(一)求瓦片的序数:
1)行号减去行号组最小行号,得到瓦片在当前行号组的序数m;
2)列号减去列号组最小列号,得到瓦片在当前列号组的序数n;
3)128*m+n,得到瓦片在bundle文件中的序数index(即:瓦片是bundle中总共的16384张瓦片中的第index张切片);
(二)求瓦片的位置(偏移量offset):
1)因为每张瓦片的位置用8字节表示,且头信息占64字节,所以,忽略前(64+8*index)个字节;
2)之后的8字节是瓦片的位置信息,系统提取其中的前4字节。
3)解析瓦片位置信息:偏移量offset=第1字节+第2字节*256+第3字节*65536+第4字节*16777216。
(三)求切片的长度(length):
用offset之后的四个字节来计算切片的长度:切片长度length=第0字节+第1字节*256+第2字节*65536+第3字节*16777216
(四)读取切片
offset之后length个字节,就是瓦片的图片流。通过seek命令读取并返回。
根据图片格式及图片压缩参数,将读取到的瓦片数据还原为图像文件数据(png/jpg)并返回用户,参照图2。
判断二维切片地图服务源数据文件夹内存储的地图瓦片是否为压缩格式(bundle/bundlx);若否(也就是松散格式进行存储),则
解析所述地图数据访问请求获取瓦片层级号与行列号;
根据所述瓦片层级号与行列号获取瓦片并返回用户。
2)三维模型数据服务执行以下步骤;
获取在地图服务配置信息中与第一地图服务名称对应的数据路径,称为第一路径(支持符合I3S协议的文件夹/压缩包/文件形地理信息数据库);
访问第一路径所对应的三维模型服务源数据文件夹;
读取三维模型服务源数据文件夹根目录下的元信息文件(XX.json.gz),将元信息文件中的三维数据元信息以json格式返回用户;
解析地图数据访问请求获取视点姿态信息(heading、tilt、fov、position);
根据视点姿态信息和三维数据元信息生成模型服务内部请求(uri),其中,根据视点姿态信息和三维数据元信息实现三维模型服务加载lod层级判断,模型服务内部请求包含lod层级信息;
根据模型服务内部请求获取三维模型服务源数据文件夹中指定位置的数据并解压,将解压后的数据返回用户,其中,模型服务内部请求(uri)依据不同的用户请求类型分为几何(geometries)、属性(attributes)、纹理(textures)三大类(通过解析用户请求得到)。通过对uri进行正则判断,获取每一个请求的node的编号、类型,然后访问数据源压缩包中的指定位置,进行数据解压缩,并以流数据、纹理数据(img)的形式返回给用户侧,参照图3。
属性请求示例:
“http://127.0.0.1/i3s_svc/3dlg/SceneServer/layers/0/nodes/1/ attributes/f_0”;
几何请求示例:
“http://127.0.0.1/i3s_svc/3dlg/SceneServer/layers/0/nodes/1/geometries/1”;
纹理请求示例:
“http://127.0.0.1/i3s_svc/3dlg/SceneServer/layers/0/nodes/1/textures/0_0”。
本方法对uri进行正则判断,获取每一个请求的节点(即nodes。节点内包含geometries,textures,attributes,features等信息)的编号(请求中node/后的数字即为编号)、类型(geometries、attributes、textures)。
然后依据请求类型,解压读取节点中对于的几何数据/属性数据/纹理数据,并以流数据、纹理数据(img)的形式返回给用户侧。
补充说明:i3s结构的三维模型数据进行存储时(数据处理阶段),会对数据进行树结构切分,切分后的每一块三维模型数据就是“节点”。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,简称ROM)或随机存取存储器(RandomAccessMemory,简称RAM)等。
在本申请的另一方面,还提供了一种二三维地图服务发布的装置,包括:
访问请求接收模块,用于接收用户通过访问地图数据链接发起的地图数据访问请求;
访问请求解析模块,用于解析地图数据访问请求获取地图服务名称,称为第一地图服务名称;
地图服务配置信息获取模块,用于获取地图服务配置信息,地图服务配置信息包含已经注册的地图服务名称和每个服务名称所对应的数据路径;
判断模块,用于判断地图服务配置信息中是否包含第一地图服务名称;
地图数据返回模块,用于在判断模块的判断结果为是时将地图服务配置信息中与第一地图服务名称对应的数据路径下的地图数据返回用户。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本发明旨在保护一种二三维地图服务发布的方法和装置,方法包括:
接收用户通过访问地图数据链接发起的地图数据访问请求;
解析地图数据访问请求获取地图服务名称,称为第一地图服务名称;
获取地图服务配置信息,地图服务配置信息包含已经注册的地图服务名称和每个服务名称所对应的数据路径;
判断地图服务配置信息中是否包含第一地图服务名称;若是,则
将地图服务配置信息中与第一地图服务名称对应的数据路径下的地图数据返回用户。
通过本申请提供的二三维地图服务发布的方法,实现各类二维切片地图服务及三维模型服务在信创环境下的快速发布与对外提供。其技术效果主要表现为:
1)发布的地图服务速度快,满足高并发访问;
2)发布的地图服务具有高效缓存;
3)发布的地图服务可以渐进加载;
4)发布的地图服务支持ArcGIS JSAPI等主流开发接口调用;
5)地图服务发布操作简单易用。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
Claims (10)
1.一种二三维地图服务发布的方法,其特征在于,包括:
接收用户通过访问地图数据链接发起的地图数据访问请求;
解析所述地图数据访问请求获取地图服务名称,称为第一地图服务名称;
获取地图服务配置信息,所述地图服务配置信息包含已经注册的地图服务名称和每个服务名称所对应的数据路径;
判断所述地图服务配置信息中是否包含所述第一地图服务名称;若是,则
将所述地图服务配置信息中与所述第一地图服务名称对应的数据路径下的地图数据返回用户。
2.根据权利要求1所述的二三维地图服务发布的方法,其特征在于,
所述将所述地图服务配置信息中与所述第一地图服务名称对应的数据路径下的地图数据返回用户包括:
解析所述地图数据访问请求获取地图数据类型;
判断所述地图数据类型是否为二维切片地图数据,若是,则
获取在所述地图服务配置信息中与所述第一地图服务名称对应的数据路径,称为第一路径;
访问第一路径所对应的二维切片地图服务源数据文件夹;
读取所述二维切片地图服务源数据文件夹根目录下的元信息文件,将所述元信息文件中的地图切片服务元信息以json格式返回用户;
判断所述二维切片地图服务源数据文件夹内存储的地图瓦片是否为压缩格式;若是,则
解析所述地图数据访问请求获取瓦片层级号与行列号;
根据所述瓦片层级号确定瓦片层级,根据行列号计算出偏移量与长度信息;
根据偏移量及长度信息,在所述二维切片地图服务源数据文件夹内存储瓦片压缩文件中通过seek命令读取被请求瓦片数据;
根据图片格式及图片压缩参数,将读取到的瓦片数据还原为图像文件数据并返回用户。
3.根据权利要求2所述的二三维地图服务发布的方法,其特征在于,
所述将所述地图服务配置信息中与所述第一地图服务名称对应的数据路径下的地图数据返回用户还包括:
判断所述二维切片地图服务源数据文件夹内存储的地图瓦片是否为压缩格式;若否,则
解析所述地图数据访问请求获取瓦片层级号与行列号;
根据所述瓦片层级号与行列号获取瓦片并返回用户。
4.根据权利要求1所述的二三维地图服务发布的方法,其特征在于,
所述将所述地图服务配置信息中与所述第一地图服务名称对应的数据路径下的地图数据返回用户包括:
解析所述地图数据访问请求获取地图数据类型;
判断所述地图数据类型是否为三维模型地图数据,若是,则
获取在所述地图服务配置信息中与所述第一地图服务名称对应的数据路径,称为第一路径;
访问第一路径所对应的三维模型服务源数据文件夹;
读取所述三维模型服务源数据文件夹根目录下的元信息文件,将所述元信息文件中的三维数据元信息以json格式返回用户;
解析所述地图数据访问请求获取视点姿态信息;
根据所述视点姿态信息和所述三维数据元信息生成模型服务内部请求;
根据所述模型服务内部请求获取三维模型服务源数据文件夹中指定位置的数据并解压,将解压后的数据返回用户。
5.根据权利要求4所述的二三维地图服务发布的方法,其特征在于,
所述将所述地图服务配置信息中与所述第一地图服务名称对应的数据路径下的地图数据返回用户还包括:
解析所述地图数据访问请求获取请求类型;
根据所述请求类型标记所述模型服务内部请求的类型,所述类型包括几何数据、属性数据和纹理数据;
所述将解压后的数据返回用户包括:
判断所述模型服务内部请求的类型是否为几何数据或属性数据;若是,则
将解压后的数据以流数据的形式返回用户。
6.根据权利要求5所述的二三维地图服务发布的方法,其特征在于,
所述将解压后的数据返回用户还包括:
判断所述模型服务内部请求的类型是否为纹理数据;若是,则
将解压后的数据以纹理数据的形式返回用户。
7.根据权利要求1所述的二三维地图服务发布的方法,其特征在于,在所述接收用户发起的地图数据访问请求之前,所述二三维地图服务发布的方法还包括:
获取软件管理员上传的地图服务配置文件;
根据所述地图服务配置文件生成地图数据链接供用户访问。
8.根据权利要求7所述的二三维地图服务发布的方法,其特征在于,
所述地图服务配置文件由软件管理员根据地图数据路径、地图服务名称和地图数据元信息配置的地图服务配置文件;
其中,所述地图数据路径由地图服务提供方在服务器的预设位置上传地图数据时产生。
9.根据权利要求8所述的二三维地图服务发布的方法,其特征在于,
所述二三维地图服务发布的方法还包括:
在获取软件管理员的初始化指令以后执行如下步骤:
获取所有的地图服务配置文件;
根据所述所有的地图服务配置文件生成地图服务配置信息,所述地图服务配置信息至少包含地图数据路径、地图服务名称和地图数据元信息;
根据所述地图服务配置信息获取地图数据路径下的元信息文件,获取文件内的元信息;
根据所述元信息判断所述地图服务配置信息是否有错误,若是,则
生成初始化错误的提示信息,发送至软件管理员。
10.一种二三维地图服务发布的装置,其特征在于,包括:
访问请求接收模块,用于接收用户通过访问地图数据链接发起的地图数据访问请求;
访问请求解析模块,用于解析所述地图数据访问请求获取地图服务名称,称为第一地图服务名称;
地图服务配置信息获取模块,用于获取地图服务配置信息,所述地图服务配置信息包含已经注册的地图服务名称和每个服务名称所对应的数据路径;
判断模块,用于判断所述地图服务配置信息中是否包含所述第一地图服务名称;
地图数据返回模块,用于在判断模块的判断结果为是时将所述地图服务配置信息中与所述第一地图服务名称对应的数据路径下的地图数据返回用户。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2023102632306 | 2023-03-17 | ||
CN202310263230.6A CN116383143A (zh) | 2023-03-17 | 2023-03-17 | 超大城市空间海量数据二三维地图服务发布的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117931742A true CN117931742A (zh) | 2024-04-26 |
Family
ID=86972341
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310263230.6A Pending CN116383143A (zh) | 2023-03-17 | 2023-03-17 | 超大城市空间海量数据二三维地图服务发布的方法和装置 |
CN202410123164.7A Pending CN117931742A (zh) | 2023-03-17 | 2024-01-30 | 超大城市空间海量数据二三维地图服务发布的方法和装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310263230.6A Pending CN116383143A (zh) | 2023-03-17 | 2023-03-17 | 超大城市空间海量数据二三维地图服务发布的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN116383143A (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080016145A1 (en) * | 2004-09-07 | 2008-01-17 | Yutaka Takase | 3D Map Distribution Server Device, Client Terminal Device, and 3D Map Distribution System |
JP4528739B2 (ja) * | 2006-03-22 | 2010-08-18 | 株式会社ナビタイムジャパン | ナビゲーションシステム、経路探索サーバ、端末装置および地図表示方法 |
CN105069020B (zh) * | 2015-07-14 | 2018-09-21 | 国家信息中心 | 自然资源数据三维可视化方法和系统 |
CN108121705B (zh) * | 2016-11-28 | 2021-10-08 | 星际空间(天津)科技发展有限公司 | 一种开放的多源二、三维地理信息数据聚合和发布系统 |
CN107239531B (zh) * | 2017-05-31 | 2020-08-25 | 国电南瑞科技股份有限公司 | 一种扩展GeoServer发布自定义瓦片WMS服务的实现方法 |
CN112287010B (zh) * | 2020-11-10 | 2023-04-07 | 天津市测绘院有限公司 | 基于安卓系统的地图服务提供方法、装置、终端及存储介质 |
US11978160B2 (en) * | 2021-07-13 | 2024-05-07 | Daniel E. Curtis | GPU-based digital map tile generation method and system |
-
2023
- 2023-03-17 CN CN202310263230.6A patent/CN116383143A/zh active Pending
-
2024
- 2024-01-30 CN CN202410123164.7A patent/CN117931742A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN116383143A (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020038623A (ja) | データを記憶するための方法、装置及びシステム | |
CN110263116B (zh) | 一种支持动态投影转换的瓦片地图发布方法及装置 | |
CN110969691B (zh) | 基于WebGL的摄影数据调度方法及系统 | |
US9367569B1 (en) | Recovery of directory information | |
CN110019081A (zh) | 数据持久化处理方法、装置、系统及可读存储介质 | |
CN113568995B (zh) | 基于检索条件的动态瓦片地图制作方法及瓦片地图系统 | |
CN110222223B (zh) | 一种瓦片地图的发布方法及装置 | |
CN110597900B (zh) | 一种gdb数据实时按需生成矢量切片的方法 | |
CN112132954B (zh) | 一种面向三维激光点云实体对象的分布式管理方法及系统 | |
CN115391699B (zh) | 一种云优化的静态地理信息矢量数据在线服务方法 | |
KR20120034383A (ko) | 지도 업데이트 자동화 시스템 및 그 방법 | |
US8156162B2 (en) | Storage method and search method for mark event on two-dimensional space | |
US8564607B2 (en) | Apparatus and method for creating textures of building | |
CN111460043A (zh) | 三维空间图像区块链存储方法及页面显示方法 | |
CN114138558A (zh) | 一种对象存储方法、装置、电子设备和存储介质 | |
CN113688139A (zh) | 对象存储方法、网关、设备及介质 | |
CN111061806B (zh) | 面向分布式的海量地理瓦片的存储方法与网络化访问方法 | |
CN111222064B (zh) | 一种数字病理切片的云存储方法 | |
EP2686791B1 (en) | Variants of files in a file system | |
CN117931742A (zh) | 超大城市空间海量数据二三维地图服务发布的方法和装置 | |
CN116756796A (zh) | 一种bim数据轻量化方法及系统 | |
CN105549912A (zh) | 同时包含多种类操作系统的服务器集群的存储方法 | |
CN115408406A (zh) | 一种基于地图服务的高密度船位动态渲染系统 | |
CN114911807A (zh) | 一种露天矿山无人化系统地图更新系统及方法 | |
CN116737852A (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 |