CN104866583B - 一种电子海图中船舶电子标牌的自动排列方法 - Google Patents

一种电子海图中船舶电子标牌的自动排列方法 Download PDF

Info

Publication number
CN104866583B
CN104866583B CN201510278118.5A CN201510278118A CN104866583B CN 104866583 B CN104866583 B CN 104866583B CN 201510278118 A CN201510278118 A CN 201510278118A CN 104866583 B CN104866583 B CN 104866583B
Authority
CN
China
Prior art keywords
ship
label
electronic label
height
symbol
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
Application number
CN201510278118.5A
Other languages
English (en)
Other versions
CN104866583A (zh
Inventor
隋远
韩晓宁
丁康
薛雯
王盛朋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 28 Research Institute
Original Assignee
CETC 28 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 28 Research Institute filed Critical CETC 28 Research Institute
Priority to CN201510278118.5A priority Critical patent/CN104866583B/zh
Publication of CN104866583A publication Critical patent/CN104866583A/zh
Application granted granted Critical
Publication of CN104866583B publication Critical patent/CN104866583B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Navigation (AREA)
  • Traffic Control Systems (AREA)

Abstract

本发明公开了一种电子海图中船舶电子标牌的自动排列方法,特别是一种基于排序算法的将重叠标牌在指定区域对齐的标牌排列方法。本发明选取船舶在电子海图上重叠的信息标牌后,通过分析它们的宽度、高度,以及对应船舶的纬度信息,将这些重叠的标牌在电子海图上指定的空闲区域自动铺展排列的方法,解决了标牌重叠,干扰用户获得有效信息的问题。本发明不同于常规方法使用鼠标逐个拖动来分散重叠在一起的标牌,而是通过鼠标框选聚集在一起的大量标牌,然后在指定位置铺展排列的方法,解决了标牌重叠的问题。相对于手动分散,本方法不仅可以迅速解决大量的标牌重叠问题,而且排列后的标牌更加有序美观。

Description

一种电子海图中船舶电子标牌的自动排列方法
技术领域
本发明涉及一种电子海图信息处理技术领域,特别是应用于船舶交通管理系统(以下简称VTS)电子海图中的船舶信息标牌的自动排列方法。
背景技术
船舶交通管理系统是指在一定水域内用以保证航行船舶安全和效率的管理系统。水域内主动上报或被雷达发现的船舶经情报中心融合处理后会以报文的形式传送给VTS台位,VTS台位显示软件接收到船舶航迹报文(包括船舶名称、类型、国籍、经纬度位置、方向、航速等信息)后分析船舶航迹的经纬度位置,会在电子海图上对应的经纬度位置以标号的方式将收到的船舶航迹实时地绘制出来,供工作人员监视、管理、使用。电子海图上显示的船舶标号为一个简单的图标,包含的信息有限,其他信息,如船名、类型、国籍等,需要以标牌的形式出现在对应的船舶标号附近,并以直线与之相连,标牌与船舶航迹一一对应。当船舶聚集在某一区域时,在电子海图上绘制出来的船舶标号也会聚集在一起,这些船舶对应的电子标牌默认情况下也聚集在一起,这就导致工作人员无法分清标牌上显示的信息。
目前解决标牌遮蔽的方法主要是为用户提供人工标牌拖动的功能。用户可以用鼠标逐次拖动聚集在一起的船舶标牌到电子海图上的空闲区域,使得标牌不再聚集在一起。空闲区域是指电子海图上没有分布船舶或标牌的区域,或者分布较少的区域。但是这种方法有两个不足之处。一、当聚集在一起的船舶标牌很多时,逐个手动拖动标牌费时费力,此外随着船舶的航行,以及用户对电子海图的漫游操作,分散开的船舶标牌的位置也会相应变化,可能产生新的聚集,那么用户需要再次重复逐个拖动标牌的过程,过于繁琐;二、手动拖动标牌,标牌的位置往往比较随意,排列并不整齐,既不美观。
VTS台位显示软件收到船舶航迹报文(包括船舶名称、类型、国籍、经纬度位置、方向、航速等信息),在内存中维护一张船舶航迹的列表,每艘船舶对象中包括与之对应的电子标牌信息,并且在软件加载的S57标准的电子海图上,将这些船舶航迹按对应的经纬度位置展现出来。船舶对应的电子标牌也默认展示在船舶附近。随着船舶的移动、地图的漫游,船舶有可能聚集在一起,对应的电子标牌也随之聚集在一起。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种电子海图中船舶电子标牌的自动排列方法。
本发明针对这种情况进行处理,公开了一种电子海图中船舶电子标牌的自动排列方法,包括如下步骤:
步骤1,对用户框选中的船舶电子标牌,在计算机内存中生成框选标牌所对应的船舶信息结构体列表,提取船舶信息结构体列表匹配船舶电子标牌排列模式;
步骤2,对用户框选中的聚集在一起的船舶电子标牌列表进行排序;
步骤3,遍历船舶电子标牌列表,根据步骤1中获得的匹配模式重排船舶电子标牌;
步骤4,处理完所有船舶电子标牌位置后自动重新绘制船舶电子标牌。
其中,步骤1包括:
步骤1-1,用户使用标牌框选功能,框选中船舶电子标牌,根据选中的船舶电子标牌找到其对应的船舶信息,在计算机内存中生成一个船舶信息结构体列表,船舶信息结构体中包括船舶当前的经纬度位置以及船舶电子标牌结构体信息;
步骤1-2,求出船舶符号位置在屏幕分布的最小外接矩形区域:
船舶符号是指表示船舶航迹位置的符号,软件截图的中三角符号。遍历船舶符号的屏幕坐标的横坐标x值和纵坐标y值,记录横坐标的最小值x1、纵坐标的最小值y1和横坐标的最大值x2、纵坐标的最大值y2,如果下一个船舶符号的横坐标x值小于当前船舶符号横坐标最小值x1,则更新最小值x1,如果横坐标x值大于当前最大值x2,则更新最大值x2,如果下一个船舶符号的纵坐标y值小于当前船舶符号纵坐标最小值y1,则更新最小值y1,如果纵坐标y值大于当前最大值y2,则更新最大值y2,最后根据矩形左上角点(x1,y1)和矩形右下角点(x2,y2)求出该矩形区域的宽度(x2-x1)和高度(y2-y1);
步骤1-3,根据框选船舶电子标牌的累积高度匹配排列模型:
遍历船舶电子标牌结构体中的标牌高度属性,并计算出累积高度值Hsum,累计高度值Hsum等于每一个标牌的高度值相加,并加上每两个标牌之间的间隔常数,本发明中该常数取值为5;计算屏幕右侧可利用区域的最大高度H1,H1为矩形区域高度(y2-y1),矩形区域底部到屏幕下边框的高度dy2,以及一个常量dy1的三者之和,单位为屏幕像素,本发明中常量dy1取值为80,单位为像素。
如果累积高度值Hsum小于右侧可利用区域的最大高度H1,那么匹配单列排列模式;
如果累积高度值Hsum大于屏幕右侧可利用区域的最大高度H1,那么对超出的高度值Hex进行判断,如果超出的高度值Hex小于第一阈值,第一阈值为矩形区域高度的一半(y2-y1)/2与矩形区域底部到屏幕下边框的高度dy2之和,那么匹配双列排列模式一;
如果超出的高度值Hex大于第二阈值,第二阈值为矩形区域高度的一半(y2-y1)/2与矩形区域底部到屏幕下边框高度dy2之和,但小于矩形区域高度(y2-y1)与矩形区域底部到屏幕下边框高度dy2之和,那么匹配双列排列模式二;
如果超出的高度值Hex大于矩形区域高度(y2-y1)与矩形区域底部到屏幕下边框高度dy2之和,那么匹配底部追加单行排列模式。
步骤1-3中所述屏幕右侧可利用区域的最大高度H1为矩形区域高度(y2-y1),矩形区域底部到屏幕下边框的高度dy2,以及一个常量dy1的三者之和,本发明中dy1取值为80,单位为屏幕像素;
步骤2包括:
步骤2-1,以船舶信息结构体中存储的船舶纬度位置为关键值,对船舶信息结构体列表进行希尔排序,使得纬度值大的船舶信息结构体排在表列前部,纬度值小的标牌排在表列后部。
步骤3包括:
步骤3-1,如果是单列排列模式,将船舶电子标牌排列在船舶符号右侧,以船舶符号外接矩形的宽度的一半为间隔,确定右侧船舶电子标牌区的起始横坐标,以船舶符号外接矩形上部纵坐标y1减去常数值dy1作为右侧船舶电子标牌区的纵坐标,本发明中dy1取值为80,确定第一个船舶电子标牌的位置,然后沿第一个船舶电子标牌下方依次排列下一个船舶电子标牌,完成船舶电子标牌重新排列,本发明中标牌间的间隔常数为5像素;
步骤3-2,如果是双列排列模式一,则在完成步骤3-1的基础上,对超出高度的船舶电子标牌进行第二列排列,遍历超出高度的船舶电子标牌,确定船舶电子标牌的最大宽度,在船舶符号外接矩形左侧,以船舶符号外接矩形的宽度的一半为间隔并加上标牌最大宽度,确定第二列起始位置的横坐标,以船舶符号外接矩形高度的一半作为第二列起始位置的纵坐标,确定第一个船舶电子标牌的屏幕位置,沿第一个船舶电子标牌下方依次排列下一个船舶电子标牌,完成船舶电子标牌重新排列,本发明中标牌间的间隔常数为5像素;
步骤3-3,如果是双列排列模式二,则在完成步骤3-1的基础上,对超出高度的船舶电子标牌进行第二列排列,以船舶符号外接矩形的宽度的一半为间隔并加上标牌最大宽度,确定第二列起始位置的横坐标,以船舶符号外接矩形上部纵坐标y1减去常数值dy1,本发明中该常数取值为80。作为右侧船舶电子标牌区的纵坐标,从而确定第一个船舶电子标牌的屏幕位置,然后沿第一个船舶电子标牌下方依次排列下一个船舶电子标牌,完成船舶电子标牌重新排列,本发明中标牌间的间隔常数为5像素;
步骤3-4,如果是底部追加单行排列模式,则在完成步骤3-2的基础上,对超出高度的船舶电子标牌进行底部追加单行排列:对剩余船舶电子标牌进行以船舶信息结构体中存储的船舶经度为关键值的希尔排序生成新的待排列序列,因为这里是将标牌进行横向排列,所以取船舶的经度为关键值进行排序,将经度值小的船舶电子标牌排在序列前部,经度值大的排在后部,然后根据船舶电子标牌排列区域的右侧横坐标和船舶符号外接矩形下方纵坐标确定第一个船舶电子标牌的屏幕位置,接着沿第一个船舶电子标牌右侧依次排列下一个船舶电子标牌,完成船舶电子标牌的重新排列,本发明中标牌间的间隔常数为5像素。
有益效果:
当接收到船舶航迹的报文后,VTS台位软件根据报文中船舶的经纬度位置信息,在电子海图的相应经纬度位置绘制出船舶标号以及电子标牌,这些标牌可能会相互遮蔽。同时当船舶报文更新船舶位置信息,或者用户对电子海图漫游后,电子标牌的屏幕坐标位置会发生改变,产生新的遮蔽。经过本发明处理后,将聚集在一起的船舶标牌根据用户要求在电子海图指定区域将指定船舶的电子标牌和在指定位置一键自动重新排列,高效快捷,既节省了用户繁琐的拖动操作,又充分利用了电子海图上空闲区域。此外使用希尔排序算法,可以尽可能地减少电子标牌与船舶标号间连接线的交叉现象,便于用户对电子标牌和船舶符号进行交叉查找。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明排列方法总流程图。
图2为四种船舶标牌排列模式示意图。
图3为船舶标牌单列排列示意图。
图4为船舶标牌双列排列模式一示意图。
图5为船舶标牌双列排列模式二示意图。
图6为船舶标牌底部追加单行排列示意图。
图7为船舶标牌排列前效果图。
图8为船舶标牌使用排序算法前效果图。
图9为船舶标牌使用排序算法后效果图。
图10为船舶标牌使用排序算法双列排列效果图。
具体实施方式
实施例1
如图1所示,本发明电子海图中船舶电子标牌的自动排列方法关键步骤如下:
前提步骤,非本发明必要技术特征:
VTS台位显示软件收到船舶航迹报文(包括船舶名称、类型、国籍、经纬度位置、方向、航速等信息),其中船舶的经纬度位置,单位为度,例如船舶位置东经108度30分表示为108.5度(正值为东经,负值为西经),北纬21度30分表示为21.5度(正值为北纬,负值为南纬),生成船舶信息结构体并存储在内存中的船舶信息结构体列表中。船舶信息结构体中还包括与之对应的电子标牌结构体,其中包含电子标牌位置信息,即左上角点与船舶符号定位点的相对距离,单位为屏幕像素;电子标牌的尺寸,即电子标牌根据内容长短自适应的标牌宽度和高度,单位为屏幕像素。
VTS台位软件在电子海图上自动绘制船舶目标时,首先遍历内存中维护的船舶信息结构体列表,取出船舶的经纬度位置,然后调用电子海图提供的经纬度屏幕坐标转换函数,将船舶的位置信息由经纬度值转换为屏幕坐标,单位为屏幕像素,并在该屏幕坐标位置绘制船舶符号;然后取出船舶的电子标牌结构体,读取电子标牌与船舶符号的相对距离,再结合前一步船舶符号的屏幕坐标求出电子标牌左上角点的屏幕坐标,单位屏幕像素;最后根据电子标牌结构体中的标牌宽度和标牌高度,在屏幕的相应位置绘制出电子标牌,并用直线将标牌和其对应的船舶符号相连,如图7所示,默认情况下,船舶的电子标牌可能彼此遮蔽或者和船舶符号相互遮蔽,影响用户使用。此外随着船舶航迹报文的更新,船舶位置会发生移动,或者用户对电子地图进行漫游、缩放操作,原本不遮蔽的船舶符号和电子标牌也有可能再次聚集,产生遮蔽。本发明针对这种情况进行处理。
步骤1,提取船舶信息结构体列表匹配电子标牌排列模式,包括:
步骤1-1,生成框选航迹所对应的船舶信息结构体列表;
在电子海图上,如果用户关注的船舶目标正好聚集在一个较小的范围,那么这些船舶的标牌往往也聚集在一起,发生相互遮蔽,如图7所示。用户可以使用标牌框选功能,框选中这些标牌。本实施例中,根据选中的电子标牌找到其对应的船舶信息,在内存中生成一个船舶信息结构体列表。船舶信息结构体中包括船舶当前的经纬度位置以及电子标牌结构体信息。
步骤1-2,提取船舶符号位置在屏幕分布的最小外接矩形区域;被用户框选的多个船舶符号在屏幕上呈现多个点集,求出这些点集的最小外接矩形。本发明调用GIS的经纬度转换屏幕坐标函数,得到船舶信息列表中船舶符号的屏幕坐标,单位屏幕像素。遍历船舶符号的屏幕坐标的横坐标x值,和纵坐标y值;然后记录最小x1值、y1值和最大x2值、y2值;如果下一个船舶符号的x值小于当前最小x值,则更新最小x值x1;如果x值大于当前最大x值,则更新最大x值x2;用同样的方法可以求出最小y值y1和最大y值y2。最后根据矩形左上角点(x1,y1)和矩形右下角点(x2,y2)可以求出该矩形区域的宽度x2-x1和高度y2-y1
步骤1-3,根据框选电子标牌的累积高度匹配排列模型
如图2所示,本实施例中共有四种船舶电子标牌排列模式。遍历船舶电子标牌结构体中的标牌高度属性,并计算出累积高度值Hsum。首先匹配排列在右侧区域的模型。如图3所示,右侧可利用区域的最大高度H1为矩形区域高度y2-y1,与矩形区域底部到屏幕下边框的高度dy2,以及一个经验常量dy1的三者之和,单位为屏幕像素。如果累积高度Hsum小于右侧可利用的最大高度H1,那么匹配单列排列模式。
如果累积高度大于右侧可利用最大高度,那么对超出的高度值Hex进行判断。如图4所示,如果超出的高度值Hex小于第一阈值,第一阈值为矩形区域高度的一半(y2-y1)/2与矩形区域底部到屏幕下边框的高度dy2之和,那么匹配双列排列模式一。
对超出的高度值Hex判断,如图5所示。如果超出的高度值Hex大于第二阈值,第二阈值为矩形区域高度的一半(y2-y1)/2与矩形区域底部到屏幕下边框高度dy2之和,但小于矩形区域高度(y2-y1)与矩形区域底部到屏幕下边框高度dy2之和,那么匹配双列排列模式二。
如果超出高度值Hex大于矩形区域高度(y2-y1)与矩形区域底部到屏幕下边框高度dy2之和,如图6所示,那么匹配底部追加单行排列模式。
步骤2,对用户选中的聚集在一起的船舶电子标牌列表进行排序。
生成框选标牌所对应的船舶信息结构体列表;
以船舶信息结构体中存储的纬度位置为关键值,对船舶信息结构体列表进行希尔排序,使得纬度值大的船舶信息结构体排在表列前部,纬度值小的标牌排在表列后部。经过该步处理,可以最大限度地减少船舶图标与其电子标牌的连线发生交叉。如图8、图9所示,分别为不使用该算法和使用该算法的效果图。
步骤3,遍历电子标牌列表,根据步骤1中获得的匹配模式重排电子标牌
步骤3-1,如果是单列排列模式,将标牌排列在船舶符号右侧。以船舶符号外接矩形的宽度的一半为间隔,确定右侧电子标牌区的起始横坐标,以船舶符号外接矩形上部纵坐标y1减去经验值dy1作为右侧电子标牌区的纵坐标,确定第一个电子标牌的位置。然后沿第一个电子标牌下方依次排列下一个电子标牌,完成电子标牌重新排列,本发明中标牌间的间隔常数为5像素。
步骤3-2,如果是双列排列模式一,则在完成步骤3-1的基础上,对超出高度的电子标牌进行第二列排列。首先遍历超出高度的电子标牌,确定标牌的最大宽度;然后在船舶符号外接矩形左侧,以船舶符号矩阵的宽度为间隔并加上标牌最大宽度,确定第二列起始位置的横坐标,以船舶符号外接矩形高度的一半作为第二列起始位置的纵坐标,可以确定第一个标牌的屏幕位置。然后沿第一个电子标牌下方依次排列下一个电子标牌,完成电子标牌重新排列,本发明中标牌间的间隔常数为5像素。
步骤3-3,如果是双列排列模式二,则在完成步骤3-1的基础上,对超出高度的电子标牌进行第二列排列。如图5所示,以船舶符号外接矩形的宽度的一半为间隔并加上标牌最大宽度,确定第二列起始位置的横坐标,以船舶符号外接矩形上部纵坐标y1减去常数值dy1作为右侧船舶电子标牌区的纵坐标,从而确定第一个船舶电子标牌的屏幕位置,本发明中,常量dy1取值为80;然后沿第一个电子标牌下方依次排列下一个电子标牌,完成电子标牌重新排列,本发明中标牌间的间隔常数为5像素。
步骤3-4,如果是底部追加单行排列模式,则在完成步骤3-2的基础上,对超出高度的电子标牌进行底部追加单行排列。首先对剩余标牌进行以经度为关键值的希尔排序生成新的代排列序列,将经度值小的标牌排在序列前部,经度值大的排在后部;然后,如图6所示,根据电子标牌排列区域2的右侧横坐标和船舶符号外接矩形下方纵坐标确定第一个标牌的屏幕位置;接着沿第一个标牌右侧依次排列下一个电子标牌,完成电子标牌的重新排列,本发明中标牌间的间隔常数为5像素。
步骤4,处理完所有标牌位置后自动重新绘制标牌。
VTS台位软件根据更新后的标牌屏幕位置、宽度和高度,重新绘制标牌,如图10所示,为船舶标牌使用排序算法双列排列效果图。
本发明提供了一种电子海图中船舶电子标牌的自动排列方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (1)

1.一种电子海图中船舶电子标牌的自动排列方法,其特征在于,包括如下步骤:
步骤1,对用户框选中的船舶电子标牌,在计算机内存中生成框选标牌所对应的船舶信息结构体列表,提取船舶信息结构体列表匹配船舶电子标牌排列模式;
步骤2,对用户框选中的聚集在一起的船舶电子标牌列表进行排序;
步骤3,遍历船舶电子标牌列表,根据步骤1中获得的匹配模式重排船舶电子标牌;
步骤4,处理完所有船舶电子标牌位置后自动重新绘制船舶电子标牌;
步骤1包括:
步骤1-1,用户使用标牌框选功能,框选中船舶电子标牌,根据选中的船舶电子标牌找到其对应的船舶信息,在计算机内存中生成一个船舶信息结构体列表,船舶信息结构体中包括船舶当前的经纬度位置以及船舶电子标牌结构体信息;
步骤1-2,求出船舶符号位置在屏幕分布的最小外接矩形区域:
遍历船舶符号的屏幕坐标的横坐标x值和纵坐标y值,记录横坐标的最小值x1、纵坐标的最小值y1和横坐标的最大值x2、纵坐标的最大值y2,如果下一个船舶符号的横坐标x值小于当前船舶符号横坐标最小值x1,则更新最小值x1,如果横坐标x值大于当前最大值x2,则更新最大值x2,如果下一个船舶符号的纵坐标y值小于当前船舶符号纵坐标最小值y1,则更新最小值y1,如果纵坐标y值大于当前最大值y2,则更新最大值y2,最后根据矩形左上角点(x1,y1)和矩形右下角点(x2,y2)求出该矩形区域的宽度(x2-x1)和高度(y2-y1);
步骤1-3,根据框选船舶电子标牌的累积高度匹配排列模型:
遍历船舶电子标牌结构体中的标牌高度属性,并计算出累积高度值Hsum;计算屏幕右侧可利用区域的最大高度H1
如果累积高度值Hsum小于右侧可利用区域的最大高度H1,那么匹配单列排列模式;
如果累积高度值Hsum大于屏幕右侧可利用区域的最大高度H1,那么对超出的高度值Hex进行判断,如果超出的高度值Hex小于第一阈值,第一阈值为矩形区域高度的一半(y2-y1)/2与矩形区域底部到屏幕下边框的高度dy2之和,那么匹配双列排列模式一;
如果超出的高度值Hex大于第二阈值,第二阈值为矩形区域高度的一半(y2-y1)/2与矩形区域底部到屏幕下边框高度dy2之和,但小于矩形区域高度(y2-y1)与矩形区域底部到屏幕下边框高度dy2之和,那么匹配双列排列模式二;
如果超出的高度值Hex大于矩形区域高度(y2-y1)与矩形区域底部到屏幕下边框高度dy2之和,那么匹配底部追加单行排列模式;
步骤1-3中所述屏幕右侧可利用区域的最大高度H1为矩形区域高度(y2-y1),矩形区域底部到屏幕下边框的高度dy2,以及一个常量dy1的三者之和,单位为屏幕像素;
步骤2包括:
步骤2-1,以船舶信息结构体中存储的船舶纬度位置为关键值,对船舶信息结构体列表进行希尔排序,使得纬度值大的船舶信息结构体排在表列前部,纬度值小的标牌排在表列后部;
步骤3包括:
步骤3-1,如果是单列排列模式,将船舶电子标牌排列在船舶符号右侧,以船舶符号外接矩形的宽度的一半为间隔,确定右侧船舶电子标牌区的起始横坐标,以船舶符号外接矩形上部纵坐标y1减去常数值dy1作为右侧船舶电子标牌区的纵坐标,确定第一个船舶电子标牌的位置,然后沿第一个船舶电子标牌下方依次排列下一个船舶电子标牌,完成船舶电子标牌重新排列;
步骤3-2,如果是双列排列模式一,则在完成步骤3-1的基础上,对超出高度的船舶电子标牌进行第二列排列,遍历超出高度的船舶电子标牌,确定船舶电子标牌的最大宽度,在船舶符号外接矩形左侧,以船舶符号外接矩形的宽度的一半为间隔并加上标牌最大宽度,确定第二列起始位置的横坐标,以船舶符号外接矩形高度的一半作为第二列起始位置的纵坐标,确定第一个船舶电子标牌的屏幕位置,沿第一个船舶电子标牌下方依次排列下一个船舶电子标牌,完成船舶电子标牌重新排列;
步骤3-3,如果是双列排列模式二,则在完成步骤3-1的基础上,对超出高度的船舶电子标牌进行第二列排列,以船舶符号外接矩形的宽度的一半为间隔并加上标牌最大宽度,确定第二列起始位置的横坐标,以船舶符号外接矩形上部纵坐标y1减去常数值dy1作为右侧船舶电子标牌区的纵坐标,从而确定第一个船舶电子标牌的屏幕位置,然后沿第一个船舶电子标牌下方依次排列下一个船舶电子标牌,完成船舶电子标牌重新排列;
步骤3-4,如果是底部追加单行排列模式,则在完成步骤3-2的基础上,对超出高度的船舶电子标牌进行底部追加单行排列:对剩余船舶电子标牌进行以船舶信息结构体中存储的船舶经度为关键值的希尔排序生成新的待排列序列,将经度值小的船舶电子标牌排在序列前部,经度值大的排在后部,然后根据船舶电子标牌排列区域的右侧横坐标和船舶符号外接矩形下方纵坐标确定第一个船舶电子标牌的屏幕位置,接着沿第一个船舶电子标牌右侧依次排列下一个船舶电子标牌,完成船舶电子标牌的重新排列。
CN201510278118.5A 2015-05-27 2015-05-27 一种电子海图中船舶电子标牌的自动排列方法 Active CN104866583B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510278118.5A CN104866583B (zh) 2015-05-27 2015-05-27 一种电子海图中船舶电子标牌的自动排列方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510278118.5A CN104866583B (zh) 2015-05-27 2015-05-27 一种电子海图中船舶电子标牌的自动排列方法

Publications (2)

Publication Number Publication Date
CN104866583A CN104866583A (zh) 2015-08-26
CN104866583B true CN104866583B (zh) 2018-04-24

Family

ID=53912409

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510278118.5A Active CN104866583B (zh) 2015-05-27 2015-05-27 一种电子海图中船舶电子标牌的自动排列方法

Country Status (1)

Country Link
CN (1) CN104866583B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105469643B (zh) * 2015-11-25 2018-01-02 中国电子科技集团公司第二十八研究所 一种应用于船舶交通管理系统的多边形标牌自动排列方法
CN107507256B (zh) * 2017-08-07 2020-05-19 中国电子科技集团公司第二十八研究所 一种vts系统中基于网格聚合的大批量船舶目标的实时绘制方法
CN112733493B (zh) * 2020-12-17 2022-12-02 浙江高信技术股份有限公司 电子签章方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770331A (zh) * 2009-01-05 2010-07-07 联想(北京)有限公司 一种计算机图标排列管理方法、装置及计算机
JP2012156793A (ja) * 2011-01-26 2012-08-16 Integral:Kk 情報端末、データ管理方法、関連付け定義データ、およびプログラム
CN102811089A (zh) * 2012-08-13 2012-12-05 北京佳讯飞鸿电气股份有限公司 一种区间光通信拓扑图自动同步方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000090036A (ja) * 1998-09-16 2000-03-31 Nippon Telegr & Teleph Corp <Ntt> 位置関連情報の提供方法およびその収集蓄積方法ならびにそれらの方法を実行するためのプログラムを記録した記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770331A (zh) * 2009-01-05 2010-07-07 联想(北京)有限公司 一种计算机图标排列管理方法、装置及计算机
JP2012156793A (ja) * 2011-01-26 2012-08-16 Integral:Kk 情報端末、データ管理方法、関連付け定義データ、およびプログラム
CN102811089A (zh) * 2012-08-13 2012-12-05 北京佳讯飞鸿电气股份有限公司 一种区间光通信拓扑图自动同步方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Qt的图形协同标绘系统设计与实现;薛雯;《网络安全技术与应用》;20140630;第14卷(第6期);57-58 *

Also Published As

Publication number Publication date
CN104866583A (zh) 2015-08-26

Similar Documents

Publication Publication Date Title
CN105551082B (zh) 一种基于激光点云的路面识别方法及装置
CN109541634B (zh) 一种路径规划方法、装置和移动设备
CN105869202B (zh) 电子地图的数字地面模型数据生成方法和装置
CN107610131A (zh) 一种图像裁剪方法和图像裁剪装置
CN106123898A (zh) 基于图片解析的室内路径规划方法
CN106204547B (zh) 从车载激光扫描点云中自动提取杆状地物空间位置的方法
CN104866583B (zh) 一种电子海图中船舶电子标牌的自动排列方法
CN108255489A (zh) 前端界面代码生成方法、装置、电子设备及存储介质
CN109298720A (zh) 一种植保无人机航线规划方法
CN102901500A (zh) 基于概率a星与智能体混合的飞行器最优路径确定方法
CN107145655A (zh) 建立包含拓扑信息的电网设备矢量图元符号模型的方法
CN110415346B (zh) 利用面向对象的三维元胞自动机进行水土流失模拟的方法
CN103954970B (zh) 一种地形要素采集方法
CN104598907B (zh) 一种基于笔画宽度图的图像中文字数据提取方法
CN111524445B (zh) 地图生成方法、装置、电子设备及可读存储介质
CN107362535A (zh) 游戏场景中的目标对象锁定方法、装置及电子设备
CN108986024A (zh) 一种基于网格的激光点云规则排列处理方法
CN103823854B (zh) 基于陆地边界线索引减少导航终端电子地图数据量的方法
CN110083875A (zh) 一种基于AutoCAD布局的勘测定界图自动分幅方法
CN104599297A (zh) 一种对人脸自动上腮红的图像处理方法
CN105354570A (zh) 一种车牌左右边界精确定位的方法及系统
CN110363769A (zh) 一种高铁接触网支撑装置腕臂系统图像分割方法
CN114611036A (zh) 一种gis数据处理及渲染方法
CN103337084B (zh) 一种基于人工地物特征的地物图斑自动生成方法
CN109241369B (zh) 基于网格延展法的降雨等值线构建方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant