CN110059143A - 一种基于遥感影像瓦片数据的地图绘制方法 - Google Patents
一种基于遥感影像瓦片数据的地图绘制方法 Download PDFInfo
- Publication number
- CN110059143A CN110059143A CN201910160966.4A CN201910160966A CN110059143A CN 110059143 A CN110059143 A CN 110059143A CN 201910160966 A CN201910160966 A CN 201910160966A CN 110059143 A CN110059143 A CN 110059143A
- Authority
- CN
- China
- Prior art keywords
- tile
- data
- downloading
- task
- tile data
- 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.)
- Granted
Links
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- 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/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Abstract
本发明公开了一种基于遥感影像瓦片数据的地图绘制方法,依次进行下载器初始化和运行、创建多线程下载任务、产生地图瓦片数据请求、返回响应影像瓦片数据、响应影像瓦片数据解析、响应影像瓦片数据在交互界面进行更新和渲染。本发明技术路线简单、易行,能够实现对谷歌地图卫星影像数据的高效、可靠地下载、渲染和存储,还能够满足各类WebGIS型应用对瓦片数据的需求,同时,本发明对于存在于缓冲区的瓦片不再重复下载,大大降低了网络传输压力和瓦片刷新延迟,降低了下载器计算量,提高下载速度和准确度,且本发明通过采用数据库存储和目录存储两种存取方式,使存储方式灵活,适应了用户的多样需求。
Description
技术领域
本发明涉及遥感和地理信息系统技术领域,尤其涉及一种基于遥感影像瓦片数据的地图绘制方法。
背景技术
随着高分辨率遥感技术的发展,空间数据量以惊人速度增长,并具有多源、异构的典型特点。海量的空间数据极大地促进了地理空间信息行业和位置服务的发展,使得相关应用彻底告别了“无米之炊”的现状。
Google Maps是谷歌公司在2006年推出的一款基于B/S架构的可以在网页浏览器上搜索、浏览地图的服务软件,与Google Earth采用同一个卫星影像数据源。Google Maps地图数据可分为两种:矢量地图(Map)、卫星影像(Satellite)。此外,还包括一种称为地形(Terrain)的数据用于取代先前的合成地图(Hybird),可提供仿真三维效果的地形图片。Google Maps的数据不管是卫星影像还是矢量地图,都是以分幅栅格图片--瓦片(Tile)的形式传输的。Google Maps数据服务器不仅可以为Google Maps客户端提供空间数据服务,而且还支持在用户开发的应用程序中请求所需的卫星影像数据,但目前将遥感卫星影像瓦片数据下载应用基于地理地信息系统的应用系统的研究极少,且在不同应用系统之间难以实现方法的统一,适用性差。因此,如何高效、可靠、稳定地进行地图影像瓦片数据下载,是现在亟待解决的问题。
发明内容
本发明的目的是提供一种基于遥感影像瓦片数据的地图绘制方法,技术路线简单、易行,能够实现对谷歌地图卫星影像数据的高效、可靠地下载、渲染和存储,且能够满足各类型WebGIS应用对瓦片数据的下载需求。
本发明采用的技术方案为:
一种基于遥感影像瓦片数据的地图绘制方法,包括以下步骤:
A、遥感影像瓦片数据下载器初始化启动并运行;
B、用户通过交互界面创建多线程下载任务;多线程下载任务分为用户漫游操作或新建下载任务两种类型;
C、下载器根据多线程下载任务产生地图瓦片数据请求,并将产生的地图瓦片数据请求发送至谷歌地图服务器;
D、谷歌地图服务器响应用户的请求并返回响应影像瓦片数据至下载器;
F、下载器对获取的响应影像瓦片数据进行解析;
F、下载器将经过解析的响应影像瓦片数据在交互界面进行更新和渲染,同时将响应影像瓦片数据存入数据库或对应文件夹中。
进一步地,所述步骤A中具体过程如下:
a1:下载器加载和初始化下载任务列表配置文件
a2:OpenGL和影像渲染器初始化;
a3:根据初始窗口大小和初始窗口瓦片级别计算初始窗口所需要瓦片的行号Row和列号Col;
a4:将启动时窗口所需要的瓦片数据加入到下载任务队列中;
a5:发起多线程进行瓦片数据下载;
a6:下载成功后进行瓦片绘制,并将瓦片存入计算机内存的缓冲区。
进一步地,所述多线程下载任务为用户漫游操作时,步骤B具体为:
b1.1:计算用户漫游操作所需瓦片级别Lev;
b1.2:根据当前交互界面窗口大小和瓦片级别Lev计算窗口所需瓦片的瓦片信息,并由瓦片信息构建需求瓦片集合T,定义需求瓦片集合T中的瓦片为待下载瓦片;瓦片信息包括瓦片级别Lev、瓦片行号Row和瓦片列号Col;
b1.3:在缓冲区中逐一查询每个待下载瓦片的瓦片信息,判断第i个待下载瓦片ti是否在缓冲区已存在:若是,则将已在缓冲区的待下载瓦片ti取出并直接加入下载任务队列,并将待下载瓦片ti定义为待更新瓦片;反之,则将待下载瓦片ti的信息加入到下载任务队列中并进入步骤C。
进一步地,所述多线程下载任务为新建下载任务时,步骤B采用生产者-消费者的并行工作模式,具体为:
b2.1:生产任务创建:创建作为生产者的下载任务,并初始化瓦片数据库SQLite;
b2.2:启动任务生产者线程:计算各个级别Lev中待下载瓦片的瓦片信息,并将瓦片信息加入下载任务列表;瓦片信息包括瓦片级别Lev、瓦片行号Row和瓦片列号Col;
b2.3:启动消费者线程:下载任务系统启动,然后瓦片下载工作线程启动并向树视图添加任务项;
b2.4:瓦片下载工作线程启动后,瓦片下载工作线程循环检查下载任务列表是否有待下载瓦片,有则取出任务并进入步骤C进行瓦片数据下载,下载完成后的瓦片数据插入SQLite数据库和对应文件夹中;
b2.5:向树视图添加任务项后,响应控制菜单项;控制菜单项包括下载、暂停和停止。
进一步地,所述步骤F中将响应影像瓦片数据在交互界面进行渲染的具体过程为:
f1:按照当前交互界面窗口的宽度和高度构造四个顶点坐标并存入顶点数组,并指定纹理映射坐标;
f2:当所需的瓦片数据下载到下载器的瓦片数据库时,从瓦片数据库的影像瓦片文件中提取出像素数据,并将提取的将像素数据作为子纹理通过调用glTexSubImage2D()接口更新到一张大二维纹理对象中;
f3:将步骤f2所得大二维纹理对象以正交投影的方式映射到步骤f1创建的顶点数组上,以此完成在交互界面窗口的瓦片纹理绘制工作,定义绘制完成的瓦片为更新完成瓦片。
进一步地,所述步骤F中将响应影像瓦片数据存入数据库包括数据库存储和目录存储两种存取方式;
数据库存储采用MBTiles存储规范将地图瓦片存储到一个数据库中,并通过瓦片的ID号在不同三维坐标系中引用瓦片;
目录存储具体为:将瓦片数据存储至桑层存储目录中,第一层存储目录为瓦片数据来源对应的目录,第二层存储目录为瓦片数据所述的层级号,第三层存储目录为瓦片数据所述的行号。
本发明具有以下有益效果:
(1)通过依次进行用户创建多线程下载任务创建、发送请求参数、谷歌地图服务器验证和响应请求、返回响应影像瓦片数据和瓦片数据在用户窗口的渲染的操作,稳定可靠地实现了谷歌地图卫星影像数据的下载、渲染和存储,满足了对瓦片数据的需求;
(2)通过在用户进行漫游操作时,并不是直接下载全部的瓦片,而是对于当前所需的每一块瓦片,先查询瓦片缓冲区数组中是否存在,如果已经存在,则将其取出并直接绘制,对于不存在与缓冲区的瓦片则发送至谷歌微型服务器进行下载,大大降低了网络传输压力和瓦片刷新延迟,降低了下载器计算量,提高下载速度和准确度;
(3)通过采用多线程并行开发模型进行新建下载任务,快速有效地解决了用户在交互界面创建多线程下载任务时出现的瓦片层级众多、瓦片总量巨大的问题,保障了多线程下载任务的可靠运行;
(4)通过采用数据库存储和目录存储两种存取方式,使存储方式灵活,以适应用户的多样需求。
附图说明
图1为本发明的流程图;
图2为初始化流程图;
图3为实施例一中多线程下载任务的运行流程图;
图4为实施例二中多线程下载任务的运行流程图。
具体实施方式
如图1所示,本发明包括以下步骤:
A、遥感影像瓦片数据下载器初始化启动并运行;
B、用户通过交互界面创建多线程下载任务;多线程下载任务分为用户漫游操作或新建下载任务两种类型;
C、下载器根据多线程下载任务产生地图瓦片数据请求,并将产生的地图瓦片数据请求发送至谷歌地图服务器;
D、谷歌地图服务器响应用户的请求并返回响应影像瓦片数据至下载器;
E、下载器对获取的响应影像瓦片数据进行解析;
F、下载器将经过解析的响应影像瓦片数据在交互界面进行更新和渲染,同时将响应影像瓦片数据存入数据库或对应文件夹中。
为了更好地理解本发明,下面结合附图对本发明的技术方案做进一步说明。
实施例一:
本实施例包括以下步骤:
A、遥感影像瓦片数据下载器初始化启动并运行。
在谷歌地图卫星影像下载器启动时,程序将进行初始化操作,此时交互界面的初始显示窗口需进行瓦片数据下载和回执,先加载和初始化下载任务列表配置文件,再对OpenGL和影像渲染器进行初始化,具体为:窗口在初始化更新时会完成OpenGL顶点着色器和片段着色器的初始化工作,同时构造影像瓦片渲染类对象,其内部创建和启动下载任务系统对象,下载任务系统对象再创建和启动指定数量的影像瓦片下载工作线程。
初始化启动并运行时,下载任务窗口创建并显示,如图2所示,具体步骤如下:
a1:下载器加载和初始化下载任务列表配置文件;
a2:OpenGL和影像渲染器初始化;
a3:根据初始窗口大小和初始窗口瓦片级别计算初始窗口所需要瓦片的行号Row和列号Col;
交互界面在启动时会呈现初始窗口界面,因此,在启动时即需要加载初始窗口的瓦片信息;
首先,程序按照初始化设置的窗口的宽度和高度获得客户区的宽度和高度(单位:像素),并依据Web墨卡托坐标系的取值范围[-20037508.3427892,20037508.3427892](单位:米)计算出客户区一个像素所代表的地面距离,即像素分辨率;
其次,依据像素分辨率在谷歌地图的金字塔层级中得到合适的层级,并以本初子午线和赤道的交点(0,0)为客户区中心,再以所选层级和该层级的分辨率重新计算客户区所能展示的地理范围;
然后,根据Web墨卡托投影公式计算客户区左上角和右下角所能表示的地理坐标在所选层级中的瓦片行、列号;
a4:将启动时窗口所需要的瓦片数据加入到下载任务队列中;
a5:发起多线程进行瓦片数据下载:下载器以下载任务列表中的瓦片信息为参数向谷歌地图服务器请求瓦片数据;
a6:下载成功后进行瓦片绘制,并将瓦片存入计算机内存的缓冲区:当下载器获得服务器的返回的瓦片数据后,即可提取出像素数据并渲染到客户区窗口,同时将本次请求的所有瓦片信息保存到缓冲区列表中。
B、用户通过交互界面进行漫游操作:用户通过交互界面对地图进行拖动、缩放等漫游操作。
当用户漫游操作时,如果用户执行地图缩放操作,则先根据当前的瓦片金字塔层级,并结合鼠标滚轮滚动的角度依次增加一级或者减小一级,然后根据当前窗口的大小和显示区域范围重新请求新的瓦片数据并绘制显示;如果用户执行地图平移操作,则程序根据平移前、后窗口显示区域范围和当前瓦片层级重新计算所需的瓦片行、列号范围,并重新请求新的瓦片数据。
为了降低网络传输压力和瓦片刷新延迟,程序在请求所需的瓦片时并不是全部重新请求下载,而是对于当前所需的每一块瓦片,先查询瓦片缓冲区数组中是否存在,如果已经存在,则将其取出并直接绘制;如果不存在,则将所需要的瓦片数据加入到下载任务队列中,先完成下载,下载成功后再通知客户区渲染线程进行绘制。
如图3所示,具体过程如下:
b1.1:计算用户漫游操作所需瓦片级别Lev;
b1.2:根据当前交互界面窗口大小和瓦片级别Lev计算窗口所需瓦片的瓦片信息,并由瓦片信息构建需求瓦片集合T,定义需求瓦片集合T中的瓦片为待下载瓦片;瓦片信息包括瓦片级别Lev、瓦片行号Row和瓦片列号Col;
b1.3:在缓冲区中逐一查询每个待下载瓦片的瓦片信息,判断第i个待下载瓦片ti是否在缓冲区已存在:若是,则将已在缓冲区的待下载瓦片ti取出并直接加入下载任务队列,并将待下载瓦片ti定义为待更新瓦片;反之,则将待下载瓦片ti的信息加入到下载任务队列中并进入步骤C进行瓦片数据下载。
C、下载器根据漫游操作产生地图瓦片数据请求,并将产生的地图瓦片数据请求发送至谷歌地图服务器;下载器作为客户端将多线程下载任务所需瓦片的层级和范围封装成请求参数,并通过HTTP协议发送至谷歌地图服务器。
D、谷歌地图服务器响应用户的请求并返回响应影像瓦片数据至下载器。
具体过程如下:
d1:谷歌地图服务器对收到的地图瓦片数据请求进行验证和筛选。
d2:解析地图瓦片数据请求URL并检索所请求的影像瓦片数据,检索所得数据极为响应影响瓦片数据。
一个典型谷歌地图卫星影像瓦片请求统一资源定位符URL如下所示:
http://mt0.google.cn/vt?n=404&lyrs=s&hl=zh-CN&gl=cn&v=191&x=50&y=100&z=8;
瓦片URL地址中的参数含义解析如下:
mt0.google.cn为Google Maps服务器地址,其它可用的服务器包括mt1.google.cn、mt2.google.cn、mt3.google.cn等共四个服务器;
lyrs=s为指定的地图类型,可枚举的参数有:m:路线图、t:地形图、p:带标签的地形图、s:卫星图、y:带标签的卫星图、h:标签层(路名、地名等);
x=50为请求瓦片的列号,从左往右依次为0~2z-1;
y=100为请求瓦片的行号,从上往下依次为0~2z-1;
z=8为请求的瓦片的层级,0层表示覆盖全球。
当用户漫游地图或新建下载任务时,作为客户端的下载器将首先依据多线程下载任务的初始瓦片层级和鼠标滚轮滚动的角度确定所请求瓦片所在的层级,然后再根据用户窗口初始中心位置和窗口大小确定所需瓦片的行、列号范围,并将(row,column,level)作为请求参数填充到典型谷歌地图卫星影像瓦片请求统一资源定位符URL地址中,然后通过HTTP协议发送给Google Maps的服务器以获得响应;
d3:将产生的响应影像瓦片数据通过HTTP协议发送至客户端,即下载器。
E、下载器对获取的响应影像瓦片数据进行解析后加入下载任务队列,并将经过解析的响应影像瓦片数据定义为待更新瓦片;
F、下载器将下载任务队列中的待更新瓦片在交互界面进行更新和渲染,同时将响应影像瓦片数据存入数据库或对应文件夹中,以便离线使用。
将响应影像瓦片数据在交互界面进行渲染的具体过程为:
f1:按照当前交互界面窗口的宽度和高度构造四个顶点坐标并存入顶点数组,并指定纹理映射坐标;
f2:当所需的瓦片数据下载到下载器的瓦片数据库时,从瓦片数据库的影像瓦片文件中提取出像素数据,并将提取的将像素数据作为子纹理通过调用glTexSubImage2D()接口更新到一张大二维纹理对象中;
f3:将步骤f2所得大二维纹理对象以正交投影的方式映射到步骤f1创建的顶点数组上,以此完成在交互界面窗口的瓦片纹理绘制工作,定义绘制完成的瓦片为更新完成瓦片。
经过上述方式进行渲染能够提高绘制效率,减少创建OpenGL对象和频繁调用OpenGL渲染API接口,提高准确性和可靠性。
将响应影像瓦片数据存入数据库包括数据库存储和目录存储两种存取方式;
1)数据库存储:
数据库的存储方式更集约,可减少磁盘碎片,方便索引查询;考虑到大量小瓦片文件的磁盘碎片问题、访问效率以及SQLite数据库的轻量型、单一文件、跨平台和内存数据库等优点,本发明的数据库存储采用MBTiles存储规范将地图瓦片存储到一个数据库中,并通过瓦片的ID号在不同三维坐标系中引用瓦片;当需要访问瓦片数据时,将直接基于当前用户窗口大小、中心坐标和缩放级别,确定所需要的瓦片层级、行和列号范围,并将每一块瓦片的(row,column,level)转换为SQLite数据库中的索引ID号,然后从数据库文件中读取MBTiles格式的地图瓦片数据文件并在用户窗口中渲染瓦片即可。
MBTiles存储规范具体为:将瓦片图像分为两张,一张用于存储原始图像,一张用于存储瓦片坐标对应的图片。具体设计如下:
CREATE TABLE images(tile_data BLOB,tile_id TEXT);
CREATE TABLE map(zoom_level INTEGER,tile_column INTEGER,tile_rowINTEGER,tile_id TEXT);
相同的瓦片在存储时只存储一份,可通过将上述两个表images和map进行连接查询来创建视图tiles:
CREATE VIEW tiles AS SELECT
map.zoom_level AS zoom_level,
map.tile_column AS tile_column,
map.tile_row AS tile_row,
images.tile_data AS tile_data
FROM map JOIN images ON images.tile_id=map.tile_id;
利用这种方法将节省大量的存储空间。此外,MBTiles规范本身来自于OSGEO的TMS(Tile Map Service)规范中文件在存储方面的管理,也便于后续发布符合TMS规范的静态瓦片数据服务。
2)目录存储:
由于每一个瓦片数据都具有明确的层级号、行号和列号等信息,可以唯一定位瓦片数据,本发明采用了基于目录的数据存储方式。目录存储方式将下载完成的众多瓦片数据文件按照层级号、行号和列号组织,分别存放大不同的目录中,方便用户和程序通过层级号、行号和列号来直接定位和引用瓦片数据。
目录存储的具体为过程为:将瓦片数据存储至桑层存储目录中,第一层存储目录为瓦片数据来源对应的目录,第二层存储目录为瓦片数据所述的层级号,第三层存储目录为瓦片数据所述的行号。
不同来源的瓦片数据会放置在不同的一级目录下;属于同一层级的瓦片数据都存储在层级号相同的目录下;在同一层级目录下,属于同一行号的瓦片统一存储在相同行号的目录下。
本发明与现有技术相比,稳定可靠,可满足应用对瓦片数据的需求,且存储方式灵活,可适应用户的多样需求。
同时,本发明可实现对多种在线瓦片数据的下载。由于Web Mercator投影已经成为WebGIS领域使用最广的坐标系统,如天地图、百度地图、高德地图、OpenStreetMap和微软BingMap等在线地图服务商都采用球面Web墨卡托坐标参考系,它们的瓦片数据组织方式基本一致。本发明所采用的的方法很容易通过扩展实现对天地图、百度地图、高德地图、OpenStreetMap和微软BingMap等在线遥感卫星瓦片影像数据的下载。
本发明采用典型的WebGIS应用系统并应用于空天地一体化环境信息监控系统中进行试验验证,验证结果为本发明满足了该系统的应用服务分系统对遥感影像瓦片数据的需求。下载成功的瓦片数据可作为应用服务分系统的主页底图影像加载到网页中间,可满足用户的漫游、浏览,提高了提供的响应速度,增强了用户的访问和操作体验度。
经过测试和实践证明,本方法的技术路线简单、易行,可实现对谷歌地图卫星影像数据的高效、可靠地下载、渲染和存储,可在遥感或基于地理信息系统的各类应用系统中得到应用。
实施例二:
本实施例与实施例一的区别在于步骤B中多线程下载任务的操作类型为新建下载任务。
具体过程为:
A、遥感影像瓦片数据下载器初始化启动并运行;
B、用户通过交互界面采用生产者-消费者的并行工作模式新建下载任务。
如图4所示,具体过程为:
b2.1:生产任务创建:创建作为生产者的下载任务,并初始化瓦片数据库SQLite。
b2.2:启动任务生产者线程:计算各个级别Lev中待下载瓦片的瓦片信息,并将瓦片信息加入下载任务列表;瓦片信息包括瓦片级别Lev、瓦片行号Row和瓦片列号Col。
b2.3:启动消费者线程,下载任务系统启动,然后瓦片下载工作线程启动并向树视图添加任务项。
b2.4:瓦片下载工作线程启动后,瓦片下载工作线程循环检查下载任务列表是否有待下载瓦片,有则取出任务并进入步骤C进行瓦片数据下载,下载完成后的瓦片数据插入SQLite数据库和对应文件夹中。
当用户通过框选区域创建多线程下载任务时,存在层级众多,瓦片总量巨多(可达上百万张)的问题,本发明对于数量巨大的瓦片的下载任务通过多线程方式完成,为此,本发明采用了多线程并行开发模型,即生产者-消费者模型来完成瓦片下载工作。
当用户通过鼠标右键在客户区框选目标区域创建多线程下载任务时,程序将框选的矩形区域的左上角坐标、右下角坐标,以及指定的下载瓦片的开始级别和结束级别(默认为0~22)作为参数信息传递给生产者线程,生产者将上述信息封装成任务信息对象并加入下载任务列表中。作为消费者的任务下载线程启动之后就开始一直循环检查任务列表是否有待下载瓦片,如果有则取出任务,进行瓦片数据的下载,下载完成后将瓦片插入SQLite数据库。
b2.5:向树视图添加任务项后,响应控制菜单项;控制菜单项包括下载、暂停和停止。C、下载器根据新建下载任务产生地图瓦片数据请求,并将产生的地图瓦片数据请求发送至谷歌地图服务器。
D、谷歌地图服务器响应用户的请求并返回响应影像瓦片数据至下载器;
E、下载器对获取的响应影像瓦片数据进行解析;
F、下载器将经过解析的响应影像瓦片数据在交互界面进行更新和渲染,同时将响应影像瓦片数据存入数据库或对应文件夹中,以便离线使用。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换,而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。
Claims (6)
1.一种基于遥感影像瓦片数据的地图绘制方法,其特征在于:包括以下步骤:
A、遥感影像瓦片数据下载器初始化启动并运行;
B、用户通过交互界面创建多线程下载任务;多线程下载任务分为用户漫游操作或新建下载任务两种类型;
C、下载器根据多线程下载任务产生地图瓦片数据请求,并将产生的地图瓦片数据请求发送至谷歌地图服务器;
D、谷歌地图服务器响应用户的请求并返回响应影像瓦片数据至下载器;
E、下载器对获取的响应影像瓦片数据进行解析;
F、下载器将经过解析的响应影像瓦片数据在交互界面进行更新和渲染,同时将响应影像瓦片数据存入数据库或对应文件夹中。
2.根据权利要求1所述的基于遥感影像瓦片数据的地图绘制方法,其特征在于:所述步骤A中具体过程如下:
a1:下载器加载和初始化下载任务列表配置文件
a2:OpenGL和影像渲染器初始化;
a3:根据初始窗口大小和初始窗口瓦片级别计算初始窗口所需要瓦片的行号Row和列号Col;
a4:将启动时窗口所需要的瓦片数据加入到下载任务队列中;
a5:发起多线程进行瓦片数据下载;
a6:下载成功后进行瓦片绘制,并将瓦片存入计算机内存的缓冲区。
3.根据权利要求1所述的基于遥感影像瓦片数据的地图绘制方法,其特征在于:所述多线程下载任务为用户漫游操作时,步骤B具体为:
b1.1:计算用户漫游操作所需瓦片级别Lev;
b1.2:根据当前交互界面窗口大小和瓦片级别Lev计算窗口所需瓦片的瓦片信息,并由瓦片信息构建需求瓦片集合T,定义需求瓦片集合T中的瓦片为待下载瓦片;瓦片信息包括瓦片级别Lev、瓦片行号Row和瓦片列号Col;
b1.3:在缓冲区中逐一查询每个待下载瓦片的瓦片信息,判断第i个待下载瓦片ti是否在缓冲区已存在:若是,则将已在缓冲区的待下载瓦片ti取出并直接加入下载任务队列,并将待下载瓦片ti定义为待更新瓦片;反之,则将待下载瓦片ti的信息加入到下载任务队列中并进入步骤C。
4.根据权利要求1所述的基于遥感影像瓦片数据的地图绘制方法,其特征在于:所述多线程下载任务为新建下载任务时,步骤B采用生产者-消费者的并行工作模式,具体为:
b2.1:生产任务创建:创建作为生产者的下载任务,并初始化瓦片数据库SQLite;
b2.2:启动任务生产者线程:计算各个级别Lev中待下载瓦片的瓦片信息,并将瓦片信息加入下载任务列表;瓦片信息包括瓦片级别Lev、瓦片行号Row和瓦片列号Col;
b2.3:启动消费者线程:下载任务系统启动,然后瓦片下载工作线程启动并向树视图添加任务项;
b2.4:瓦片下载工作线程启动后,瓦片下载工作线程循环检查下载任务列表是否有待下载瓦片,有则取出任务并进入步骤C进行瓦片数据下载,下载完成后的瓦片数据插入SQLite数据库和对应文件夹中;
b2.5:向树视图添加任务项后,响应控制菜单项;控制菜单项包括下载、暂停和停止。
5.根据权利要求1所述的基于遥感影像瓦片数据的地图绘制方法,其特征在于:所述步骤F中将响应影像瓦片数据在交互界面进行渲染的具体过程为:
f1:按照当前交互界面窗口的宽度和高度构造四个顶点坐标并存入顶点数组,并指定纹理映射坐标;
f2:当所需的瓦片数据下载到下载器的瓦片数据库时,从瓦片数据库的影像瓦片文件中提取出像素数据,并将提取的将像素数据作为子纹理通过调用glTexSubImage2D()接口更新到一张大二维纹理对象中;
f3:将步骤f2所得大二维纹理对象以正交投影的方式映射到步骤f1创建的顶点数组上,以此完成在交互界面窗口的瓦片纹理绘制工作,定义绘制完成的瓦片为更新完成瓦片。
6.根据权利要求1所述的基于遥感影像瓦片数据的地图绘制方法,其特征在于:所述步骤F中将响应影像瓦片数据存入数据库包括数据库存储和目录存储两种存取方式;
数据库存储采用MBTiles存储规范将地图瓦片存储到一个数据库中,并通过瓦片的ID号在不同三维坐标系中引用瓦片;
目录存储具体为:将瓦片数据存储至桑层存储目录中,第一层存储目录为瓦片数据来源对应的目录,第二层存储目录为瓦片数据所述的层级号,第三层存储目录为瓦片数据所述的行号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910160966.4A CN110059143B (zh) | 2019-03-04 | 2019-03-04 | 一种基于遥感影像瓦片数据的地图绘制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910160966.4A CN110059143B (zh) | 2019-03-04 | 2019-03-04 | 一种基于遥感影像瓦片数据的地图绘制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110059143A true CN110059143A (zh) | 2019-07-26 |
CN110059143B CN110059143B (zh) | 2022-11-22 |
Family
ID=67316562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910160966.4A Active CN110059143B (zh) | 2019-03-04 | 2019-03-04 | 一种基于遥感影像瓦片数据的地图绘制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110059143B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851849A (zh) * | 2019-11-12 | 2020-02-28 | 西安中科星图空间数据技术有限公司 | 一种免费地图影像数据的加密方法及装置 |
CN111681294A (zh) * | 2020-05-07 | 2020-09-18 | 天津市测绘院 | 一种基于边缘计算的网络瓦片地图高性能渲染方法及系统 |
CN111753038A (zh) * | 2020-06-28 | 2020-10-09 | 中国平安财产保险股份有限公司 | 一种地图数据的渲染方法及系统 |
CN112015802A (zh) * | 2020-08-14 | 2020-12-01 | 四川云恒数联科技有限公司 | 一种企业活跃度大数据分析可视化的动态配置交互方法 |
CN112070775A (zh) * | 2020-09-29 | 2020-12-11 | 成都星时代宇航科技有限公司 | 遥感图像优化处理方法,装置,电子设备及存储介质 |
CN112330806A (zh) * | 2020-11-27 | 2021-02-05 | 成都紫瑞青云航空宇航技术有限公司 | 一种基于低功耗硬件平台的视景合成方法及系统 |
CN112530549A (zh) * | 2020-12-03 | 2021-03-19 | 武汉联影医疗科技有限公司 | 图像显示方法、装置和计算机设备 |
CN112902968A (zh) * | 2021-02-01 | 2021-06-04 | 成都紫瑞青云航空宇航技术有限公司 | 一种高效率三维数字导航地球生成方法及系统 |
CN112991535A (zh) * | 2021-04-19 | 2021-06-18 | 中国人民解放军国防科技大学 | 高度信息增强墨卡托地图的三维空间态势表征方法和装置 |
CN113032604A (zh) * | 2021-05-28 | 2021-06-25 | 航天宏图信息技术股份有限公司 | 一种遥感影像处理方法、装置、电子设备及存储介质 |
CN113933842A (zh) * | 2021-12-21 | 2022-01-14 | 南京天朗防务科技有限公司 | Sar图像快速交互显示方法和电子装置 |
CN114266872A (zh) * | 2022-03-01 | 2022-04-01 | 西安羚控电子科技有限公司 | 一种基于真实地形数据的三维地形仿真方法及系统 |
CN114413902A (zh) * | 2021-11-08 | 2022-04-29 | 北京航天世景信息技术有限公司 | 一种离线移动端导航技术实现方法 |
CN114820967A (zh) * | 2022-04-28 | 2022-07-29 | 四川见山科技有限责任公司 | 一种分层影像数据实时绘制方法及系统 |
CN116822472A (zh) * | 2023-08-31 | 2023-09-29 | 青岛诺亚信息技术有限公司 | 一种快速拉取多源数据填充复杂界面表单的方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105608191A (zh) * | 2015-12-23 | 2016-05-25 | 云南电网有限责任公司 | 一种基于EnersunWebCache动态生成缓存电网地图瓦片的方法 |
WO2016131390A1 (zh) * | 2015-02-16 | 2016-08-25 | 高德软件有限公司 | 电子地图展示方法、装置及电子设备 |
-
2019
- 2019-03-04 CN CN201910160966.4A patent/CN110059143B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016131390A1 (zh) * | 2015-02-16 | 2016-08-25 | 高德软件有限公司 | 电子地图展示方法、装置及电子设备 |
CN105608191A (zh) * | 2015-12-23 | 2016-05-25 | 云南电网有限责任公司 | 一种基于EnersunWebCache动态生成缓存电网地图瓦片的方法 |
Non-Patent Citations (2)
Title |
---|
罗智勇等: "基于数据库存储方案的高性能瓦片地图服务研究", 《地理与地理信息科学》 * |
邹翔等: "基于WebGIS的油田信息查询系统", 《太赫兹科学与电子信息学报》 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851849A (zh) * | 2019-11-12 | 2020-02-28 | 西安中科星图空间数据技术有限公司 | 一种免费地图影像数据的加密方法及装置 |
CN111681294A (zh) * | 2020-05-07 | 2020-09-18 | 天津市测绘院 | 一种基于边缘计算的网络瓦片地图高性能渲染方法及系统 |
CN111681294B (zh) * | 2020-05-07 | 2023-06-13 | 天津市测绘院有限公司 | 一种基于边缘计算的网络瓦片地图高性能渲染方法及系统 |
CN111753038A (zh) * | 2020-06-28 | 2020-10-09 | 中国平安财产保险股份有限公司 | 一种地图数据的渲染方法及系统 |
CN111753038B (zh) * | 2020-06-28 | 2023-06-02 | 中国平安财产保险股份有限公司 | 一种地图数据的渲染方法及系统 |
CN112015802A (zh) * | 2020-08-14 | 2020-12-01 | 四川云恒数联科技有限公司 | 一种企业活跃度大数据分析可视化的动态配置交互方法 |
CN112015802B (zh) * | 2020-08-14 | 2021-05-07 | 四川云恒数联科技有限公司 | 一种企业活跃度大数据分析可视化的动态配置交互方法 |
CN112070775B (zh) * | 2020-09-29 | 2021-11-09 | 成都星时代宇航科技有限公司 | 遥感图像优化处理方法,装置,电子设备及存储介质 |
CN112070775A (zh) * | 2020-09-29 | 2020-12-11 | 成都星时代宇航科技有限公司 | 遥感图像优化处理方法,装置,电子设备及存储介质 |
CN112330806A (zh) * | 2020-11-27 | 2021-02-05 | 成都紫瑞青云航空宇航技术有限公司 | 一种基于低功耗硬件平台的视景合成方法及系统 |
CN112330806B (zh) * | 2020-11-27 | 2022-11-01 | 成都紫瑞青云航空宇航技术有限公司 | 一种基于低功耗硬件平台的视景合成方法及系统 |
CN112530549A (zh) * | 2020-12-03 | 2021-03-19 | 武汉联影医疗科技有限公司 | 图像显示方法、装置和计算机设备 |
CN112530549B (zh) * | 2020-12-03 | 2023-09-29 | 武汉联影医疗科技有限公司 | 图像显示方法、装置和计算机设备 |
CN112902968A (zh) * | 2021-02-01 | 2021-06-04 | 成都紫瑞青云航空宇航技术有限公司 | 一种高效率三维数字导航地球生成方法及系统 |
CN112991535A (zh) * | 2021-04-19 | 2021-06-18 | 中国人民解放军国防科技大学 | 高度信息增强墨卡托地图的三维空间态势表征方法和装置 |
CN113032604A (zh) * | 2021-05-28 | 2021-06-25 | 航天宏图信息技术股份有限公司 | 一种遥感影像处理方法、装置、电子设备及存储介质 |
CN114413902A (zh) * | 2021-11-08 | 2022-04-29 | 北京航天世景信息技术有限公司 | 一种离线移动端导航技术实现方法 |
CN113933842A (zh) * | 2021-12-21 | 2022-01-14 | 南京天朗防务科技有限公司 | Sar图像快速交互显示方法和电子装置 |
CN114266872A (zh) * | 2022-03-01 | 2022-04-01 | 西安羚控电子科技有限公司 | 一种基于真实地形数据的三维地形仿真方法及系统 |
CN114820967B (zh) * | 2022-04-28 | 2022-09-27 | 四川见山科技有限责任公司 | 一种分层影像数据实时绘制方法及系统 |
CN114820967A (zh) * | 2022-04-28 | 2022-07-29 | 四川见山科技有限责任公司 | 一种分层影像数据实时绘制方法及系统 |
CN116822472A (zh) * | 2023-08-31 | 2023-09-29 | 青岛诺亚信息技术有限公司 | 一种快速拉取多源数据填充复杂界面表单的方法及系统 |
CN116822472B (zh) * | 2023-08-31 | 2023-11-17 | 青岛诺亚信息技术有限公司 | 一种快速拉取多源数据填充复杂界面表单的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110059143B (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110059143A (zh) | 一种基于遥感影像瓦片数据的地图绘制方法 | |
AU2019204746B2 (en) | Managing map elements using aggregate feature identifiers | |
CN110018742B (zh) | 一种网络虚拟旅游系统的构建方法 | |
CN107423445B (zh) | 一种地图数据处理方法、装置及存储介质 | |
CN103077239B (zh) | 基于云渲染的iFrame嵌入式Web3D系统 | |
EP2643820B1 (en) | Rendering and navigating photographic panoramas with depth information in a geographic information system | |
KR100956416B1 (ko) | 3차원 지리 정보 클라이언트 장치와 서버 장치 및 이를포함한 3차원 지리 정보 시스템 | |
JP2010504560A (ja) | デジタル地図上にグラフィック・オブジェクトを表示する方法およびシステム | |
Noguera et al. | Navigating large terrains using commodity mobile devices | |
CN114297206B (zh) | 精细化高效动态瓦片地图服务发布方法、介质及电子设备 | |
CN102148818A (zh) | 移动设备上实现分布式虚拟现实与可视化的方法及系统 | |
CN105447101A (zh) | 一种地图引擎实现方法及装置 | |
CN111354084A (zh) | 一种基于三维模型瓦片的网络地理信息服务系统 | |
US8896617B2 (en) | Multi-resolution texture aggregation | |
Boutsi et al. | Interactive online visualization of complex 3D geometries | |
Noguera et al. | A scalable architecture for 3D map navigation on mobile devices | |
Meijers et al. | Web-based dissemination of continuously generalized space-scale cube data for smooth user interaction | |
Masood et al. | High‐performance virtual globe GPU terrain rendering using game engine | |
CA2567631A1 (en) | Displaying graphical textures | |
US11119811B2 (en) | Interactive device for displaying web page data in three dimensions | |
Ran et al. | Research and implementation of three-dimensional visualization based on Internet | |
Ortega et al. | Rendering large datasets of georeferenced markers in mobile devices | |
Junghare et al. | Technical analysis of remote 3D visualization on mobile devices | |
KR100986621B1 (ko) | 다이너믹 맵 서비스 시스템 및 방법 | |
You et al. | From 2D web map to mobile 3D mirror world: A live virtual advertising use case |
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 |