CN104881448A - 一种地图路径标注方法和装置 - Google Patents

一种地图路径标注方法和装置 Download PDF

Info

Publication number
CN104881448A
CN104881448A CN201510249788.4A CN201510249788A CN104881448A CN 104881448 A CN104881448 A CN 104881448A CN 201510249788 A CN201510249788 A CN 201510249788A CN 104881448 A CN104881448 A CN 104881448A
Authority
CN
China
Prior art keywords
node
create
map
mark
starting point
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
Application number
CN201510249788.4A
Other languages
English (en)
Other versions
CN104881448B (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.)
Ruijie Networks Co Ltd
Original Assignee
Fujian Star Net Communication Co Ltd
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 Fujian Star Net Communication Co Ltd filed Critical Fujian Star Net Communication Co Ltd
Priority to CN201510249788.4A priority Critical patent/CN104881448B/zh
Publication of CN104881448A publication Critical patent/CN104881448A/zh
Application granted granted Critical
Publication of CN104881448B publication Critical patent/CN104881448B/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

Abstract

本发明实施例提供了一种地图路径标注方法和装置。捕捉用户的起始标记点;并根据所述起始标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建起始节点;标记当前节点为有效起点;捕捉用户的结束标记点;并根据所述结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建结束节点;本发明设计了一种在地图中标注路径的方法,简化室内地图路径管理和录入的机制并提高了室内地图路径录入的效率,减少了室内地图路径的制作时间,允许室内地图制作人员高效的为基于室内定位导航的应用软件提供了导航道路和路径。

Description

一种地图路径标注方法和装置
技术领域
本发明涉及导航技术和WEB软件领域,尤其涉及一种地图路径标注方法和装置。
背景技术
在室内地图导航系统中,各个建筑物内楼层的室内地图通常都是用SVG(Scalable Vector Graphics-可缩放矢量图形)来存储和显示的。室内地图中的各条路径通常也是由开发人员手工在矢量图上拾取并保存到系统中的。目前,尚未有高效、简易可行的方法允许地图制作人员在矢量图上通过鼠标手工的交互点击来拾取路径。
如附图1所示,室内地图制作人员需要手工在室内地图上标记出可行走的路径(空白连续区域)并把这些路径录入到室内定位导航系统。基于这些路径和最短路径算法,室内定位导航系统可以为用户提供室内区域任意一点到另一点的最短行走路径。
但是,目前并没有特别有效的路径生成和制作方法。传统的方法则是由地图制作人员手动的测量每段空白区域的起始和终点的x、y坐标,该坐标的坐标系通常以位于地图左上端角的端点为坐标原点,并记录下这些信息,最后通过综合组合而形成一段段的路径。这种方法精确度低、耗时漫长且要求地图制作人员对室内地图的路径组合有很好的理解和把握,并不适合大量路径的快速录入。
发明内容
本发明的实施例提供了一种地图路径标注方法,包括:
捕捉用户的起始标记点;并根据所述起始标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建起始节点;包括:创建起始节点的图形子节点和创建起始节点的文本子节点;
标记当前节点为有效起点;
捕捉用户的结束标记点;并根据所述结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建结束节点;包括:创建结束节点的图形子节点和创建结束节点的文本子节点;
若当前节点为有效起点,则创建起始节点和结束节点之间的线节点。
根据上述一种地图路径标注方法,采用离散路径的全局变量标记当前节点为有效起点。
根据上述一种地图路径标注方法,当绘制多点折线路径时,包括:
触发折线命令,启动折线绘制模式;
捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
若当前节点为有效起点,则创建结束节点和下一个结束节点之间的线节点。
根据上述一种地图路径标注方法,包括:创建起始节点至最后一个结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。
根据上述一种地图路径标注方法,当绘制离散路径时,包括:创建起始节点和结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。
根据上述一种地图路径标注方法,当绘制多点折线路径时,包括:
触发回退并捕捉上一个结束节点;
再次标记当前节点为有效起点;
捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
若再次标记的当前节点为有效起点,则创建上一个结束节点和下一个结束节点之间的线节点。
根据上述一种地图路径标注方法,另采用折线路径的全局变量再次标记当前节点为有效起点。
根据上述一种地图路径标注方法,包括:创建起始节点至最后一个结束节点之间的线节点之后,采用折线路径的全局变量再次标记当前节点为无效起点。
根据上述一种地图路径标注方法,当连接已标记的两节点时,包括:
触发连接命令,启动连接模式;
捕捉用户选择的两个节点;
创建两个节点之间连接的线节点。
根据本发明的另一方面,还提供一种地图路径标注装置,包括:
起始捕捉模块:其用于捕捉用户的起始标记点;并根据所述起始标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建起始节点;包括:创建起始节点的图形子节点和创建起始节点的文本子节点;
第一标记模块:其用于标记当前节点为有效起点;
结束捕捉模块:其用于捕捉用户的结束标记点;并根据所述结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建结束节点;包括:创建结束节点的图形子节点和创建结束节点的文本子节点;
线节点模块:若当前节点为有效起点,其用于则创建起始节点和结束节点之间的线节点。
根据本发明另一方面的一种地图路径标注装置,包括:第一标记组件:其用于采用离散路径的全局变量标记当前节点为有效起点。
根据本发明另一方面的一种地图路径标注装置,包括:第一折线绘制模块,包括:
触发模块:其用于触发折线命令,启动折线绘制模式;
下一个结束捕捉模块:其用于捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
下一个线节点模块:若当前节点为有效起点,其用于创建结束节点和下一个结束节点之间的线节点。
根据本发明另一方面的一种地图路径标注方法,所述第一折线绘制模块,包括:第二标记组件:创建起始节点至最后一个结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。
根据本发明另一方面的一种地图路径标注装置,包括:第二折线绘制模块,包括:第一标记单元,其用于在绘制离散路径时,创建起始节点和结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。
根据本发明另一方面的一种地图路径标注装置,包括:第二折线绘制模块,包括:
触发捕捉单元:其用于触发回退并捕捉上一个结束节点;
第二标记单元:其用于再次标记当前节点为有效起点;
下一个结束捕捉单元:其用于捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
下一个线节点单元:若再次标记的当前节点为有效起点,其用于创建上一个结束节点和下一个结束节点之间的线节点。
根据本发明另一方面的一种地图路径标注装置,所述第二折线绘制模块,包括:第三标记单元:其用于采用折线路径的全局变量再次标记当前节点为有效起点。
根据本发明另一方面的一种地图路径标注装置,所述第二折线绘制模块,包括:第四标记单元:其用于创建起始节点至最后一个结束节点之间的线节点之后,采用折线路径的全局变量再次标记当前节点为无效起点。
根据本发明另一方面的一种地图路径标注装置,还包括:连接模块,包括:
触发连接模块:其用于触发连接命令,启动连接模式;
两点捕捉模块:其用于捕捉用户选择的两个节点;
两点线节点模块:其用于创建两个节点之间连接的线节点。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过捕捉用户的起始标记点;并根据所述起始标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建起始节点;包括:创建起始节点的图形子节点和创建起始节点的文本子节点;标记当前节点为有效起点;捕捉用户的结束标记点;并根据所述结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建结束节点;包括:创建结束节点的图形子节点和创建结束节点的文本子节点;若当前节点为有效起点,则创建起始节点和结束节点之间的线节点;的方法,允许制作多条多点折线连续路径、多点环路闭合路径和多条离散路径,简化室内地图路径管理和录入的机制并极大的提高了室内地图路径录入的效率,减少了室内地图路径的制作时间,允许室内地图制作人员高效的为基于室内定位导航的应用软件提供了导航道路和路径。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为实际的室内布局图转化成的SVG格式的地图;
图2为本发明实施例一提供的一种地图路径标注方法的处理流程图;
图3为本发明实施例一提供的一种地图路径标注装置的模块图。
具体实施方式
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
实施例一
SVG(Scalable Vector Graphics-可缩放矢量图形)技术允许动态的修改图形元素并在主流的浏览器客户端实时显示,为室内地图的在线编辑和路径选取提供了可能。本发明利用主流浏览器对SVG格式图形的支持和浏览器客户端脚本JavaScript对SVG(Scalable Vector Graphics-可缩放矢量图形)的DOM(Document Object Model-文档对象模型)实时修改的机制,设计了一套交互式标注和提取地图路径的方法,根据实际的室内布局图转化成的SVG格式的地图如附图1所示。
本实施例提供了一种地图路径标注方法的处理流程如图2所示,包括如下的处理步骤:
步骤11、捕捉用户的起始标记点,并根据所述起始标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建起始节点;包括:创建起始节点的图形子节点和创建起始节点的文本子节点;
捕捉用户的起始标记点,具体地需要先捕捉该起始标记点的像素坐标,用户可以用鼠标点击进行标记,也可以在硬件支持的情况下,采用触摸选择、手势选择多种方式进行标记。本实施例中用户在SVG格式地图上用鼠标左键点击进行标记,根据用户的鼠标点击,捕捉到用户的起始标记点的像素坐标(x,y),假设捕捉的起始标记点的像素坐标为(443,373),对应创建起始节点包括创建起始节点的图形子节点和起始节点的文本子节点;
本领域技术人员应能理解上述用鼠标左键点击进行标记或者采用触摸选择、手势选择多种方式进行标记的应用类型仅为举例,其他现有的或今后可能出现的进行标记的方法如可适用于本发明实施例,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
对于起始节点,单独的一个小圆点在地图上用肉眼识别比较困难,为了显示直观,需要为标记的起始节点创建一个直观的图形子节点。可以以起始标记点的像素点坐标为中心,设置一定长度的半径,用圆作为图形标注,或者在系统预先存储用于图形子节点标记的图形,例如五角星,三角形,小红旗等等,在起始标记点的像素坐标(x,y)上添加预先存储的图形;
本实施例中,在SVG地图的DOM内创建一个起始圆节点作为起始节点的图形子节点,并作为SVG地图的DOM节点的一个子节点(child node)。以起始标记点的像素点坐标为中心,设置一定长度的半径,用圆作为图形标注,此时将圆的圆心坐标设置为起始标记点的像素坐标,设置圆半径为10个像素点的单位长度,起始节点的cx和cy属性(attribute)为捕捉到的用户的起始标记点的像素坐标(x,y),例如:<circle cx="443"cy="373"r="10"/>;图形子节点只是体现一个图形的显示,并不体现该节点的坐标的文本内容,因此还需要再创建该节点的文本子节点用于标注和显示各个节点的编号。
对于创建起始节点的文本子节点,在SVG地图的DOM内创建一个文本节点,并作为SVG地图的DOM节点的一个子节点(child node)。
起始节点的文本子节点的x、y属性为上述创建的起始圆节点的中心坐标。优选地,在起始节点的文本子节点中记录当前标记点的编号,例如:<textx="443"y="373">0</text>,其中,默认编号从0开始,依次递增。
步骤12、标记当前节点为有效起点;本实施例在离散路径制作过程中采使用类型为布尔的全局变量即全局布尔变量作为离散路径的全局变量标记当前节点为有效起点,以startNodeChosen作为本实施例的全局布尔变量,标记当前节点为有效起点,例如:<startNodeChosen=true>。当前节点为有效起点,表明一段路径的起点已经选定,在用户捕捉到用户结束标记点后需要创建起点和终点之间的线节点。如果当前节点并非为有效起点,则在用户再次捕捉到一个标记点时无需创建任何线节点。
步骤13、捕捉用户的结束标记点;并根据所述结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建结束节点;包括:创建结束节点的图形子节点和创建结束节点的文本子节点;
再根据用户的鼠标点击,捕捉到用户的结束标记点的像素坐标(x,y),假设捕捉的结束标记点的像素坐标为(446,373),对应创建结束节点包括创建结束节点的图形子节点和结束节点的文本子节点;
出于与上述起始节点的图形子节点一样的直观显示需要,需要为结束节点创建对应的图形子节点,可以以结束标记点的像素点坐标为中心,设置一定长度的半径,用圆作为图形标注,或者在系统预先存储用于图形子节点标记的图形,例如五角星,三角形,小红旗等等,在结束标记点的像素坐标(x,y)上添加预先存储的图形;
本实施例中,在SVG地图的DOM内创建一个结束圆节点作为结束节点的图形子节点,并作为SVG地图的DOM节点的一个子节点(child node)。以结束标记点的像素点坐标为中心,设置一定长度的半径,用圆作为图形标注,此时将圆的圆心坐标设置为结束标记点的像素坐标,仍然设置圆半径为10个像素点的单位长度,结束节点的cx和cy属性(attribute)为捕捉到的用户的结束标记点的像素坐标(x,y),例如:<circle cx="446"cy="373"r="10"/>;
对于创建结束节点的文本子节点,在SVG地图的DOM内创建一个文本节点,并作为SVG地图的DOM节点的一个子节点(child node)。
结束节点的文本子节点的x、y属性为上述创建的结束圆节点的中心坐标,优选地,在结束节点的文本子节点中记录当前标记点的编号,其中,默认编号从0开始,依次递增,上述记录起始节点的文本子节点编号为0,结束节点的文本子节点编号应递增为1,例如:<text x="446"y="373">1</text>。
步骤14、若当前节点为有效起点,则创建起始节点和结束节点之间的线节点;步骤12中,已采用全局布尔变量作为离散路径的全局变量标记当前节点为有效起点,以startNodeChosen作为本实施例的全局布尔变量,标记当前节点为有效起点,上述设置startNodeChosen为true,此时判断的当前节点仍为有效起点,则创建起始节点和结束节点之间的线节点,并作为SVG地图的DOM节点的一个子节点。该线节点的两个端点(x1、y1)和(x2、y2)分别为步骤11和步骤13所创建的起始圆节点的cx、cy属性值和结束圆节点的cx、cy属性值。例如:<line x1="443"y1="373"x2="446"y2="373"/>。
基于上述步骤11至步骤14的方法,在绘制离散路径时,优选地,采用离散路径的全局变量标记的当前节点仍然为有效起点;创建起始节点和结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点;仍然采用全局布尔变量作为离散路径的全局变量标记当前节点为无效起点,以startNodeChosen作为本实施例的全局布尔变量,具体地:<startNodeChosen=false>。
当绘制折线路径时,本实施例提供两种方法:
方法一
先按照上述步骤11至步骤14的方法创建线节点,仍然继续采用离散路径的全局变量标记当前节点,继续采用全局布尔变量作为离散路径的全局变量标记当前节点。
触发折线命令,启动折线绘制模式;可以在网页上设置触发控件,或者设置其他快捷键触发折线命令,启动折线绘制模式,本领域技术人员应能理解上述设置触发控件,或者设置其他快捷键应用类型仅为举例,其他现有的或今后可能出现的触发折线命令的方法如可适用于本发明实施例,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
根据用户的鼠标点击,捕捉到用户的下一个结束标记点的像素坐标(x,y),假设捕捉的下一个结束标记点的像素坐标为(446,383),对应创建下一个结束节点包括创建下一个结束节点的图形子节点和下一个结束节点的文本子节点;
对于下一个结束节点的图形子节点和上述起始节点的图形子节点一样,需要创建下一个结束节点的图形子节点,以下一个结束标记点的像素点坐标为中心,设置一定长度的半径,用圆作为图形标注,或者在系统预先存储用于图形子节点标记的图形,例如五角星,三角形,小红旗等等,在下一个结束标记点的像素坐标(x,y)上添加预先存储的图形;
本实施例中,在SVG地图的DOM内创建一个下一个结束圆节点作为下一个结束节点的图形子节点,并作为SVG地图的DOM节点的一个子节点(childnode)。具体地,以下一个结束标记点的像素点坐标为中心,设置一定长度的半径,用圆作为图形标注,此时将圆的圆心坐标设置为下一个结束标记点的像素坐标,仍然设置圆半径为10个像素点的单位长度,下一个结束节点的cx和cy属性(attribute)为捕捉到的用户的下一个结束标记点的像素坐标(x,y),例如:<circle cx="446"cy="383"r="10"/>;
对于创建下一个结束节点的文本子节点,在SVG地图的DOM内创建一个文本节点,并作为SVG地图的DOM节点的一个子节点(child node)。
下一个结束节点的文本子节点的x、y属性为上述创建的下一个结束圆节点的中心坐标,优选地,在下一个结束节点的文本子节点中记录当前标记点的编号,其中,默认编号从0开始,依次递增,上述记录起始节点的文本子节点编号为0,结束节点的文本子节点编号递增为1,下一个结束节点的文本子节点编号递增为2,以此类推,例如:<text x="446"y="383">2</text>;
若当前节点有效,则创建结束节点和下一个结束节点之间的线节点。
按照上述步骤11至步骤14的方法创建线节点,仍然继续采用全局布尔变量作为离散路径的全局变量标记当前节点。步骤12中,已采用全局布尔变量标记当前节点为有效起点,以startNodeChosen作为本实施例的全局布尔变量,标记当前节点为有效起点,上述设置startNodeChosen为true,此时判断的当前节点仍为有效起点,则创建结束节点和下一个结束节点之间的线节点,并作为SVG地图的DOM节点的一个子节点。该线节点的两个端点(x2、y2)和(x3、y3)分别为上述所创建的结束圆节点的cx、cy属性值和下一个结束圆节点的cx、cy属性值。例如:<line x2="446"y2="373"x3="446"y3="383"/>,以此类推,可以创建下一个结束节点至下下一个结束节点,直至最后一个结束节点之间的线节点,此处不再赘述。
创建起始节点至最后一个结束节点之间的线节点之后,具体地,指创建完起始节点、结束节点以及下一个结束节点至最后一个结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。继续采用全局布尔变量作为离散路径的全局变量标记当前节点为无效起点,以startNodeChosen作为本实施例的全局布尔变量,标记当前节点为无效起点,例如:<startNodeChosen=false>。
方法二
先按照上述步骤11至步骤14的方法创建线节点,此时采用离散路径的全局变量标记的当前节点仍然为有效起点;
创建起始节点和结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点;仍然采用全局布尔变量作为离散路径的全局变量标记当前节点为无效起点,以startNodeChosen作为本实施例的全局布尔变量,具体地:<startNodeChosen=false>;
触发回退并捕捉上一个结束节点;其中上一个结束点可以是两点之间离散路径的结束点,也可以是多点之间折线路径的结束点;
本实施例中接着以上述步骤13中创建的结束节点为例,上一个结束节点为步骤13中创建的结束节点,可以在网页上设置触发控件,或者设置其他快捷键触发回退并捕捉上述步骤13中创建的结束节点,本领域技术人员应能理解上述设置触发控件,或者设置其他快捷键应用类型仅为举例,其他现有的或今后可能出现的触发回退并捕捉上一个结束节点的方法如可适用于本发明实施例,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
触发回退并捕捉上一个结束节点的图形子节点为:<circle cx="446"cy="373"r="10"/>;上一个结束节点的文本子节点为:<text x="446"y="373">1</text>。
再次标记当前节点为有效起点;另采用折线路径的全局变量,与离散路径制作机制不同,折线路径的全局变量只使用变量类型为DOM节点的currentNode全局变量来记录和标记当前节点,并不使用离散路径中用到的变量类型为布尔的全局变量startNodeChosen,再次标记当前节点为有效起点,此时触发回退并捕捉上一个结束节点为当前节点,优选地,采用currentNode作为折线路径的全局变量,再次标记当前节点为有效起点,设置currentNode=node_<节点编号>;比如,当前节点为上一个结束节点,节点编号为node_1,设置currentNode=node_1;
捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
根据用户的鼠标点击,捕捉到用户的下一个结束标记点的像素坐标(x,y),假设捕捉的下一个结束标记点的像素坐标为(446,383),对应创建下一个结束节点包括创建下一个结束节点的图形子节点和下一个结束节点的文本子节点;
对于下一个结束节点的图形子节点和上述起始节点的图形子节点一样,需要创建下一个结束节点的图形子节点,以下一个结束标记点的像素点坐标为中心,设置一定长度的半径,用圆作为图形标注,或者在系统预先存储用于图形子节点标记的图形,例如五角星,三角形,小红旗等等,在下一个结束标记点的像素坐标(x,y)上添加预先存储的图形;
本实施例中,在SVG地图的DOM内创建一个下一个结束圆节点作为下一个结束节点的图形子节点,并作为SVG地图的DOM节点的一个子节点(childnode)。具体地,以下一个结束标记点的像素点坐标为中心,设置一定长度的半径,用圆作为图形标注,此时将圆的圆心坐标设置为下一个结束标记点的像素坐标,仍然设置圆半径为10个像素点的单位长度,下一个结束节点的cx和cy属性(attribute)为捕捉到的用户的下一个结束标记点的像素坐标(x,y),例如:<circle cx="446"cy="383"r="10"/>;
对于创建下一个结束节点的文本子节点,在SVG地图的DOM内创建一个文本节点,并作为SVG地图的DOM节点的一个子节点(child node)。
下一个结束节点的文本子节点的x、y属性为上述创建的下一个结束圆节点的中心坐标,优选地,在下一个结束节点的文本子节点中记录当前标记点的编号,其中,默认编号从0开始,依次递增,上述记录起始节点的文本子节点编号为0,结束节点的文本子节点编号递增为1,下一个结束节点的文本子节点编号递增为2,以此类推,例如:<text x="446"y="383">2</text>;
若再次标记的当前节点为有效起点,则创建上一个结束节点和下一个结束节点之间的线节点。
按照上述步骤11至步骤14的方法创建线节点,上述创建起始节点和结束节点之间的线节点之后,已采用全局布尔变量startNodeChosen作为离散路径的全局变量标记当前节点为无效起点;再采用类型为DOM节点的变量currentNode作为折线路径的全局变量,再次用currentNode为标记当前节点为有效起点。
上述currentNode不为null,此时判断的当前节点仍为有效起点,则创建上一个结束节点和下一个结束节点之间的线节点,并作为SVG地图的DOM节点的一个子节点。本实施例中接着以上述步骤13中创建的结束节点为例,上一个结束节点为步骤13中创建的结束节点,该线节点的两个端点(x2、y2)和(x3、y3)分别为上述所创建的结束圆节点的cx、cy属性值和下一个结束圆节点的cx、cy属性值。例如:<line x2="446"y2="373"x3="446"y3="383"/>,以此类推,可以创建下一个结束节点至下下一个结束节点,直至最后一个结束节点之间的线节点,此处不再赘述。
创建起始节点至最后一个结束节点之间的线节点之后,采用折线路径的全局变量再次标记当前节点为无效起点。具体地,指创建完起始节点、结束节点以及下一个结束节点至最后一个结束节点之间的线节点之后,采用折线路径的全局变量再次标记当前节点为无效起点。继续采用类型为DOM节点的变量currentNode作为折线路径的全局变量,标记当前节点为无效起点,例如:<currentNode=null>。
基于上述离散路径绘制方法和折线路径绘制方法,都涉及到节点的标记,对于已标记的节点,需要完成两节点之间的连接时,本实施例提供如下方法:
触发连接命令,启动连接模式;
捕捉用户选择的两个节点;
创建两个节点之间连接的线节点。
触发连接命令,启动连接模式;可以在网页上设置触发控件,或者设置其他快捷键来触发连接命令,启动连接模式,本领域技术人员应能理解上述设置触发控件,或者设置其他快捷键应用类型仅为举例,其他现有的或今后可能出现的触发连接命令的方法如可适用于本发明实施例,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
捕捉用户选择的两个节点;用户在已有的节点中选择两个节点可以通过鼠标点击选择,也可以在网页上设置输入对话框供用户填写所选择的节点的文本子节点中记录的当前标记点的编号,本领域技术人员应能理解上述通过鼠标点击选择,或者设置输入对话框供用户填写应用类型仅为举例,其他现有的或今后可能出现的捕捉用户选择的两个节点的方法如可适用于本发明实施例,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
本实施例中,在网页上设置输入对话框供用户填写所选择的节点文本子节点中记录的当前标记点的编号,假设用户在输入对话框内填写的编号为0和2,则对应的是上述起始节点,和下一个结束节点,则创建起始节点和下一个结束节点之间的线节点,该线节点的两个端点(x1、y1)和(x3、y3)分别为上述所创建的起始圆节点的cx、cy属性值和下一个结束圆节点的cx、cy属性值。例如:<line x1="443"y1="373"x3="446"y3="383"/>。
实施例二
该实施例提供了一种地图路径标注装置,其具体实现结构如图3所示,具体可以包括如下的模块:
起始捕捉模块21:其用于捕捉用户的起始标记点;并根据所述起始标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建起始节点;包括:创建起始节点的图形子节点和创建起始节点的文本子节点;
第一标记模块22:其用于标记当前节点为有效起点;
结束捕捉模块23:其用于捕捉用户的结束标记点;并根据所述结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建结束节点;包括:创建结束节点的图形子节点和创建结束节点的文本子节点;
线节点模块24:若当前节点为有效起点,其用于则创建起始节点和结束节点之间的线节点。
一种地图路径标注装置,包括:文本记录组件201,其用于在所述文本子节点中记录当前标记点的编号。
一种地图路径标注装置,包括:第一标记组件25,其用于采用离散路径的全局变量标记当前节点为有效起点。
本实施例二提供对应上述实施例一中方法一的第一折线绘制模块26,包括:
触发模块261:其用于触发折线命令,启动折线绘制模式;
下一个结束捕捉模块262:其用于捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
下一个线节点模块263:若当前节点为有效起点,其用于创建结束节点和下一个结束节点之间的线节点。
第一折线绘制模块26,包括:第二标记组件264:其用于创建起始节点至最后一个结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。
本实施例二提供对应上述实施例一中方法二的第二折线绘制模块27,包括:
第二折线绘制模块27,包括:第一标记单元271,其用于在绘制离散路径时,创建起始节点和结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。
触发捕捉单元272:其用于触发回退并捕捉上一个结束节点;
第二标记单元273:其用于再次标记当前节点为有效起点;
下一个结束捕捉单元274:其用于捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
下一个线节点单元275:若再次标记的当前节点为有效起点,其用于创建上一个结束节点和下一个结束节点之间的线节点。
第二折线绘制模块27,包括:第三标记单元276:其采用折线路径的全局变量标记当前节点为有效起点。
第二折线绘制模块27,包括:第四标记单元277:其用于创建起始节点至最后一个结束节点之间的线节点之后,采用折线路径的全局变量再次标记当前节点为无效起点。
一种地图路径标注装置,还包括:连接模块28,包括:
触发连接模块281:其用于触发连接命令,启动连接模式;
两点捕捉模块282:其用于捕捉用户选择的两个节点;
两点线节点模块283:其用于创建两个节点之间连接的线节点。
用本发明实施例的装置进行地图路径标注的具体过程与前述方法实施例类似,此处不再赘述。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (18)

1.一种地图路径标注方法,其特征在于,包括:
捕捉用户的起始标记点;并根据所述起始标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建起始节点;包括:创建起始节点的图形子节点和创建起始节点的文本子节点;
标记当前节点为有效起点;
捕捉用户的结束标记点;并根据所述结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建结束节点;包括:创建结束节点的图形子节点和创建结束节点的文本子节点;
若当前节点为有效起点,则创建起始节点和结束节点之间的线节点。
2.根据权利要求1所述的一种地图路径标注方法,其特征在于,采用离散路径的全局变量标记当前节点为有效起点。
3.根据权利要求2所述的一种地图路径标注方法,其特征在于,当绘制多点折线路径时,包括:
触发折线命令,启动折线绘制模式;
捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
若当前节点为有效起点,则创建结束节点和下一个结束节点之间的线节点。
4.根据权利要求3所述的一种地图路径标注方法,其特征在于,包括:创建起始节点至最后一个结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。
5.根据权利要求4所述的一种地图路径标注方法,其特征在于,当绘制离散路径时,包括:创建起始节点和结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。
6.根据权利要求5所述的一种地图路径标注方法,其特征在于,当绘制多点折线路径时,包括:
触发回退并捕捉上一个结束节点;
再次标记当前节点为有效起点;
捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
若再次标记的当前节点为有效起点,则创建上一个结束节点和下一个结束节点之间的线节点。
7.根据权利要求6所述的一种地图路径标注方法,其特征在于,另采用折线路径的全局变量再次标记当前节点为有效起点。
8.根据权利要求7所述的一种地图路径标注方法,其特征在于,包括:创建起始节点至最后一个结束节点之间的线节点之后,采用折线路径的全局变量再次标记当前节点为无效起点。
9.根据权利要求4或8所述的一种地图路径标注方法,其特征在于,当连接已标记的两节点时,包括:
触发连接命令,启动连接模式;
捕捉用户选择的两个节点;
创建两个节点之间连接的线节点。
10.一种地图路径标注装置,其特征在于,包括:
起始捕捉模块:其用于捕捉用户的起始标记点;并根据所述起始标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建起始节点;包括:创建起始节点的图形子节点和创建起始节点的文本子节点;
第一标记模块:其用于标记当前节点为有效起点;
结束捕捉模块:其用于捕捉用户的结束标记点;并根据所述结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建结束节点;包括:创建结束节点的图形子节点和创建结束节点的文本子节点;
线节点模块:若当前节点为有效起点,其用于则创建起始节点和结束节点之间的线节点。
11.根据权利要求10所述的一种地图路径标注装置,其特征在于,包括:第一标记组件:其用于采用离散路径的全局变量标记当前节点为有效起点。
12.根据权利要求11所述的一种地图路径标注装置,其特征在于,包括:第一折线绘制模块,包括:
触发模块:其用于触发折线命令,启动折线绘制模式;
下一个结束捕捉模块:其用于捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
下一个线节点模块:若当前节点为有效起点,其用于创建结束节点和下一个结束节点之间的线节点。
13.根据权利要求12所述的一种地图路径标注装置,其特征在于,所述第一折线绘制模块,包括:第二标记组件:创建起始节点至最后一个结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。
14.根据权利要求11所述的一种地图路径标注装置,其特征在于,包括:第二折线绘制模块,包括:第一标记单元,其用于在绘制离散路径时,创建起始节点和结束节点之间的线节点之后,采用离散路径的全局变量标记当前节点为无效起点。
15.根据权利要求12所述的一种地图路径标注装置,其特征在于,包括:第二折线绘制模块,包括:
触发捕捉单元:其用于触发回退并捕捉上一个结束节点;
第二标记单元:其用于再次标记当前节点为有效起点;
下一个结束捕捉单元:其用于捕捉用户的下一个结束标记点;并根据所述下一个结束标记点的像素坐标在SVG(可缩放矢量图形)地图的DOM(文档对象模型)中创建下一个结束节点;包括:创建下一个结束节点的图形子节点和下一个创建结束节点的文本子节点;
下一个线节点单元:若再次标记的当前节点为有效起点,其用于创建上一个结束节点和下一个结束节点之间的线节点。
16.根据权利要求15所述的一种地图路径标注装置,其特征在于,所述第二折线绘制模块,包括:第三标记单元:其用于采用折线路径的全局变量再次标记当前节点为有效起点。
17.根据权利要求16所述的一种地图路径标注装置,其特征在于,所述第二折线绘制模块,包括:第四标记单元:其用于创建起始节点至最后一个结束节点之间的线节点之后,采用折线路径的全局变量再次标记当前节点为无效起点。
18.根据权利要求14或17所述的一种地图路径标注装置,其特征在于,还包括:连接模块,包括:
触发连接模块:其用于触发连接命令,启动连接模式;
两点捕捉模块:其用于捕捉用户选择的两个节点;
两点线节点模块:其用于创建两个节点之间连接的线节点。
CN201510249788.4A 2015-05-15 2015-05-15 一种地图路径标注方法和装置 Active CN104881448B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510249788.4A CN104881448B (zh) 2015-05-15 2015-05-15 一种地图路径标注方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510249788.4A CN104881448B (zh) 2015-05-15 2015-05-15 一种地图路径标注方法和装置

Publications (2)

Publication Number Publication Date
CN104881448A true CN104881448A (zh) 2015-09-02
CN104881448B CN104881448B (zh) 2019-03-01

Family

ID=53948942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510249788.4A Active CN104881448B (zh) 2015-05-15 2015-05-15 一种地图路径标注方法和装置

Country Status (1)

Country Link
CN (1) CN104881448B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106871907A (zh) * 2017-04-01 2017-06-20 深圳市科漫达智能管理科技有限公司 一种位置获取方法以及装置
CN107180139A (zh) * 2017-06-06 2017-09-19 北京华大九天软件有限公司 一种在版图中创建不同标记的方法及装置
CN107369198A (zh) * 2017-08-05 2017-11-21 中山大学 一种用于ARCGIS Web地图的多折线绘制方法
CN109074376A (zh) * 2016-03-28 2018-12-21 微软技术许可有限责任公司 绘图接口中的上下文墨迹标注
CN110867243A (zh) * 2019-10-16 2020-03-06 平安科技(深圳)有限公司 一种图像标注方法、装置、计算机系统及可读存储介质
CN113836877A (zh) * 2021-09-28 2021-12-24 北京百度网讯科技有限公司 一种文本标注方法、装置、设备以及存储介质
US20220196407A1 (en) * 2020-12-04 2022-06-23 Korea National University Of Transportation Industry - Academy Cooperation Foundation Method for indoor route planning and automatic marker making for indoor navigation using markers
CN114969236B (zh) * 2022-07-25 2022-11-25 倍智智能数据运营有限公司 一种基于React实现自定义地图标注的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140114994A1 (en) * 2012-10-24 2014-04-24 Marklogic Corporation Apparatus and Method for Securing Preliminary Information About Database Fragments for Utilization in Mapreduce Processing
CN103927934A (zh) * 2013-01-14 2014-07-16 北京中交兴路信息科技有限公司 一种闭合围栏绘制的方法及系统
CN103927374A (zh) * 2014-04-24 2014-07-16 盐城工学院 一种基于SharpMap的Web GIS地图图层创建方法
CN103970859A (zh) * 2014-04-29 2014-08-06 杨立法 一种基于SVG的Google用户地图文本标注方法
US20140280363A1 (en) * 2013-03-15 2014-09-18 Oracle International Corporation Determining hierarchical paths to nodes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140114994A1 (en) * 2012-10-24 2014-04-24 Marklogic Corporation Apparatus and Method for Securing Preliminary Information About Database Fragments for Utilization in Mapreduce Processing
CN103927934A (zh) * 2013-01-14 2014-07-16 北京中交兴路信息科技有限公司 一种闭合围栏绘制的方法及系统
US20140280363A1 (en) * 2013-03-15 2014-09-18 Oracle International Corporation Determining hierarchical paths to nodes
CN103927374A (zh) * 2014-04-24 2014-07-16 盐城工学院 一种基于SharpMap的Web GIS地图图层创建方法
CN103970859A (zh) * 2014-04-29 2014-08-06 杨立法 一种基于SVG的Google用户地图文本标注方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109074376A (zh) * 2016-03-28 2018-12-21 微软技术许可有限责任公司 绘图接口中的上下文墨迹标注
CN109074376B (zh) * 2016-03-28 2022-05-13 微软技术许可有限责任公司 绘图接口中的上下文墨迹标注
CN106871907A (zh) * 2017-04-01 2017-06-20 深圳市科漫达智能管理科技有限公司 一种位置获取方法以及装置
CN107180139A (zh) * 2017-06-06 2017-09-19 北京华大九天软件有限公司 一种在版图中创建不同标记的方法及装置
CN107369198A (zh) * 2017-08-05 2017-11-21 中山大学 一种用于ARCGIS Web地图的多折线绘制方法
CN110867243A (zh) * 2019-10-16 2020-03-06 平安科技(深圳)有限公司 一种图像标注方法、装置、计算机系统及可读存储介质
US20220196407A1 (en) * 2020-12-04 2022-06-23 Korea National University Of Transportation Industry - Academy Cooperation Foundation Method for indoor route planning and automatic marker making for indoor navigation using markers
CN113836877A (zh) * 2021-09-28 2021-12-24 北京百度网讯科技有限公司 一种文本标注方法、装置、设备以及存储介质
CN114969236B (zh) * 2022-07-25 2022-11-25 倍智智能数据运营有限公司 一种基于React实现自定义地图标注的方法

Also Published As

Publication number Publication date
CN104881448B (zh) 2019-03-01

Similar Documents

Publication Publication Date Title
CN104881448A (zh) 一种地图路径标注方法和装置
CN103946836B (zh) 使用非光栅地图数据的修改来渲染地图图像的方法和设备
CN103597469B (zh) 集成开发环境中的实况浏览器工具
CN102411614A (zh) 图像搜索结果的显示
CN104216699B (zh) 一种基于html5的图标展示系统
CN103873277A (zh) 一种分层的网络拓扑可视化方法及系统
CN106155644B (zh) 适用于智能电视浏览器的网页焦点控制实现方法
CN105260170B (zh) 一种基于案例的突发事件态势推演方法及系统
CN106500686A (zh) 导航界面显示方法、物流导航方法和装置
CN102306174A (zh) 一种基于网页元素与用户进行互动的方法与设备
CN105068815A (zh) 页面编辑器交互装置和方法
CN101587438A (zh) Arp框架下的图形化流程模板绘制方法
CN102004756A (zh) 跨越web映射的流量可视化
CN103793178B (zh) 一种移动设备触摸屏中矢量图形编辑方法
EP2950274B1 (en) Method and system for generating motion sequence of animation, and computer-readable recording medium
US20030179231A1 (en) Method for browsing virtual three-dimensional information, computer program and storage medium
CN103927934A (zh) 一种闭合围栏绘制的方法及系统
CN106776939A (zh) 一种图像无损标注方法及系统
CN104503755A (zh) 基于html5高清位图的动态信息融合展现方法
CN107577750A (zh) 绘制导航数据矢量路口的方法和系统
CN102163193A (zh) 超链接地图信息系统
CN108268260A (zh) 一种基于一体化支撑技术的快速微应用组装方法
CN104794174A (zh) 用于显示网页标记信息的方法与装置
CN104346174B (zh) 一种在线矢量图建模过程的描述与重现方法
JP5937038B2 (ja) トポロジー図の作成方法及び作成プログラム

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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor

Patentee after: RUIJIE NETWORKS Co.,Ltd.

Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor

Patentee before: Beijing Star-Net Ruijie Networks Co.,Ltd.