CN113345045A - 一种基于osgEarth的跨越正负180经度的标绘方法及系统 - Google Patents
一种基于osgEarth的跨越正负180经度的标绘方法及系统 Download PDFInfo
- Publication number
- CN113345045A CN113345045A CN202110651060.XA CN202110651060A CN113345045A CN 113345045 A CN113345045 A CN 113345045A CN 202110651060 A CN202110651060 A CN 202110651060A CN 113345045 A CN113345045 A CN 113345045A
- Authority
- CN
- China
- Prior art keywords
- point
- point set
- longitude
- points
- line segment
- 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
Images
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
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4023—Decimation- or insertion-based scaling, e.g. pixel or line decimation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4038—Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
Abstract
一种基于osgEarth的跨越正负180经度的标绘方法及系统,包括以下步骤:按顺序读取标绘的关键点集,并编号保存;对图元的关键点集进行划分,得到东经点集、西经点集容器和碰撞点集;遍历总点集并查找出标绘的连线拓扑关系,以及该标绘与180°经线的交点;遍历与180°经线的碰撞点集,按纬度大小排序,按从北到南的方向,每两个点作为一条线段,并将两点作为组合值保存;线连接,将左右两侧的线段按顺序生成线段集合;面连接,将左右两侧的图元按顺序生成面片集合。本发明使用图元分割的方法,将图元按照被180°经线切割后,得到若干段线和若干图形片元,再按顺序将其拼接绘制,最终实现跨越180°经线正确绘制标绘图元。
Description
技术领域
本发明属于地图标绘技术领域,特别涉及一种基于osgEarth的跨越正负180经度的标绘方法及系统。
背景技术
在计算机图形领域中,常常需要通过在数字地图或地球上进行图元标绘,比如线段、多边形区域或多段箭头等,用于对地理信息、温度信息、风向信息或其他具有标注作用信息的说明,他们的构建常常由带有地理位置的点集组成。
在地理坐标中,东经180°经线与西经180°经线是同一条线。osgEarth是基于osg三维渲染引擎库封装的地理信息系统开源引擎库,其自带的标绘功能属于通用型基础标绘,在一般的区域是可以正常显示标绘信息的,但有些跨越了正负180经度的标绘,却无法正确显示。比如操作员想要一条从(东经170°,纬度0°)到(西经170°,纬度0°)的短线,这条线会按照东经170°->东经160°->东经150°->…西经150->西经160°->西经170°的路线,跨越近整个赤道,结果却不是期望得到的。
发明内容
本发明的目的在于提供一种基于osgEarth的跨越正负180经度的标绘方法及系统,以解决上述问题。
为实现上述目的,本发明采用以下技术方案:
一种基于osgEarth的跨越正负180经度的标绘方法,包括以下步骤:
按标绘的关键点顺序读取到内存,并编号保存;
对图元的关键点集进行划分,得到东经点集、西经点集容器和碰撞点集;
根据东经点集、西经点集容器和碰撞点集,遍历总点集并查找出标绘的连线拓扑关系;
凹多边形的切割处理,遍历与180°经线的碰撞点集,按纬度大小排序,按从北到南的方向,每两个点作为一条线段,并将两点作为组合值保存;
线连接,将左右两侧的线段按顺序生成线段集合;
面连接,将左右两侧的图元按顺序生成面片集合。
进一步的,按顺序读取标绘的关键点集到一个根据数据量本身相匹配的内存空间,并编号保存。
进一步的,对图元的关键点集进行划分:区分点集中的点在180经线的左侧还是右侧,即0°到180°为左侧东经,-180°到0°为右侧西经,并建立两个容器分别存储,如果前后两个点的连线与180°经线有交点,则通过插值算法,算出在180°经线上的纬度值,并将交点保存到碰撞点集。
进一步的,从0号点开始遍历两个容器,建立一个容器,用于容纳一条线段的关键点,如果前后两个点在同侧,则压入线的容器,作为当前线段上的点,如果前后两个点在异侧,则完成对当前线段的压点,继续遍历和创建线容器,直到遍历完成。
进一步的,标绘与180°经线的交点:终点与起点再进行一次连线,判断是否与180°经线有交点,有交点,则生成一条新线段,否则压入最后的线段容器中。
进一步的,凹多边形的切割处理,遍历得到的与180°经线的碰撞点集,按纬度大小排序,按照从纬度负90°到90°的方向,每两个点作为一条线段,作为键值对保存。
进一步的,线连接,创建线的点集容器,分别遍历左右两侧的点集,当点集中序号连续时,则连接相邻点,否则在碰撞点集合中查找对应碰撞点,若遍历未结束时,获取了碰撞点集中的点时,完成当前线段点集选取,继续创建线的点集容器进行遍历,直到遍历结束。
进一步的,面连接,分别遍历左右两侧点集,创建面的点集容器,当当前侧点集中序号连续时,则连接相邻点,否则在碰撞点中查找,下一个点取碰撞点所连接的另一个顶点,并从另一个顶点开始遍历,直到当前点与当前多边形的开始点序号一致时,封闭该多边形,并开始寻找下一个多边形,直到当前侧的点集遍历结束。
进一步的,一种基于osgEarth的跨越正负180经度的标绘系统,包括
采集模块用于,按顺序读取标绘的关键点集,并编号保存;
点集划分模块用于,对图元的关键点集进行划分,得到东经点集、西经点集容器和碰撞点集;
拓扑关系获得模块用于,根据东经点集、西经点集容器和碰撞点集,遍历总点集并查找出标绘的连线拓扑关系,以及该标绘与180°经线的交点;
凹多边形的切割处理模块用于,遍历与180°经线的碰撞点集,按纬度大小排序,按从北到南的方向,每两个点作为一条线段,并将两点作为组合值保存;
线连接模块用于,将左右两侧的线段按顺序生成线段集合;
面连接模块用于,将左右两侧的图元按顺序生成面片集合。
与现有技术相比,本发明有以下技术效果:
本发明采用了图元分割重组的方案,将图元按照被180°经线切割后,得到若干段线和若干图形片元,再按顺序将其拼接绘制。在化整为零的原理下,实现了跨越180°经线正确绘制标绘图元的效果。
本发明使用图元分割的方法,将图元按照被180°经线切割后,得到若干段线和若干图形片元,再按顺序将其拼接绘制,最终实现跨越180°经线正确绘制标绘图元。
附图说明
图1是本发明方法的流程图;
图2是通过切片数据构造的物体外轮廓效果图;
图3实施例附图。
具体实施方式
以下结合附图对本发明进一步说明:
本发明方法完整的步骤:
1)按顺序读取标绘的关键点集到一个足够大(根据数据量本身大小决定)的内存空间,并编号保存;
2)对图元的关键点集进行划分,区分点集中的点在180经线的左侧还是右侧,即0°到180°为左侧(东经),-180°到0°为右侧(西经),并建立两个容器分别存储,如果前后两个点的连线与180°经线有交点,则通过插值算法,算出在180°经线上的纬度值,并将交点保存到碰撞点集;
3)从0号点开始遍历第2)步的两个容器,建立一个容器,用于容纳一条线段的关键点,如果前后两个点在同侧,则压入线的容器,作为当前线段上的点,如果前后两个点在异侧,则完成对当前线段的压点,继续遍历和创建线容器,直到遍历完成;
4)终点与起点再进行一次连线,判断是否与180°经线有交点,有交点,则生成一条新线段,否则压入最后的线段容器中,该步骤用于绘制跨越180°经线的多边形。
5)凹多边形的切割处理,遍历第3-4步得到的与180°经线的碰撞点集,按纬度大小排序,按照从纬度负90°到90°的方向,每两个点作为一条线段,作为键值对保存,
6)线连接,创建线的点集容器,分别遍历左右两侧的点集,当点集中序号连续时,则连接相邻点,否则在碰撞点集合中查找对应碰撞点,若遍历未结束时,获取了碰撞点集中的点时,完成当前线段点集选取,继续创建线的点集容器进行遍历,直到遍历结束。
7)面连接,分别遍历左右两侧点集,创建面的点集容器,当当前侧点集中序号连续时,则连接相邻点,否则在碰撞点中查找,下一个点取碰撞点所连接的另一个顶点,并从另一个顶点开始遍历,直到当前点与当前多边形的开始点序号一致时,封闭该多边形,并开始寻找下一个多边形,直到当前侧的点集遍历结束。
实施例:
首先,将贴地标绘的关键点集读入到内存,将得到的关键点集进行左右分集,得到两个收纳了点序号的点集,比如左侧为{1,2,4,6},右侧为{3,5,7},按顺序连线,从1号点开始,得到1->2,继续连线,发现3号点在右侧,于是产生了一个与180°经线交点2’,将交点压入到碰撞点集中,并生成第一条线段1->2->2’,继续从2’开始遍历,相同方法得到2’->3->3’,3’->4->4’…直到6’->7,最后将首尾使用相同方法连接,得到7’。
将得到的碰撞点集按照纬度从低到高排序,每两个连续点作为一条线段,得到2-3,4-5,6-7的线段。
线连接:从1号点开始,按顺序连接线段,得到1-2-2’,2’-3-3’,…直到6’-7,将首尾也进行连接,将得到的交点7’压入到收尾线段中。
面连接:遍历左右两侧点集,按照上述的遍历方法,从1号开始,得到1-2-2’-3’-4-4’-5’-6’-7’-1,此时左侧点连接完毕,对右侧点进行连接,由3号开始,得到3-3’-2-3,5-5’-4’-5,7-7’-6’-7,最终生成面片集合。
通过上述步骤,由化整为零的思想,最终得到了正确的标绘连接方式。
Claims (9)
1.一种基于osgEarth的跨越正负180经度的标绘方法,其特征在于,包括以下步骤:
按标绘的关键点顺序读取到内存,并编号保存;
对图元的关键点集进行划分,得到东经点集、西经点集容器和碰撞点集;
根据东经点集、西经点集容器和碰撞点集,遍历总点集并查找出标绘的连线拓扑关系;
凹多边形的切割处理,遍历与180°经线的碰撞点集,按纬度大小排序,按从北到南的方向,每两个点作为一条线段,并将两点作为组合值保存;
线连接,将左右两侧的线段按顺序生成线段集合;
面连接,将左右两侧的图元按顺序生成面片集合。
2.根据权利要求1所述的一种基于osgEarth的跨越正负180经度的标绘方法,其特征在于,按顺序读取标绘的关键点集到一个根据数据量本身相匹配的内存空间,并编号保存。
3.根据权利要求1所述的一种基于osgEarth的跨越正负180经度的标绘方法,其特征在于,对图元的关键点集进行划分:区分点集中的点在180经线的左侧还是右侧,即0°到180°为左侧东经,-180°到0°为右侧西经,并建立两个容器分别存储,如果前后两个点的连线与180°经线有交点,则通过插值算法,算出在180°经线上的纬度值,并将交点保存到碰撞点集。
4.根据权利要求3所述的一种基于osgEarth的跨越正负180经度的标绘方法,其特征在于,从0号点开始遍历两个容器,建立一个容器,用于容纳一条线段的关键点,如果前后两个点在同侧,则压入线的容器,作为当前线段上的点,如果前后两个点在异侧,则完成对当前线段的压点,继续遍历和创建线容器,直到遍历完成。
5.根据权利要求1所述的一种基于osgEarth的跨越正负180经度的标绘方法,其特征在于,标绘与180°经线的交点:终点与起点再进行一次连线,判断是否与180°经线有交点,有交点,则生成一条新线段,否则压入最后的线段容器中。
6.根据权利要求1所述的一种基于osgEarth的跨越正负180经度的标绘方法,其特征在于,凹多边形的切割处理,遍历得到的与180°经线的碰撞点集,按纬度大小排序,按照从纬度负90°到90°的方向,每两个点作为一条线段,作为键值对保存。
7.根据权利要求1所述的一种基于osgEarth的跨越正负180经度的标绘方法,其特征在于,线连接,创建线的点集容器,分别遍历左右两侧的点集,当点集中序号连续时,则连接相邻点,否则在碰撞点集合中查找对应碰撞点,若遍历未结束时,获取了碰撞点集中的点时,完成当前线段点集选取,继续创建线的点集容器进行遍历,直到遍历结束。
8.根据权利要求1所述的一种基于osgEarth的跨越正负180经度的标绘方法,其特征在于,面连接,分别遍历左右两侧点集,创建面的点集容器,当当前侧点集中序号连续时,则连接相邻点,否则在碰撞点中查找,下一个点取碰撞点所连接的另一个顶点,并从另一个顶点开始遍历,直到当前点与当前多边形的开始点序号一致时,封闭该多边形,并开始寻找下一个多边形,直到当前侧的点集遍历结束。
9.一种基于osgEarth的跨越正负180经度的标绘系统,其特征在于,包括
采集模块用于,按标绘的关键点顺序读取到内存,并编号保存;
点集划分模块用于,对图元的关键点集进行划分,得到东经点集、西经点集容器和碰撞点集;
拓扑关系获得模块用于,根据东经点集、西经点集容器和碰撞点集,遍历总点集并查找出标绘的连线拓扑关系;
凹多边形的切割处理,遍历与180°经线的碰撞点集,按纬度大小排序,按从北到南的方向,每两个点作为一条线段,并将两点作为组合值保存;
线连接模块用于,将左右两侧的线段按顺序生成线段集合;
面连接模块用于,将左右两侧的图元按顺序生成面片集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110651060.XA CN113345045A (zh) | 2021-06-10 | 2021-06-10 | 一种基于osgEarth的跨越正负180经度的标绘方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110651060.XA CN113345045A (zh) | 2021-06-10 | 2021-06-10 | 一种基于osgEarth的跨越正负180经度的标绘方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113345045A true CN113345045A (zh) | 2021-09-03 |
Family
ID=77476740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110651060.XA Pending CN113345045A (zh) | 2021-06-10 | 2021-06-10 | 一种基于osgEarth的跨越正负180经度的标绘方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113345045A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116625367A (zh) * | 2023-05-04 | 2023-08-22 | 中远海运散货运输有限公司 | 基于pays的航线跨越东西经180°的海图选图方法 |
CN116721178A (zh) * | 2023-05-04 | 2023-09-08 | 中远海运散货运输有限公司 | 多边形区域跨越东西经180°时的海图选图方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB534030A (en) * | 1938-09-08 | 1941-02-26 | William Covert Anderson | Improvements in or relating to devices for and method of plotting great circle courses on a map |
WO1996007170A1 (en) * | 1994-08-31 | 1996-03-07 | Nac Geographic Products Inc. | A geodetic coding system |
US6218965B1 (en) * | 1998-07-30 | 2001-04-17 | The United States Of America As Represented By The Secretary Of The Navy | Moving map composer (MMC) |
US20110090254A1 (en) * | 2009-10-20 | 2011-04-21 | John Antonio Carrino | Techniques for drawing geodetic polygons |
WO2014125619A1 (ja) * | 2013-02-15 | 2014-08-21 | 三菱電機株式会社 | 地図描画装置 |
CN112837328A (zh) * | 2021-02-23 | 2021-05-25 | 中国石油大学(华东) | 一种二维多边形图元的矩形视窗剪裁绘图方法 |
-
2021
- 2021-06-10 CN CN202110651060.XA patent/CN113345045A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB534030A (en) * | 1938-09-08 | 1941-02-26 | William Covert Anderson | Improvements in or relating to devices for and method of plotting great circle courses on a map |
WO1996007170A1 (en) * | 1994-08-31 | 1996-03-07 | Nac Geographic Products Inc. | A geodetic coding system |
US6218965B1 (en) * | 1998-07-30 | 2001-04-17 | The United States Of America As Represented By The Secretary Of The Navy | Moving map composer (MMC) |
US20110090254A1 (en) * | 2009-10-20 | 2011-04-21 | John Antonio Carrino | Techniques for drawing geodetic polygons |
WO2014125619A1 (ja) * | 2013-02-15 | 2014-08-21 | 三菱電機株式会社 | 地図描画装置 |
US20150325045A1 (en) * | 2013-02-15 | 2015-11-12 | Mitsubishi Electric Corporation | Map drawing device |
CN112837328A (zh) * | 2021-02-23 | 2021-05-25 | 中国石油大学(华东) | 一种二维多边形图元的矩形视窗剪裁绘图方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116625367A (zh) * | 2023-05-04 | 2023-08-22 | 中远海运散货运输有限公司 | 基于pays的航线跨越东西经180°的海图选图方法 |
CN116721178A (zh) * | 2023-05-04 | 2023-09-08 | 中远海运散货运输有限公司 | 多边形区域跨越东西经180°时的海图选图方法 |
CN116625367B (zh) * | 2023-05-04 | 2024-02-06 | 中远海运散货运输有限公司 | 基于pays的航线跨越东西经180°的海图选图方法 |
CN116721178B (zh) * | 2023-05-04 | 2024-03-19 | 中远海运散货运输有限公司 | 多边形区域跨越东西经180°时的海图选图方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113345045A (zh) | 一种基于osgEarth的跨越正负180经度的标绘方法及系统 | |
US6487305B2 (en) | Deformed map automatic generation system including automatic extraction of road area from a block map and shape deformation of at least one road area drawn in the map | |
CN100523735C (zh) | 一种基于小网格路网组织结构的快速地图匹配方法 | |
CN104252489B (zh) | 一种根据经纬度数据快速获得位置文字描述信息的方法 | |
CN111209291B (zh) | 一种利用众包感知地图更新高精度地图的方法及系统 | |
KR20010113662A (ko) | 다각형으로 표현된 도로지도 데이터의 작성과 이용을 위한장치와 방법 | |
CN106251331A (zh) | 一种倾斜测量场景中地物的提取方法 | |
CN102855322A (zh) | 一种基于空间探索技术的地图数据存储方法 | |
CN105787445A (zh) | 一种车载激光扫描数据中杆状物自动提取方法及系统 | |
CN111932655B (zh) | 基于AutoCAD构建铁路线路信息模型的自动处理方法 | |
CN104143214A (zh) | 一种电子地图多边形三角剖分方法与装置 | |
CN114817433A (zh) | 一种基于osgEarth的跨+-180经度的标绘算法 | |
CN116030218A (zh) | 四面体网格划分方法、装置、系统及存储介质 | |
KR20070033628A (ko) | 해양지리 정보 구축 및 서비스 방법 | |
CN110033459B (zh) | 顾及地物完整性的大规模点云快速分块方法 | |
CN101833665B (zh) | 遥感地图图像的道路提取方法 | |
CN112783891B (zh) | 基于经度和纬度匹配邻近多边形区域的方法及装置 | |
CN106067072A (zh) | 一种逻辑路网模型下的路径自适应快速获取方法 | |
CN113074735B (zh) | 一种地图数据结构的处理方法 | |
JP2006023958A (ja) | 道路領域決定可能プログラム及び道路領域決定方法 | |
Ozawa et al. | Detection of beacon networks between ancient hill-forts using a digital terrain model based GIS | |
CN112581319A (zh) | 一种基于地理可视域分析的旅游景点自动讲解方法 | |
CN112581611B (zh) | 一种基于模板阴影技术的线标绘贴地方法及系统 | |
CN116343070B (zh) | 一种航测影像地物要素的智能解译方法 | |
CN116721178B (zh) | 多边形区域跨越东西经180°时的海图选图方法 |
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 |