CN107749074A - 一种用于绘制地图的方法、装置和计算设备 - Google Patents
一种用于绘制地图的方法、装置和计算设备 Download PDFInfo
- Publication number
- CN107749074A CN107749074A CN201710918749.8A CN201710918749A CN107749074A CN 107749074 A CN107749074 A CN 107749074A CN 201710918749 A CN201710918749 A CN 201710918749A CN 107749074 A CN107749074 A CN 107749074A
- Authority
- CN
- China
- Prior art keywords
- entity
- content components
- computing device
- data source
- gis 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/80—Creating or modifying a manually drawn or painted image using a manual input device, e.g. mouse, light pen, direction keys on keyboard
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种用于绘制地图的装置,驻留在计算设备中,计算设备包括显示器,该装置包括:数据接收模块,适于接收一个或者多个GIS数据源,该GIS数据源用于表示地图中的图形;实体构造模块,适于根据所接收的GIS数据源,构造对应于地图中一个或多个图形的实体,该实体包括一个或多个内容组件,该内容组件描述实体对应的图形;以及图形绘制模块,适于加载所构造的实体中包含的内容组件,绘制该内容组件描述的图形,并经由计算设备的显示器呈现。本发明还公开了对应的方法、计算设备和可读存储介质。
Description
技术领域
本发明涉及地图可视化领域,尤其涉及一种用于绘制地图的方法、装置和计算设备。
背景技术
在信息时代之前,地图通常被印制在纸或其它不可修改、非交互式的介质上,不允许用户修改任何信息。当新信息出现时,地图也不能被更新。
随着网络通信技术、智能硬件的迅速发展,现今地图可被在多种设备上运行的软件应用显示,设备包括台式计算机设备、移动电话、汽车导航系统、手持式全球定位系统(GPS)单元、平板或膝上型计算机等。根据应用和/ 或用户偏好,地图可显示地形数据、街道数据、城市运输信息、交通数据等。甚至,用户可操作各种输入设备(鼠标和键盘等)以例如改变缩放水平或将地图摇摄至新的位置。
目前,通过逐个遍历地图中每个图形的数据(形状、名称、高度、数值等)来将其绘制出来。因此一旦数据量过大,绘制地图会变得相当艰难和缓慢。对于配置较低的设备,这种情况愈加明显。此外,用户交互方式也较为单一,难以展现地图中图形的细节,用户沉浸感不足。并且若用户交互导致图形的数据发生变化,则需要重绘整个地图,性能与用户体验欠佳。
因此,迫切需要一种更先进的用于绘制地图的方案。
发明内容
为此,本发明提供一种用于绘制地图的方法、装置和计算设备,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种用于绘制地图的装置,驻留在计算设备中,计算设备包括显示器,该装置包括:数据接收模块,适于接收一个或者多个GIS数据源,GIS数据源用于表示地图中的图形;实体构造模块,适于根据所接收的GIS数据源,构造对应于地图中一个或多个图形的实体,实体包括一个或多个内容组件,内容组件描述实体对应的图形;以及图形绘制模块,适于加载所构造的实体中包含的内容组件,绘制内容组件描述的图形,并经由计算设备的显示器呈现。
在根据本发明的装置中,实体构造模块还适于:根据GIS数据源,创建描述GIS数据源表示的图形的内容组件;还适于将相应的内容组件载入所构造的实体中。
在根据本发明的装置中,内容组件包括其描述的图形所在的图层,图形绘制模块适于根据该图层来判断是否进行分层渲染。
在根据本发明的装置中,图形绘制模块还适于根据预置的全局配置参数来绘制图形,全局配置参数包括默认图层、图形渲染效果、全局字体设置、全局文字颜色、全局文字大小中的至少一个。
在根据本发明的装置中,实体还包括一个或多个事件组件,事件组件定义针对实体的交互事件,并包括交互事件的触发条件和触发动作,计算设备连接有输入设备,该装置还包括:交互控制模块,适于获取所构造的实体中包含的事件组件,并注册事件组件定义的交互事件;还适于经由计算设备的输入设备接收用户的输入,并根据输入触发相应的交互事件。
在根据本发明的装置中,实体构造模块还适于:创建定义交互事件的事件组件,并将相应的事件组件载入所构造的实体中。
在根据本发明的装置中,交互控制模块还适于当检测到用户针对地图上图形的输入满足触发条件时,获取该图形对应的实体;查找实体的事件组件所定义的对应于触发条件的交互事件;执行查找到的交互事件的触发动作;以及实体构造模块适于根据执行的触发动作来更新实体的内容组件,并将更新后的内容组件重载入实体中。
在根据本发明的装置中,图形绘制模块还适于加载实体中更新后的内容组件,绘制更新后的内容组件描述的图形,并经由计算设备的显示器呈现。
在根据本发明的装置中,交互事件的触发条件包括以下中的至少一个:鼠标单击、鼠标双击、光标悬停、光标移除、实体碰撞、手势拾取、手势投掷、擦、拨/翻转、捅/戳、拉伸/展开、以及按/压。
在根据本发明的装置中,输入设备包括以下中的至少一个:鼠标、键盘、以及VR输入设备。
根据本发明的另一个方面,提供了一种用于绘制地图的方法,适于在计算设备中执行,计算设备包括显示器,该方法包括步骤:接收一个或者多个GIS 数据源,GIS数据源用于表示地图中的图形;根据所接收的GIS数据源,构造对应于地图中一个或多个图形的实体,实体包括一个或多个内容组件,内容组件描述实体对应的图形;以及加载所构造的实体中包含的内容组件,绘制内容组件描述的图形,并经由计算设备的显示器呈现。
在根据本发明的方法中,根据所接收的GIS数据源,构造对应于地图中一个或多个图形的实体的步骤包括:根据GIS数据源,创建描述GIS数据源表示的图形的内容组件;构造实体,并将相应的内容组件载入所构造的实体中。
在根据本发明的方法中,内容组件包括其描述的图形所在的图层,绘制内容组件描述的图形的步骤包括:根据该图层来判断是否进行分层渲染。
在根据本发明的方法中,绘制内容组件描述的图形的步骤包括:根据预置的全局配置参数来绘制图形,全局配置参数包括默认图层、图形渲染效果、全局字体设置、全局文字颜色、全局文字大小中的至少一个。
在根据本发明的方法中,实体还包括一个或多个事件组件,事件组件定义针对实体的交互事件,并包括交互事件的触发条件和触发动作,计算设备连接有输入设备,该方法还包括步骤:获取所构造的实体中包含的事件组件,并注册事件组件定义的交互事件;以及经由计算设备的输入设备接收用户的输入,并根据输入触发相应的交互事件。
在根据本发明的方法中,根据所接收的GIS数据源,构造对应于地图中一个或多个图形的实体的步骤还包括:创建定义交互事件的事件组件,并将相应的事件组件载入所构造的实体中。
在根据本发明的方法中,根据输入触发相应的交互事件的步骤包括:当检测到用户针对地图上图形的输入满足触发条件时,获取图形对应的实体;查找实体的事件组件所定义的对应于触发条件的交互事件;执行查找到的交互事件的触发动作;以及该方法还包括步骤:在执行触发动作之后,根据执行的触发动作来更新实体的内容组件,并将更新后的内容组件重载入实体中。
在根据本发明的方法中,方法还包括步骤:在将更新后的内容组件重载入实体中之后,加载实体中更新后的内容组件;绘制更新后的内容组件描述的图形,并经由计算设备的显示器呈现。
在根据本发明的方法中,交互事件的触发条件包括以下中的至少一个:鼠标单击、鼠标双击、光标悬停、光标移除、实体碰撞、手势拾取、手势投掷、擦、拨/翻转、捅/戳、拉伸/展开、以及按/压。
在根据本发明的方法中,输入设备包括以下中的至少一个:鼠标、键盘、以及VR输入设备。
根据本发明的另一个实施方式,提供了一种计算设备,包括:存储器;一个或多个处理器;以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本发明的用于绘制地图的方法中的任一方法的指令
根据本发明的还有一个实施方式,提供了一种存储程序的可读存储介质,程序包括指令,指令当由计算设备执行时,使得计算设备执行根据本发明的用于绘制地图的方法中的任一方法。
根据本发明的用于绘制地图的方案,通过实体-组件-系统(ECS)架构,将地图中的一个或多个图形封装为包括内容组件和事件组件的实体,内容描述实体的图形,事件组件定义交互事件,并且,组件与组件、实体与实体间可灵活继承、复用,因此能够更精细地刻画图形细节,并实现图形间的业务分离,为不同图形的差异化特性提供可能。而后,使用异步方式载入实体并对内容组件描述的图形进行分层渲染,可大大提升图形加载和响应速度。
进一步地,利用WebVR接口实现的事件组件可定义更多类型的交互事件(抓取、投掷、拉伸等),给用户新的交互体验,同时还支持基于VR输入设备的交互事件,从而提供更精确、直观的操控方式,使用户在查看可视化图形的同时能够进行一些创造性的操作,直观灵活地挖掘数据内涵。
进一步地,当实体新增内容组件或内容组件的内容改变时,可直接对该内容组件描述的图形进行操作,实现局部更新,因而能够有效提升性能和用户体验。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示例性地示出计算设备100的结构框图;
图2示例性地示出根据本发明一个实施方式的用于绘制地图的装置200 的结构框图;以及
图3示例性地示出根据本发明一个实施方式的用于绘制地图的方法300 的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示例性地示出计算设备100的结构框图。在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器((μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存 112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个程序122以及数据124。数据124可以包括可用于执行指令的程序数据128。在一些实施方式中,程序122可以被配置为在操作系统120上由一个或者多个处理器104利用程序数据128执行指令。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备 142、外设接口144和通信设备146)到基本配置202经由总线/接口控制器 230的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口 152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口 144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器 160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
其中,程序122可以被配置为在操作系统120上由一个或者多个处理器 104执行的例如Mozilla Firefox、Microsoft Edge和Google Chrome之类的网页浏览器,根据本发明的用于绘制地图的装置可以驻留在网页浏览器中,以将地图绘制出来经由计算设备100的显示器呈现给用户。当然,根据本发明的用于绘制地图的装置还可以实现为一种网页浏览器。
图2示例性地示出根据本发明一个实施方式的用于绘制地图的装置200 的结构框图。如图2所示,用于绘制地图的装置基于实体-组件-系统 (ECS)架构实现,并可以包括数据接收模块220、实体构造模块240和图形绘制模块260。
数据接收模块220可以从地理信息系统接收一个或者多个GIS数据源。地理信息系统(Geographic Information System或Geo-Information system, GIS)是一种特定的十分重要的空间信息系统,它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。
GIS数据源则可以用于表示现实世界中的客观对象,也就是在地图中呈现出来的图形。GIS数据源可以包括栅格数据和矢量数据。栅格数据由存放唯一值存储单元的行和列组成。它与栅格图像是类似的,除了使用合适的颜色之外,各个单元记录的数值也可能是一个分类组(例如土地使用状况)、一个连续的值(例如降雨量)或是当数据不是可用时记录的一个空值。栅格数据集的分辨率取决于地面单位的网格宽度。通常存储单元代表地面的方形区域,但也可以用来代表其它形状。栅格数据既可以用来代表一块区域,也可以用来表示一个实物。
矢量数据则利用了几何图形例如点、线(一系列点坐标),或是面(形状决定于线)来表现客观对象。例如,在住房细分中以多边形来代表物产边界,以点来精确表示位置。矢量同样可以用来表示具有连续变化性的领域。利用等高线和不规则三角形格网(TIN)来表示海拔或其他连续变化的值。 TIN的记录对于这些连接成一个由三角形构成的不规则网格的点进行评估。三角形所在的面代表地形表面。本发明中所采用的通常是诸如GeoJson、shadefile、或dbase等格式的矢量数据。
以下是一个GeoJson格式的GIS数据源的示例:
此外,根据本发明的一个实施方式,数据接收模块220还可以将现有单一的GIS数据源拆分成多个相互分离的数据文件,以便实体构造模块240可以据此创建多个描述更小的图形或是描述图形的某个属性(外观、纹理等) 的内容组件,从而后续在绘制时可以更细致入微刻画图形,表现复杂多样的图形结构信息,有效提升数据可视化的视觉呈现,提高信息容量。
因此,本发明中的内容组件不仅可以描述图形,也可以仅描述图形的一个属性,后续不再对此进行赘述。
实体构造模块240可以与数据接收模块220相连接,从数据接收模块 220接收一个或者多个GIS数据源,并根据所接收的GIS数据源,构造对应于地图中一个或多个图形的实体,该实体可以包括一个或多个内容组件,内容组件描述实体对应的图形,例如描述图形的外观、纹理、位置等。根据本发明的一个实施方式,实体还可以包括一个或多个事件组件,事件组件定义针对该实体的交互事件。其中,实体要对应的图形和要配置的交互事件可以根据用户的需求而确定。
具体地,实体构造模块240可以先根据GIS数据源,创建描述GIS数据源表示的图形的内容组件,创建的内容组件至少可以包括组件标识、其描述的图形所在的图层、以及其根据的GIS数据源。
在一个实施例中,可以通过以下代码,根据格式为GeoJson、名称为 MyPuppyHouse的GIS数据源创建一个内容组件:
其中,Painter表示内容组件,static schema函数中定义的id为组件标识,appearance为内容组件根据的GIS数据源,layer为内容组件描述的图形所在的图层。update()可以用于更新GIS数据源中的内容,remove()可以用于删除图层。这样,根据不同的GIS数据生成的内容组件可以描述不同的图形。
在创建内容组件的同时,实体构造模块240还可以创建定义交互事件的事件组件,创建的事件组件至少包括交互事件的触发条件和触发动作。由于本发明可以通过WebVR接口来实现事件组件的创建,因而可以提供给用户更多样的交互体验。
在一个实施例中,可以通过以下代码来创建一个事件组件:
其中,event为该交互事件的触发条件,handler为该交互事件的触发动作,remove()用于删除该交互事件。通过配置不同的触发条件和触发动作,可以定义不同的交互事件。
根据本发明的一个实施方式,交互事件的触发条件(即交互事件的类型)可以包括以下中的至少一个:鼠标单击(click)、鼠标双击 (dbclick)、光标悬停(mouseover)、光标移除(mouseout)、实体碰撞 (collide)、手势拾取(grab)、手势投掷(throw)、擦(rub)、拨/翻转 (flip)、捅/戳(poke)、拉伸/展开(stretch)、以及按/压(press)。
创建内容组件和事件组件之后,实体构造模块240可以构造实体,并将该实体要对应的图形的内容组件、以及该实体要配置的交互事件载入所构造的实体中。在一个实施例中,可以通过以下代码来构造实体并载入相应的内容组件和事件组件:
其中,构造的实体为MyPuppyHouse,在实体MyPuppyHouse中载入 GIS数据源为MyPuppyHouse(通过fetchGeoJSON方法获得)、组件标识为 MyPuppyHouse的内容组件,以及触发条件为mouseover的事件组件。也就是说,该实体对应于一个图形MyPuppyHouse,并具有触发条件为mouseover 的交互事件。
此外,基于ECS架构的灵活性,还可以在实体中再封装一个或多个图形,也就是新加入一个或多个描述图形的内容组件。在一个实施例中,可以通过以下代码实现:
其中,除了组件标识为MyPuppyHouse的内容组件之外,新增加了组件标识为Garden的内容组件,其GIS数据源为anotherGeojson,即另一个GIS 数据源了,同样可以通过前述的fetchGeoJSON方法来得到。
还可以为该实体配置其他交互事件,也就是新加入一个或多个定义交互事件的事件组件。在一个实施例中,可以通过以下代码实现:
其中,新增加了触发条件为click的交互事件。
需要注意的是,诸如鼠标单击、鼠标双击、光标悬停、光标移除这样的标准交互事件可以通过上述代码来实现,但诸如手势拾取(grab)、手势投掷(throw)的非标准交互事件属于第三方组件提供的交互事件,需要使用第三方组件来实现,例如可以通过以下代码来为实体载入一个触发条件为grab 的交互事件:
其中,使用registerControllers方法来注册第三方组件HandController,HandController是一个支持3DoF设备(即VR输入设备)操控的组件。
在构造实体之后,实体构造模块240可以将实体发送至与其连接的图形绘制模块260。图形绘制模块260接收实体,加载所构造的实体中包含的内容组件,绘制出内容组件描述的图形,并经由计算设备100的显示器呈现给用户。其中,若有多个实体,则图形绘制模块260可以异步地载入这些实体,并根据载入完成的顺序依次绘制。
具体地,根据本发明的一个实施方式,图形绘制模块260可以根据预置的全局配置参数来绘制图形,全局配置参数包括默认图层(所有图形默认绘制在默认图层)、图形渲染效果(是否使用SSAO渲染图形,SSAO全称为 Screen Space Ambient Occlusion,即屏幕空间环境光遮罩,一种用于在计算机图形中实时实现近似环境光遮蔽效果的渲染技术)、全局字体设置、全局文字颜色、全局文字大小中的至少一个。
以下是一个全局配置参数的示例:
其中,根据本发明的另一个实施方式,图形绘制模块260还可以根据内容组件中的图形所在的图层来判断是否进行分层渲染。例如,若内容组件中指定了图层,且不为全局配置的默认图层,则将图形分层渲染。若内容组件中没有指定图层,则在默认图层进行渲染。这样,提高了图形绘制的性能,提高了图形加载和响应速度。
根据本发明的一个实施方式,如图2所示,用于绘制地图的装置200还可以包括交互控制模块280。交互控制模块280与实体构造模块240连接,还与计算设备100的输入设备连接。计算设备100的输入设备可以包括鼠标、键盘、以及VR输入设备(例如3DoF或6DoF设备)。
交互控制模块280可以从实体构造模块240获取所构造的实体中包含的事件组件,并在计算设备100的存储器中注册事件组件定义的交互事件。而后,还可以经由计算设备100的输入设备接收用户的输入,并根据该输入触发所注册的相应的交互事件。
其中,交互事件具有唯一的事件索引,该事件索引由该交互事件的命名空间和该命名空间下该交互事件的事件标识构成,由于命名空间 (NameSpace)使用实体的名字,且该命名空间下该交互事件的事件标识 (eventId)是唯一的,因而通过“NameSpace+EventId”构成的事件索引也具有唯一性,便于交互事件的快速触发且不造成污染。
以下是一个在存储器中注册的交互事件的示例:
其中,eventName表示触发条件,eventHandler表示触发动作。
注册交互事件之后,当交互控制模块280检测到用户针对地图上图形的输入满足触发条件时,可以先获取到该图形对应的实体。而后去查找该实体的事件组件所定义的对应于所满足的触发条件的交互事件,并执行查找到的交互事件的触发动作。其中,交互控制模块280可以通过该事件的事件索引很快地在存储器中匹配到对应的交互事件,并执行该交互事件的触发动作。
执行触发动作之后,实体构造模块240可以根据执行的触发动作来更新实体的内容组件,并将更新后的内容组件重载入实体中。接着图形绘制模块 260可以加载实体中更新后的内容组件,绘制更新后的内容组件描述的图形,并经由计算设备100的显示器呈现。通过这种逐层驱动组件、实体的更新和传递,可以为数据可视化实践从事件驱动到数据驱动的转变提供可能。并且,当图形的内容组件改变或新增时,可以直接在该图形上进行操作,实现局部更新,能够更有效地提升性能和用户体验。
图3示例性地示出根据本发明一个实施方式的用于绘制地图的方法300 的流程图。如图3所示,该方法300始于步骤S310,并适于在计算设备100 中执行。
在步骤S310中,接收一个或者多个GIS数据源,GIS数据源用于表示地图中的图形。而后在步骤S320中,根据所接收的GIS数据源,构造对应于地图中一个或多个图形的实体,实体包括一个或多个内容组件,内容组件描述实体对应的图形。根据本发明的一个实施方式,实体还可以包括一个或多个事件组件,事件组件定义针对实体的交互事件,并包括交互事件的触发条件和触发动作。其中,交互事件的触发条件可以包括以下中的至少一个:鼠标单击、鼠标双击、光标悬停、光标移除、实体碰撞、手势拾取、手势投掷、擦、拨/翻转、捅/戳、拉伸/展开、以及按/压。
其中,可以先根据GIS数据源,创建描述GIS数据源表示的图形的内容组件,创建定义交互事件的事件组件,再构造实体,并将相应的内容组件载入所构造的实体中。
而后在步骤S330中,加载所构造的实体中包含的内容组件,绘制内容组件描述的图形,并经由计算设备100的显示器呈现。其中,内容组件包括其描述的图形所在的图层,绘制内容组件描述的图形的步骤可以包括:根据该图层来判断是否进行分层渲染。
根据本发明的一个实施方式,可以根据预置的全局配置参数来绘制图形,该全局配置参数包括默认图层、图形渲染效果、全局字体设置、全局文字颜色、全局文字大小中的至少一个。
此外,用于绘制地图的方法300还可以包括步骤:获取所构造的实体中包含的事件组件,并注册事件组件定义的交互事件。而后经由计算设备的输入设备100接收用户的输入,并根据该输入触发相应的交互事件。其中,输入设备可以包括以下中的至少一个:鼠标、键盘、以及VR输入设备。
具体地,当检测到用户针对地图上图形的输入满足触发条件时,获取该图形对应的实体,查找该实体的事件组件所定义的对应于所满足的触发条件的交互事件,并执行查找到的交互事件的触发动作。
在执行触发动作之后,还可以根据执行的触发动作来更新实体的内容组件,并将更新后的内容组件重载入实体中。
接着,可以加载实体中更新后的内容组件,绘制更新后的内容组件描述的图形,并再经由计算设备100的显示器呈现。
以上在结合图1和图2对用于绘制地图的装置200的具体描述中已经对各步骤的相应处理进行了详细解释,这里不再对重复内容进行赘述。
应当理解,这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被该机器执行时,该机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的该程序代码中的指令,执行本发明的各种方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
本发明还可以包括:A5、如A1所述的装置,其中,所述实体还包括一个或多个事件组件,所述事件组件定义针对所述实体的交互事件,并包括所述交互事件的触发条件和触发动作,所述计算设备连接有输入设备,所述装置还包括:交互控制模块,适于获取所构造的实体中包含的事件组件,并注册所述事件组件定义的交互事件;还适于经由所述计算设备的输入设备接收用户的输入,并根据所述输入触发相应的交互事件。A6、如A5所述的装置,其中,所述实体构造模块还适于:创建定义交互事件的事件组件,并将相应的事件组件载入所构造的所述实体中。A7、如A5或6所述的装置,其中,所述交互控制模块还适于当检测到用户针对地图上图形的输入满足触发条件时,获取所述图形对应的实体;查找所述实体的事件组件所定义的对应于所述触发条件的交互事件;执行查找到的交互事件的触发动作;以及所述实体构造模块适于根据执行的触发动作来更新实体的内容组件,并将更新后的内容组件重载入所述实体中。A8、如A7所述的装置,其中,所述图形绘制模块还适于加载所述实体中更新后的内容组件,绘制更新后的内容组件描述的图形,并经由所述计算设备的显示器呈现。A9、如A1-8中任一个所述的装置,其中,所述交互事件的触发条件包括以下中的至少一个:鼠标单击、鼠标双击、光标悬停、光标移除、实体碰撞、手势拾取、手势投掷、擦、拨/翻转、捅/戳、拉伸/展开、以及按/压。A10、如A1-9中任一个所述的装置,其中,所述输入设备包括以下中的至少一个:鼠标、键盘、以及VR 输入设备。
B15、如B11所述的方法,其中,所述实体还包括一个或多个事件组件,所述事件组件定义针对所述实体的交互事件,并包括所述交互事件的触发条件和触发动作,所述计算设备连接有输入设备,所述方法还包括步骤:获取所构造的实体中包含的事件组件,并注册所述事件组件定义的交互事件;以及经由所述计算设备的输入设备接收用户的输入,并根据所述输入触发相应的交互事件。B16、如B15所述的方法,其中,所述根据所接收的 GIS数据源,构造对应于地图中一个或多个图形的实体的步骤还包括:创建定义交互事件的事件组件,并将相应的事件组件载入所构造的所述实体中。 B17、如B15或16所述的方法,其中,所述根据输入触发相应的交互事件的步骤包括:当检测到用户针对地图上图形的输入满足触发条件时,获取所述图形对应的实体;查找所述实体的事件组件所定义的对应于所述触发条件的交互事件;执行查找到的交互事件的触发动作;以及所述方法还包括步骤:在执行触发动作之后,根据执行的触发动作来更新实体的内容组件,并将更新后的内容组件重载入所述实体中。B18、如B17所述的方法,其中,所述方法还包括步骤:在将更新后的内容组件重载入所述实体中之后,加载所述实体中更新后的内容组件;绘制更新后的内容组件描述的图形,并经由所述计算设备的显示器呈现。B19、如B11-18中任一个所述的方法,其中,所述交互事件的触发条件包括以下中的至少一个:鼠标单击、鼠标双击、光标悬停、光标移除、实体碰撞、手势拾取、手势投掷、擦、拨/翻转、捅/戳、拉伸/展开、以及按/压。B20、如B11-19中任一个所述的方法,其中,所述输入设备包括以下中的至少一个:鼠标、键盘、以及VR输入设备。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (10)
1.一种用于绘制地图的装置,驻留在计算设备中,所述计算设备包括显示器,所述装置包括:
数据接收模块,适于接收一个或者多个GIS数据源,所述GIS数据源用于表示所述地图中的图形;
实体构造模块,适于根据所接收的GIS数据源,构造对应于地图中一个或多个图形的实体,所述实体包括一个或多个内容组件,所述内容组件描述实体对应的图形;以及
图形绘制模块,适于加载所构造的实体中包含的内容组件,绘制所述内容组件描述的图形,并经由所述计算设备的显示器呈现。
2.如权利要求1所述的装置,其中,所述实体构造模块还适于:
根据所述GIS数据源,创建描述所述GIS数据源表示的图形的内容组件;还适于将相应的内容组件载入所构造的所述实体中。
3.如权利要求1所述的装置,其中,所述内容组件包括其描述的图形所在的图层,所述图形绘制模块适于根据该图层来判断是否进行分层渲染。
4.如权利要求1所述的装置,其中,所述图形绘制模块还适于根据预置的全局配置参数来绘制图形,所述全局配置参数包括默认图层、图形渲染效果、全局字体设置、全局文字颜色、全局文字大小中的至少一个。
5.一种用于绘制地图的方法,适于在计算设备中执行,所述计算设备包括显示器,所述方法包括步骤:
接收一个或者多个GIS数据源,所述GIS数据源用于表示所述地图中的图形;
根据所接收的GIS数据源,构造对应于地图中一个或多个图形的实体,所述实体包括一个或多个内容组件,所述内容组件描述实体对应的图形;
以及加载所构造的实体中包含的内容组件,绘制所述内容组件描述的图形,并经由所述计算设备的显示器呈现。
6.如权利要求5所述的方法,其中,所述根据所接收的GIS数据源,构造对应于地图中一个或多个图形的实体的步骤包括:
根据所述GIS数据源,创建描述所述GIS数据源表示的图形的内容组件;
构造所述实体,并将相应的内容组件载入所构造的所述实体中。
7.如权利要求5所述的方法,其中,所述内容组件包括其描述的图形所在的图层,所述绘制内容组件描述的图形的步骤包括:
根据该图层来判断是否进行分层渲染。
8.如权利要求5所述的方法,其中,所述绘制内容组件描述的图形的步骤包括:
根据预置的全局配置参数来绘制图形,所述全局配置参数包括默认图层、图形渲染效果、全局字体设置、全局文字颜色、全局文字大小中的至少一个。
9.一种计算设备,包括:
存储器;
一个或多个处理器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行如权利要求1-4所述的方法中的任一方法的指令。
10.一种存储程序的可读存储介质,所述程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行如权利要求1-4中任一个所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710918749.8A CN107749074B (zh) | 2017-09-30 | 2017-09-30 | 一种用于绘制地图的方法、装置和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710918749.8A CN107749074B (zh) | 2017-09-30 | 2017-09-30 | 一种用于绘制地图的方法、装置和计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107749074A true CN107749074A (zh) | 2018-03-02 |
CN107749074B CN107749074B (zh) | 2021-06-04 |
Family
ID=61254784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710918749.8A Active CN107749074B (zh) | 2017-09-30 | 2017-09-30 | 一种用于绘制地图的方法、装置和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107749074B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108564637A (zh) * | 2018-04-19 | 2018-09-21 | 北京知道创宇信息技术有限公司 | 几何模型排布方法及装置 |
CN112604289A (zh) * | 2020-12-16 | 2021-04-06 | 深圳中清龙图网络技术有限公司 | 游戏地图生成方法、装置、设备和存储介质 |
CN112925843A (zh) * | 2021-05-11 | 2021-06-08 | 成都数联铭品科技有限公司 | 基于图形化界面配置改变地图显示效果的方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051076A (zh) * | 2006-04-03 | 2007-10-10 | 上海市闸北区绿化管理局 | 移动式空间数据采集、处理及发布方法 |
CN102257472A (zh) * | 2008-12-18 | 2011-11-23 | 微软公司 | 数据可视化交互性体系结构 |
US8799799B1 (en) * | 2013-05-07 | 2014-08-05 | Palantir Technologies Inc. | Interactive geospatial map |
CN104007971A (zh) * | 2014-05-28 | 2014-08-27 | 北京理工大学 | 非代码化快速构建大规模虚拟战场仿真平台 |
CN104408137A (zh) * | 2014-11-28 | 2015-03-11 | 武汉大学 | 一种网络统计地图可视化数据制备方法 |
CN105446730A (zh) * | 2015-01-21 | 2016-03-30 | 胡宝清 | 一种资源环境模型库构建方法 |
CN106251385A (zh) * | 2016-07-20 | 2016-12-21 | 南京师范大学 | 脚本驱动的层次化图形构造方法 |
-
2017
- 2017-09-30 CN CN201710918749.8A patent/CN107749074B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051076A (zh) * | 2006-04-03 | 2007-10-10 | 上海市闸北区绿化管理局 | 移动式空间数据采集、处理及发布方法 |
CN102257472A (zh) * | 2008-12-18 | 2011-11-23 | 微软公司 | 数据可视化交互性体系结构 |
US8799799B1 (en) * | 2013-05-07 | 2014-08-05 | Palantir Technologies Inc. | Interactive geospatial map |
CN104007971A (zh) * | 2014-05-28 | 2014-08-27 | 北京理工大学 | 非代码化快速构建大规模虚拟战场仿真平台 |
CN104408137A (zh) * | 2014-11-28 | 2015-03-11 | 武汉大学 | 一种网络统计地图可视化数据制备方法 |
CN105446730A (zh) * | 2015-01-21 | 2016-03-30 | 胡宝清 | 一种资源环境模型库构建方法 |
CN106251385A (zh) * | 2016-07-20 | 2016-12-21 | 南京师范大学 | 脚本驱动的层次化图形构造方法 |
Non-Patent Citations (4)
Title |
---|
PAYAM GHADIRIAN ET AL: "Integration of augmented reality and GIS: A new approach to realistic landscape visualisation", 《LANDSCAPE AND URBAN PLANNING》 * |
朱虹: "MAPGIS中图元属性的建立及其在图形编辑中的作用", 《数字国土》 * |
王卫安 等: "地理信息系统的质量控制", 《万方期刊数据库》 * |
王玉林: "基于GIS的可视化组件开发", 《中国优秀硕士学位论文全文数据库电子期刊 基础科学辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108564637A (zh) * | 2018-04-19 | 2018-09-21 | 北京知道创宇信息技术有限公司 | 几何模型排布方法及装置 |
CN108564637B (zh) * | 2018-04-19 | 2022-03-29 | 北京知道创宇信息技术股份有限公司 | 几何模型排布方法及装置 |
CN112604289A (zh) * | 2020-12-16 | 2021-04-06 | 深圳中清龙图网络技术有限公司 | 游戏地图生成方法、装置、设备和存储介质 |
CN112925843A (zh) * | 2021-05-11 | 2021-06-08 | 成都数联铭品科技有限公司 | 基于图形化界面配置改变地图显示效果的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107749074B (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sidhu et al. | Using Google Earth Engine to detect land cover change: Singapore as a use case | |
CN108415978A (zh) | 用户标签存储方法、用户画像计算方法及计算设备 | |
KR101497172B1 (ko) | 형상을 이용한 디지털 이미지의 외관의 변경 | |
CN110009721A (zh) | 生成由曲线表示的图像的三角网格 | |
CN105339931A (zh) | 用于处理数据容器的方法和设备 | |
CN109271685A (zh) | 一种基于bim的城市更新改造数据存储方法及装置 | |
CN103324393A (zh) | 用于应用实体的3d用户接口 | |
US20140229879A1 (en) | Treemap visualization system and method | |
CN109064390A (zh) | 一种图像处理方法、图像处理装置及移动终端 | |
CN107749074A (zh) | 一种用于绘制地图的方法、装置和计算设备 | |
CN102486802A (zh) | 基于吸引的数据可视化 | |
CN110189246A (zh) | 图像风格化生成方法、装置及电子设备 | |
Delort | Vizualizing large spatial datasets in interactive maps | |
US20150205840A1 (en) | Dynamic Data Analytics in Multi-Dimensional Environments | |
CN104506921A (zh) | 一种动态显示图片的方法及装置 | |
EP3030990A1 (en) | Method for manipulating a computer aided design (cad) model, computer program product and server therefore | |
CN114494024B (zh) | 图像渲染方法、装置、设备及存储介质 | |
CN107391540A (zh) | 一种小程序展示方法、装置及分类器 | |
CN110347458A (zh) | 一种按钮控件展示方法、装置、存储介质及交互智能平板 | |
CN110119270A (zh) | 网页搭建方法、装置、设备和框架 | |
EP3884399A1 (en) | A data filtering device | |
WO2007055946A2 (en) | Automatic element substitution in vector-based illustrations | |
CN109887058A (zh) | 跨平台绘图系统 | |
CN107615229A (zh) | 用户界面装置和用户界面装置的画面显示方法 | |
CN114820988A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 311501, Unit 1, Building 5, Courtyard 1, Futong East Street, Chaoyang District, Beijing 100102 Applicant after: Beijing Zhichuangyu Information Technology Co., Ltd. Address before: 100097 Jinwei Building 803, 55 Lanindichang South Road, Haidian District, Beijing Applicant before: Beijing Knows Chuangyu Information Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |