CN106777063B - 一种图层分级绘制方法 - Google Patents
一种图层分级绘制方法 Download PDFInfo
- Publication number
- CN106777063B CN106777063B CN201611139326.8A CN201611139326A CN106777063B CN 106777063 B CN106777063 B CN 106777063B CN 201611139326 A CN201611139326 A CN 201611139326A CN 106777063 B CN106777063 B CN 106777063B
- Authority
- CN
- China
- Prior art keywords
- pixel
- map
- attribute
- data
- current
- 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
Links
Images
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Processing Or Creating Images (AREA)
- Instructional Devices (AREA)
Abstract
本发明公开了一种图层分级绘制方法,在数据中添加一个属性字段显示比例尺showscale属性;设置全图绘制画板显示的像素分辨率;判断当前的要素的showscale属性是否已经设置,如果没有设置,则以当前像素比进行地图的绘制,并判断绘制的地图要素是否小于一个像素,若是,则将像素坐标相同且像素小于1的要素的showscale属性为当前像素值,若否,则判断绘制的地图要素是否等于一个像素,若是,则数据预处理完成。本发明提供的图层分级绘制方法很好的解决了前端显示的压力,地图分级绘制实时渲染图层的这种机制是采用设置属性的方式来缓解计算量,并且能够按用户的要求进行实时的渲染。
Description
技术领域
本发明属于计算机软件技术领域,具体涉及一种图层分级绘制方法。
背景技术
随着网络技术的发展,网络环境中的地理信息系统(WebGIS)应用越来越广泛,诸如日常生活中的Google地图、MapBar地图等都广泛影响着公众的生活。与以往传统WebGIS方式不同的是,这些现代地图不再在客户端动态地生成地图图片(即客户每产生一次新的地图请求,服务器就需重新生成地图图片并发送至客户端),而是采用了地图缓存服务机制。自从GoogleMap推出Tile Map Image(瓦片式地图)方式后,这种地图缓存服务机制便成为提高地图应用系统性能的关键技术。地图缓存技术中,网络运输代价和数据库存取代价一直是影响系统效率的主要因素。JPEG格式以其超强的压缩能力以及卓越的图像品质,在地图缓存服务机制中被广泛使用。
以往由于数据更新慢,地图缓存数据的更新也很慢,从而导致地图缓存更新一直沿用手工实现方式。现今,随着经济社会的高度发展,人们对快速更新的数据需求变得越来越迫切,而这种由手工实现的地图缓存更新方式就成为了一大瓶颈,且急需得到突破。例如:MapGIS的缓存更新方式,只能实现全局地图的缓存更新而无法对数据更新的范围进行定义(使用1:500比例尺,市级数据的更新约需一天时间);ArcGIS的缓存更新方式,可以实现局部地图缓存更新,但需要人工对更新范围和级别进行定义,这对操作人员的素质也提出了更高的要求。
现有的BS端地图绘制都采用的预切片的技术,事先将大量的地图按照一定的规则制作为缓存,在前端依据缓存生产的规则,在显示不同范围的时候调用不同的缓存进行绘制。
根据以往地图缓存服务的更新方式及更新的实现原理,从数据更新到服务更新,人工操作的实现步骤如下:1.获取数据更新的范围;2.查找更新数据所对应的待更新的服务;3.人工选取需要更新的服务,在缓存更新方案中设置更新范围及更新级别;4.暂时停止对外提供服务。
针对以上4个步骤,有一些厂商已经可以提供局部范围的缓存服务更新、而另一些厂商则不能;在设置地图范围时,采用人工方式设置范围就不如采用计算机自动计算范围准确;在服务关联数据时,人工操作也容易出错。
基于以上原因,越来越多的国内厂商开始意识到图层分级绘制地图以及地图实时渲染的重要性,部分国内厂商已经开始着手研究图层分级绘制地图的功能,但是受制于以往的数据更新和数据处理流程的模式化,其自动缓存更新的流程也存在某种局限性。而国外厂商,尤其是一些平台提供商,其立足点仍放在国外,未充分认识到中国市场强烈的实际需求,仍在采用人工方式进行地图缓存更新。
发明内容:
为了克服上述背景技术的缺陷,本发明提供一种图层分级绘制方法,所采用的技术方案为:
一种图层分级绘制方法,包括:
步骤1,在数据中添加一个属性字段显示比例尺showscale属性;
步骤2,设置全图绘制画板显示的像素分辨率ScaleValue;
步骤3,判断当前的要素的showscale属性是否已经设置,如果没有设置,则进行步骤4;
步骤4,以当前像素比进行地图的绘制,并判断绘制的地图要素是否小于一个像素,若是,则进入步骤5,若否,则判断绘制的地图要素是否等于一个像素,若是,则数据预处理完成;
步骤5,将像素坐标相同且像素小于1的要素的showscale属性设置为当前比例尺;
步骤6,判断当前地图绘制的像素是否等于1,若是,则当前数据预处理完成,若否,则需要将当前全图绘制画图板的显示像素分辨率除以2,且返回步骤3。
较佳地,在步骤6之后还包括:
步骤7,进行数据的计算处理,获取当前图层全图长LayerHeight和宽LayerWidth,显示长ViewHeight和宽ViewWidth,出图分辨率长PixelHeight和宽PixelWidth;
步骤8,根据步骤7中获取的数据,分别计算:
长=PixelHeight*ViewHeight/LayerHeight;
宽=PixelWidth*ViewWidth/LayerWidth;
取长、宽的最大值作为计算值CalcuValue;
步骤9,对于ScaleValue的属性值大于CalcuValue的要素取出构建为图层;如果CalcuValue的要素大于最大的ScaleValue,则取所有的数据构建为图层。
较佳地,显示比例尺showscale属性字段用于根据比例尺进行绘制的过滤。
较佳地,步骤2中像素分辨率默认显示最大像素为2048*2048。
较佳地,步骤5不设置第一个要素的showscale属性。
较佳地,最大的ScaleValue预设为2048。
本发明的有益效果在于:采用设置属性的方式来缓解计算量:在发明此专利前尝试过,实时的计算方式来进行地图的绘制,此尝试会导致在绘制过程中计算量急剧增加,从而使得整个渲染过程变得更慢;按照绘制信息进行计算绘制量:根据之前设置的属性,在绘制的时候经过Sql语句的过滤,将每次绘制的内容降到最低。本发明提供的图层分级绘制方法很好的解决了前端显示的压力,地图分级绘制实时渲染图层的这种机制是采用设置属性的方式来缓解计算量,并且能够按用户的要求进行实时的渲染。提高了地图数据的实时渲染效率的方法。能够很好地解决前端显示的压力,并且能够按用户的要求进行实时的渲染。
附图说明
图1为本发明实施例数据预处理的方法流程图,
图2为本发明实施例计算处理的方法流程图。
具体实施方式
下面结合附图和实施例对本发明做进一步的说明。
无论采用人工的方式构建缓存信息,还是采用自动的方式构建缓存信息,其都存在的问题在于都要预先生成缓存,那么以现有的技术缓存是否是必须的,能否不生成缓存就可以快速的显示地图数据?
同时,地图分级绘制实时渲染图层的这种机制是采用设置属性的方式来缓解计算量:若实时的计算方式来进行地图的绘制,会导致在绘制过程中计算量急剧增加,从而使得整个渲染过程变得更慢;而且这种机制也是按照绘制信息进行计算绘制量:根据之前设置的属性,在绘制的时候经过Sql语句的过滤,将每次绘制的内容降到最低。
本实施例提供的图层分级绘制方法很好的解决了前端显示的压力,并且能够按用户的要求进行实时的渲染。
本发明的目的在于提供一种采用图层分级绘制来提高地图数据的实时渲染效率的方法。能够很好地解决前端显示的压力,并且能够按用户的要求进行实时的渲染。同时,地图分级绘制实时渲染图层的这种机制是采用设置属性的方式来缓解计算量。
下面通过具体的实施例并结合附图对本发明做进一步的详细描述,如图1所示,本实施例的数据预处理部分包括:
步骤1,在数据中添加一个属性字段显示比例尺showscale,此属性字段的主要目的是用于根据比例尺进行绘制的过滤,从而保证每次绘制取数据的规范性和正确性;
步骤2,设置全图绘制画板显示的像素分辨率ScaleValue,一般默认显示最大像素为2048*2048,一般情况下现有的电脑的分辨率为1920,以2048为限构建的图一般为数据的最大显示图;
步骤3,判断当前的要素的showscale属性是否已经设置,如果没有设置,则进入步骤4;
步骤4,以当前像素比去进行地图的绘制,同时要判断绘制的地图要素是否小于一个像素。
如果绘制的地图要素等于一个像素,那么当前数据预处理完成;如果绘制的地图要素小于一个像素,则进入步骤5;
步骤5,根据像素坐标对于像素坐标相同,并且其像素小于1个像素的,设置其showscale的属性设置为当前比例尺,且本步骤不对第一个要素进行处理;
步骤6,判断上述设置完成后,当前地图绘制的像素是否等于1。如果是,则当前数据预处理完成;如果不是,则需要将当前全图绘制画图板的显示像素分辨率除以2(返回至步骤3),直到画图板的像素为1*1为止;
本实施例还包括计算处理的部分,如图2所示,在步骤6之后还包括:
步骤7,进行数据的计算处理,首先要获取当前图层全图长、宽(LayerHeight、LayerWidth)、显示长、宽(ViewHeight、ViewWidth)、出图分辨率长、宽(PixelHeight、PixelWidth);
步骤8,根据步骤7中获取的数据,分别计算:
长=PixelHeight*ViewHeight/LayerHeight;
宽=PixelWidth*ViewWidth/LayerWidth;
取长、宽的最大值作为计算值CalcuValue;
步骤9,对于ScaleValue的属性值大于CalcuValue的要素取出构建为图层;如果CalcuValue的要素大于最大的ScaleValue,最大的ScaleValue预设为2048,则取所有的数据构建为图层。
本发明采用设置属性的方式来缓解计算量:在发明此专利前尝试过,实时的计算方式来进行地图的绘制,此尝试会导致在绘制过程中计算量急剧增加,从而使得整个渲染过程变得更慢;按照绘制信息进行计算绘制量:根据之前设置的属性,在绘制的时候经过Sql语句的过滤,将每次绘制的内容降到最低;
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (5)
1.一种图层分级绘制方法,其特征在于,包括:
步骤1,在数据中添加一个属性字段显示比例尺showscale属性;
步骤2,设置全图绘制画板显示的像素分辨率ScaleValue;
步骤3,判断当前的要素的showscale属性是否已经设置,如果没有设置,则进行步骤4;
步骤4,以当前像素比进行地图的绘制,并判断绘制的地图要素是否小于一个像素,若是,则进入步骤5,若否,则判断绘制的地图要素是否等于一个像素,若是,则数据预处理完成;
步骤5,将像素坐标相同且像素小于1的要素的showscale属性设置为当前比例尺;
步骤6,判断当前地图绘制的像素是否等于1,若是,则当前数据预处理完成,若否,则需要将当前全图绘制画图板的显示像素分辨率除以2,且返回步骤3;
步骤7,进行数据的计算处理,获取当前图层全图长LayerHeight和宽LayerWidth,显示长ViewHeight和宽ViewWidth,出图分辨率长PixelHeight和宽PixelWidth;
步骤8,根据步骤7中获取的数据,分别计算:
长=PixelHeight*ViewHeight/LayerHeight;
宽=PixelWidth*ViewWidth/LayerWidth;
取长、宽的最大值作为计算值CalcuValue;
步骤9,对于ScaleValue的属性值大于CalcuValue的要素取出构建为图层;如果CalcuValue的要素大于最大的ScaleValue,则取所有的数据构建为图层。
2.根据权利要求1所述的一种图层分级绘制方法,其特征在于:所述显示比例尺showscale属性字段用于根据比例尺进行绘制的过滤。
3.根据权利要求1所述的一种图层分级绘制方法,其特征在于:所述步骤2中像素分辨率默认显示最大像素为2048*2048。
4.根据权利要求1所述的一种图层分级绘制方法,其特征在于:所述步骤5不设置第一个要素的showscale属性。
5.根据权利要求1所述的一种图层分级绘制方法,其特征在于:最大的ScaleValue预设为2048。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611139326.8A CN106777063B (zh) | 2016-12-12 | 2016-12-12 | 一种图层分级绘制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611139326.8A CN106777063B (zh) | 2016-12-12 | 2016-12-12 | 一种图层分级绘制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106777063A CN106777063A (zh) | 2017-05-31 |
CN106777063B true CN106777063B (zh) | 2020-06-05 |
Family
ID=58880044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611139326.8A Active CN106777063B (zh) | 2016-12-12 | 2016-12-12 | 一种图层分级绘制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106777063B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427988B (zh) * | 2020-06-11 | 2020-09-18 | 武大吉奥信息技术有限公司 | 一种生成区域分级渲染图的方法、系统及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368259A (zh) * | 2011-10-10 | 2012-03-07 | 北京百度网讯科技有限公司 | 电子地图数据存储和查询方法、装置及系统 |
CN103218787A (zh) * | 2013-04-23 | 2013-07-24 | 国家测绘地理信息局卫星测绘应用中心 | 多源异构遥感影像控制点自动采集方法 |
CN103412863A (zh) * | 2013-06-05 | 2013-11-27 | 东南大学 | 面向嵌入式设备的大容量矢量地图快速可视化实现方法 |
CN103744855A (zh) * | 2013-11-29 | 2014-04-23 | 航天恒星科技有限公司 | 一种基于聚合文件的瓦片地图存储方法 |
CN105718498A (zh) * | 2015-12-11 | 2016-06-29 | 中国地质调查局发展研究中心 | 网络地图混合加载的方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6757431B2 (en) * | 2000-12-19 | 2004-06-29 | Xerox Corporation | Resolution conversion for anti-aliased images using loose gray scale template matching |
US20140184603A1 (en) * | 2012-12-27 | 2014-07-03 | Nvidia Corporation | Method to improve usability of high pixel density displays |
-
2016
- 2016-12-12 CN CN201611139326.8A patent/CN106777063B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368259A (zh) * | 2011-10-10 | 2012-03-07 | 北京百度网讯科技有限公司 | 电子地图数据存储和查询方法、装置及系统 |
CN103218787A (zh) * | 2013-04-23 | 2013-07-24 | 国家测绘地理信息局卫星测绘应用中心 | 多源异构遥感影像控制点自动采集方法 |
CN103412863A (zh) * | 2013-06-05 | 2013-11-27 | 东南大学 | 面向嵌入式设备的大容量矢量地图快速可视化实现方法 |
CN103744855A (zh) * | 2013-11-29 | 2014-04-23 | 航天恒星科技有限公司 | 一种基于聚合文件的瓦片地图存储方法 |
CN105718498A (zh) * | 2015-12-11 | 2016-06-29 | 中国地质调查局发展研究中心 | 网络地图混合加载的方法和装置 |
Non-Patent Citations (1)
Title |
---|
移动地图变比例尺表达方法研究;郭王;《中国优秀硕士学位论文全文数据库 基础科学辑》;20131115(第11(2013)期);第A008-18页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106777063A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150370828A1 (en) | Tile-Based Distribution of Searchable Geospatial Data to Client Devices | |
CN110992469B (zh) | 海量三维模型数据的可视化方法及系统 | |
CN105574102B (zh) | 一种电子地图数据加载的方法及装置 | |
WO2016026384A1 (zh) | 一种客户端页面显示方法、装置及系统 | |
CN107992589B (zh) | 一种svg地图数据的加载方法、装置及系统 | |
EP3519769A1 (en) | Rendering map data using descriptions of raster differences | |
CN110597900B (zh) | 一种gdb数据实时按需生成矢量切片的方法 | |
DE202016006079U1 (de) | Das dynamische Steuern eines Kartenansichtsfensters im Hinblick auf Benutzersignale | |
CN113010793A (zh) | 地图数据处理的方法、装置、设备、存储介质及程序产品 | |
WO2021164131A1 (zh) | 地图展示方法、系统、计算机设备和存储介质 | |
CN109657017B (zh) | 地图中聚合点集的展示方法及装置 | |
US20230222733A1 (en) | Landform map building method and apparatus, electronic device and readable storage medium | |
CN103514235A (zh) | 一种增量码库的建立方法和装置 | |
CN106777063B (zh) | 一种图层分级绘制方法 | |
CN104573083A (zh) | 一种地图缓存服务自动更新方法 | |
CN111382165A (zh) | 一种移动国土管理系统 | |
KR102415821B1 (ko) | 국제 표준 s-101 플랫폼 기반의 gis 웹 서비스 제공 시스템 및 방법 | |
Zhou et al. | Multiresolution spatial databases: Making web-based spatial applications faster | |
CN112883297B (zh) | 网络拓扑显示方法、装置、及电子设备 | |
CN111159480B (zh) | 一种基于电网gis数据的图形绘制方法 | |
CN103092818B (zh) | 报表的缩略图生成系统和缩略图生成方法 | |
CN110347950B (zh) | 一种移动端web地图的显示方法及系统 | |
CN112783385A (zh) | 一种环保监测地图点位标识的动态生成方法 | |
CN109710219B (zh) | 一种基于Openlayers快速加载不同数量级数据的处理方法 | |
CN109525637B (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 |