CN108830911A - 一种在线动态地图生成方法 - Google Patents
一种在线动态地图生成方法 Download PDFInfo
- Publication number
- CN108830911A CN108830911A CN201810522581.3A CN201810522581A CN108830911A CN 108830911 A CN108830911 A CN 108830911A CN 201810522581 A CN201810522581 A CN 201810522581A CN 108830911 A CN108830911 A CN 108830911A
- Authority
- CN
- China
- Prior art keywords
- vertex
- grid
- line
- equal intervals
- vector
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种在线动态地图生成方法,包括选择等间隔格网来实现按行索引的矢量瓦片模型构建、将等间隔格网与原始矢量数据进行切割处理、利用WebGL将矢量切片在前端进行绘制、绘制点、绘制带线宽的实线和绘制多边形,与现有技术相比,本发明结合在线动态地图交互性强、制图过程灵活、和可编辑的特点,实现了在线动态地图的生成方法,具有推广应用的价值。
Description
技术领域
本发明涉及一种地图绘制技术,尤其涉及一种在线动态地图生成方法。
背景技术
根据地图制图规范要求,在绘制境界时,当以线状地物(如水系、交通)为境界时,境界沿线状地物左右间隔绘制。目前传统境界编绘方法是人工手动编辑。现有的在线地图生成采用的是栅格瓦片进行地图数据组织,并且用SVG、convas2D进行前端显示。现有的在线地图采用的栅格瓦片数据结构不能支持在线地图动态编辑。
发明内容
本发明的目的就在于为了解决上述问题而提供一种在线动态地图生成方法。
本发明通过以下技术方案来实现上述目的:
本发明包括以下步骤:
步骤一:选择等间隔格网来实现按行索引的矢量瓦片模型构建;
步骤二:将等间隔格网与原始矢量数据进行切割处理,形成以等间隔格网为基本结构存储单元;
步骤三:利用WebGL将矢量切片在前端进行绘制,其中着色器程序包括顶点着色器和片元着色器,顶点着色器用于设置图形顶点的位置,片元着色器用于设置图形绘制的颜色,在顶点着色器和片元着色器之间,还存在着图形装配过程和光栅化过程,图形装配过程将传入的顶点坐标根据需要装配成特定的几何图形,光栅化过程将装配好的几何图形转化成(内插)片元(像素);
步骤四:绘制点,点包括方点和圆点,其中方点是WebGL中默认采用绘制点形式,无需任何处理;圆点在片元着色器中采用内置的函数distance计算圆点中心到边缘的像元坐标距离,保留距离内的像素;
步骤五:绘制带线宽的实线:①将线条两两顶点取出,以两顶点构成的直线为中心线,进行垂直与该中心线的方向上下平移二分之一线宽距离,形成一个矩形面,并进行三角化,②根据①中计算出来的绘制点P1,P2,P3,推算出P1’,P2‘,P3’位置点,参考绘制圆点的思路,以P2点为圆心,二分之一线宽为半径,小于该半径的保留,大于该半径的移除,绘制形成一个圆头;
步骤六:绘制多边形:利用数据中的顶点和三角化索引,进行多边形面填充绘制,绘制多边形轮廓线的时候将“多余边”滤掉不绘。
本发明的有益效果在于:
本发明是一种在线动态地图生成方法,与现有技术相比,本发明结合在线动态地图交互性强、制图过程灵活、和可编辑的特点,实现了在线动态地图的生成方法,具有推广应用的价值。
附图说明
图1是本发明步骤一构件过程示意图;
图2是步骤三绘制图形的基本过程原理;
图3是步骤五三角化原理图;
图4是步骤五圆角方式绘制原理图;
图5是用户显示纹理贴图结构原理图。
具体实施方式
下面结合附图对本发明作进一步说明:
本发明包括以下步骤:
步骤一:选择等间隔格网来实现按行索引的矢量瓦片模型构建;将投影好的矢量数据按照2的基数划分成了等间隔的格网,采用网络行号和列号进行编码,赋予矢量瓦片唯一的标识,方便对矢量瓦片进行调度和信息检索,其构建过程如下图1所示;
步骤二:将等间隔格网与原始矢量数据进行切割处理,形成以等间隔格网为基本结构存储单元;如图1所示,与格网相交的矢量数据采用完全的数据裁切方式,把这些要素切碎,同时记录每个矢量要素被格网裁切的行列索引号,防止在客户端形成矢量的重复请求与重复绘制,降低单个矢量数据的传输压力。对于面状矢量数据,还需要将切碎形成的“冗余边”进行标示一下,如图1的BC边,这些“冗余边”在线客户端拼接显示时不予绘制出来。
步骤三:利用WebGL将矢量切片在前端进行绘制,其中着色器程序包括顶点着色器和片元着色器,顶点着色器用于设置图形顶点的位置,片元着色器用于设置图形绘制的颜色,在顶点着色器和片元着色器之间,还存在着图形装配过程和光栅化过程,图形装配过程将传入的顶点坐标根据需要装配成特定的几何图形,光栅化过程将装配好的几何图形转化成(内插)片元(像素);其绘制图形的基本过程原理如图2所示;
步骤四:绘制点,点包括方点和圆点,其中方点是WebGL中默认采用绘制点形式,无需任何处理;圆点在片元着色器中采用内置的函数distance计算圆点中心到边缘的像元坐标距离,保留距离内的像素;
步骤五:绘制带线宽的实线:①将线条两两顶点取出,以两顶点构成的直线为中心线,进行垂直与该中心线的方向上下平移二分之一线宽距离,形成一个矩形面,并进行三角化,原理效果图如图3所示,②第一步结束后出现的问题是P2’和P2”’没有光滑过渡,会导致绘制出来的线条太难看,不符合线条常规认知。通常线条交合处有三种方式:尖角、平角和圆角。本文采用圆角的方式进行绘制,原理效果图如图4;根据①中计算出来的绘制点P1,P2,P3,推算出P1’,P2‘,P3’位置点,参考绘制圆点的思路,以P2点为圆心,二分之一线宽为半径,小于该半径的保留,大于该半径的移除,绘制形成一个圆头;
步骤六:绘制多边形:利用数据中的顶点和三角化索引,进行多边形面填充绘制,绘制多边形轮廓线的时候将“多余边”滤掉不绘。
利用此方法生成的在线动态地图,如果仅仅是简单粗暴地进行
“请求-处理-渲染”,那么用户每一次平移,每一缩放都会产生大量的数据请求、处理和渲染工作量,给服务器、客户机带来庞大的运算压力,用户的操作体验极差,所以采用如下两种策略进行性能优化。
数据缓存策略:将每一次请求得到的矢量瓦片数据在内存中以行列号索引和层级索引为主键进行缓存并管理起来,然后根据缓存数据每次做增量请求,降低频繁操作导致的大量数据请求次数;增量请求回来的数据及时进行缓存,同时将当前显示的瓦片缓存位置置顶,超出缓存预设容量的瓦片,进行移除销毁,这样能保存内存数据不会太大的同时,用户关注范围的数据能够缓存起来,提高平台的性能。
显示帧缓存策略:帧缓存即为WebGL的帧缓冲区对象和渲染缓冲区对象,在帧缓冲区进行绘制的过程称为离屏绘制。本研究利用这一特性将地图的渲染的每一帧离屏绘制成纹理图片,并及时缓存,然后以纹理贴图的方式显示给用户。原理如图5所示;采用这种策略的目的在于优化用户在对地图进行平移、缩放时出现地图卡顿,不流畅等现象,用户在地图平移过程中且尚未平移完成时,平台采用上一次的帧缓存进行绘制显示,不重新进行数据绘制,平移结束时,等待增量数据再重新绘制。
以上显示和描述了本发明的基本原理和主要特征及本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (1)
1.一种在线动态地图生成方法,其特征在于,包括以下步骤:
步骤一:选择等间隔格网来实现按行索引的矢量瓦片模型构建;
步骤二:将等间隔格网与原始矢量数据进行切割处理,形成以等间隔格网为基本结构存储单元;
步骤三:利用WebGL将矢量切片在前端进行绘制,其中着色器程序包括顶点着色器和片元着色器,顶点着色器用于设置图形顶点的位置,片元着色器用于设置图形绘制的颜色,在顶点着色器和片元着色器之间,还存在着图形装配过程和光栅化过程,图形装配过程将传入的顶点坐标根据需要装配成特定的几何图形,光栅化过程将装配好的几何图形转化成(内插)片元(像素);
步骤四:绘制点,点包括方点和圆点,其中方点是WebGL中默认采用绘制点形式,无需任何处理;圆点在片元着色器中采用内置的函数distance计算圆点中心到边缘的像元坐标距离,保留距离内的像素;
步骤五:绘制带线宽的实线:①将线条两两顶点取出,以两顶点构成的直线为中心线,进行垂直与该中心线的方向上下平移二分之一线宽距离,形成一个矩形面,并进行三角化,②根据①中计算出来的绘制点P1,P2,P3,推算出P1’,P2‘,P3’位置点,参考绘制圆点的思路,以P2点为圆心,二分之一线宽为半径,小于该半径的保留,大于该半径的移除,绘制形成一个圆头;
步骤六:绘制多边形:利用数据中的顶点和三角化索引,进行多边形面填充绘制,绘制多边形轮廓线的时候将“多余边”滤掉不绘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810522581.3A CN108830911B (zh) | 2018-05-28 | 2018-05-28 | 一种在线动态地图生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810522581.3A CN108830911B (zh) | 2018-05-28 | 2018-05-28 | 一种在线动态地图生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108830911A true CN108830911A (zh) | 2018-11-16 |
CN108830911B CN108830911B (zh) | 2023-05-26 |
Family
ID=64146194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810522581.3A Active CN108830911B (zh) | 2018-05-28 | 2018-05-28 | 一种在线动态地图生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108830911B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209750A (zh) * | 2019-05-08 | 2019-09-06 | 杭州迦智科技有限公司 | 地图处理方法、装置、存储介质及处理器 |
CN110706326A (zh) * | 2019-09-02 | 2020-01-17 | 广东省城乡规划设计研究院 | 数据展示方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080117214A1 (en) * | 2006-11-22 | 2008-05-22 | Michael Perani | Pencil strokes for vector based drawing elements |
CN101714259A (zh) * | 2008-10-06 | 2010-05-26 | Arm有限公司 | 图形处理系统 |
CN102609517A (zh) * | 2012-02-09 | 2012-07-25 | 武汉大学 | 一种矢量地图在线式综合服务方法及其系统 |
JP2013097598A (ja) * | 2011-11-01 | 2013-05-20 | Mitsubishi Electric Corp | 描画装置 |
CN103136774A (zh) * | 2011-12-05 | 2013-06-05 | Arm有限公司 | 用于处理计算机图形的方法和装置 |
US20140043342A1 (en) * | 2012-08-09 | 2014-02-13 | Qualcomm Incorporated | Extending dx11 gpu for programmable vector graphics |
US8730258B1 (en) * | 2011-06-30 | 2014-05-20 | Google Inc. | Anti-aliasing of straight lines within a map image |
US20150379672A1 (en) * | 2014-06-27 | 2015-12-31 | Samsung Electronics Co., Ltd | Dynamically optimized deferred rendering pipeline |
CN107564087A (zh) * | 2017-09-11 | 2018-01-09 | 南京大学 | 一种基于屏幕的三维线状符号渲染方法 |
-
2018
- 2018-05-28 CN CN201810522581.3A patent/CN108830911B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080117214A1 (en) * | 2006-11-22 | 2008-05-22 | Michael Perani | Pencil strokes for vector based drawing elements |
CN101714259A (zh) * | 2008-10-06 | 2010-05-26 | Arm有限公司 | 图形处理系统 |
US8730258B1 (en) * | 2011-06-30 | 2014-05-20 | Google Inc. | Anti-aliasing of straight lines within a map image |
JP2013097598A (ja) * | 2011-11-01 | 2013-05-20 | Mitsubishi Electric Corp | 描画装置 |
CN103136774A (zh) * | 2011-12-05 | 2013-06-05 | Arm有限公司 | 用于处理计算机图形的方法和装置 |
CN102609517A (zh) * | 2012-02-09 | 2012-07-25 | 武汉大学 | 一种矢量地图在线式综合服务方法及其系统 |
US20140043342A1 (en) * | 2012-08-09 | 2014-02-13 | Qualcomm Incorporated | Extending dx11 gpu for programmable vector graphics |
US20150379672A1 (en) * | 2014-06-27 | 2015-12-31 | Samsung Electronics Co., Ltd | Dynamically optimized deferred rendering pipeline |
CN107564087A (zh) * | 2017-09-11 | 2018-01-09 | 南京大学 | 一种基于屏幕的三维线状符号渲染方法 |
Non-Patent Citations (1)
Title |
---|
王琨;周启;任福;任东宇;杜清运;鲁月新;: "在线地图集发布与服务系统的设计与实现" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209750A (zh) * | 2019-05-08 | 2019-09-06 | 杭州迦智科技有限公司 | 地图处理方法、装置、存储介质及处理器 |
CN110706326A (zh) * | 2019-09-02 | 2020-01-17 | 广东省城乡规划设计研究院 | 数据展示方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108830911B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cignoni et al. | BDAM—Batched Dynamic Adaptive Meshes for high performance terrain visualization | |
CN111354062B (zh) | 一种多维空间数据渲染方法及装置 | |
CN110992469B (zh) | 海量三维模型数据的可视化方法及系统 | |
CN100585631C (zh) | 图形绘制设备 | |
CN102737097A (zh) | 基于lod透明纹理的三维矢量实时动态叠加技术 | |
CN109237999B (zh) | 一种批量三维态势目标尾迹实时绘制方法和系统 | |
CN108830911A (zh) | 一种在线动态地图生成方法 | |
CN110609726B (zh) | 贴图处理方法及装置、计算机可读存储介质、电子设备 | |
CN112802169A (zh) | 一种三维地质模型实时剖切渲染方法 | |
US9251607B1 (en) | Anti-aliasing techniques | |
US20240087228A1 (en) | Method for scheduling and displaying three-dimensional annotations | |
Yang et al. | An efficient rendering method for large vector data on large terrain models | |
CN113495933A (zh) | 一种矢量瓦片显示方法及系统 | |
CN115408762A (zh) | 一种适用于三维设计钢筋表的钢筋简图自适应生成方法 | |
JP5296656B2 (ja) | 画像処理装置および画像処理方法 | |
CN114461406A (zh) | DMA OpenGL优化方法 | |
US7280119B2 (en) | Method and apparatus for sampling on a non-power-of-two pixel grid | |
CN101727681A (zh) | 一种基于金字塔模型的海量地形绘制网格裂缝消除算法 | |
CN110502305B (zh) | 一种动态界面的实现方法、装置及相关设备 | |
CN116310135B (zh) | 一种基于多分辨率lod模型的曲面显示方法及系统 | |
CN109925715B (zh) | 一种虚拟水域生成方法、装置及终端 | |
CN105741335A (zh) | 一种基于分块组织的多层次兵棋地图快速绘制方法 | |
CN114170394B (zh) | 一种海量倾斜数据在Web端的展示优化方法及装置 | |
US11017505B2 (en) | System and method for applying antialiasing to images | |
CN109859094B (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 |