地理信息线要素伪节点检查方法及装置与流程

文档序号:11230646阅读:841来源:国知局
地理信息线要素伪节点检查方法及装置与流程

本发明涉及测绘领域,具体而言,涉及一种地理信息线要素伪节点检查方法及装置。



背景技术:

在测绘领域中,伪节点指的是地理信息成果数据中线要素内存在的不必要的节点,而伪节点的存在可能会对该地理信息成果数据的质量造成不良影响,因此需要有一种方法能够快速有效的检查出这些伪节点。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种地理信息线要素伪节点检查方法及装置,旨在解决上述问题。

第一方面,本发明实施例提供了一种地理信息线要素伪节点检查方法,所述方法包括:获取地理信息成果数据;获取所述地理信息成果数据中包含每条线对象端点的邻近点集合;获取所述邻近点集合中的每个邻近点自身对应的线对象和与其相邻的线对象的属性信息;若当前邻近点对应的线对象和与其相邻的线对象的属性信息相同,则判定所述当前邻近点为不合理的邻近点。

第二方面,本发明实施例还提供了一种地理信息线要素伪节点检查装置,所述装置包括:数据获取模块,用于获取地理信息成果数据;邻近点集合获取模块,用于获取所述地理信息成果数据中包含每条线对象端点的邻近点集合;线对象获取模块,用于获取所述邻近点集合中的每个邻近点自身对应的线对象和与其相邻的线对象的属性信息;伪节点判断模块,用于在当前邻近点对应的线对象和与其相邻的线对象的属性信息相同时,判定所述当前邻近点为不合理的邻近点。

本发明提供的地理信息线要素伪节点检查方法及装置,通过获取所述地理信息成果数据中包含每条线对象端点的邻近点集合,根据每个邻近点的信息得知相互邻近的线对象,再通过获取相互邻近的线对象的属性信息,来判断相互邻近的线对象是否属性相同,进而确认相互邻近的线对象之间的邻近点是否是伪节点。在当前邻近点对应的线对象和与其相邻的线对象的属性信息相同时,判定当前邻近点为伪节点,快速而有效的实现了对地理信息成果数据的线要素中的伪节点的检查,以便及时发现伪节点并进行后续的处理。

本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为一种可应用于本发明实施例中的电子设备的结构框图;

图2为本发明第一实施例提供的地理信息线要素伪节点检查方法的流程框图;

图3为本发明第二实施例提供的地理信息线要素伪节点检查方法的流程框图;

图4为本发明第二实施例提供的获取邻近点集合的流程框图;

图5为本发明第二实施例提供的获取线对象属性的流程框图;

图6为本发明第二实施例提供的伪节点检查第一阶段的示意图;

图7为本发明第二实施例提供的伪节点检查第二阶段的示意图;

图8为本发明第二实施例提供的伪节点检查第三阶段的示意图;

图9为本发明第三实施例提供的地理信息线要素伪节点检查装置的结构框图;

图10为本发明第四实施例提供的地理信息线要素伪节点检查装置的结构框图;

图11为本发明第四实施例提供的邻近点集合获取模块的结构框图;

图12为本发明第四实施例提供的线对象获取模块的结构框图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

图1示出了一种可应用于本申请实施例中的电子设备100的结构框图。如图1所示,电子设备100可以包括存储器110、存储控制器120、处理器130和地理信息线要素伪节点检查装置。例如,该电子设备100可以为个人电脑(personalcomputer,pc)、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)等。

存储器110、存储控制器120、处理器130、地理信息线要素伪节点检查装置各元件之间直接或间接地电连接,以实现数据的传输或交互。例如,这些元件之间可以通过一条或多条通讯总线或信号总线实现电连接。所述地理信息线要素伪节点检查方法分别包括至少一个可以以软件或固件(firmware)的形式存储于存储器110中的软件功能模块,例如所述地理信息线要素伪节点检查装置包括的软件功能模块或计算机程序。

存储器110可以存储各种软件程序以及模块,如本申请实施例提供的地理信息线要素伪节点检查方法及装置对应的程序指令/模块。处理器130通过运行存储在存储器110中的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本申请实施例中的地理信息线要素伪节点检查方法。存储器110可以包括但不限于随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。

处理器130可以是一种集成电路芯片,具有信号处理能力。上述处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

当电子设备100为具有自显示功能时,还可以包括显示模块,该显示模块可以在所述电子设备100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。例如,可以显示地理信息线要素伪节点检查装置对伪节点的判定结果。

第一实施例

请参照图2,本发明实施例提供了一种地理信息线要素伪节点检查方法,所述方法包括:

步骤s200:获取地理信息成果数据;

所述地理信息成果数据是基于arcgis平台获取的待检查路径的数据,所述地理信息成果数据中包含了多个点、线、面类型的图层,将待查路径的数据录入arcgis平台后还需进行数据初始化,以便提取该数据中包含的多个线要素拓扑图层,伪节点即为这些线要素中存在的不必要的节点。

步骤s210:获取所述地理信息成果数据中包含每条线对象端点的邻近点集合;

通过预设的图层过滤条件可以将所述地理信息成果数据中包含的点要素图层和面要素图层过滤掉,留下本实施例中需要进行检查的线要素图层的部分,一条线对象即为一个线要素。所述预设的图层过滤条件可以根据实际需求进行设定,例如,可以调节其对线要素过滤的容限值(clustertolerance)和精度等级(coordinateaccuracyrank),此时所述预设的图层过滤条件也可以看作是对线要素的拓扑约束条件。获取所有需要进行检查的线对象之后,可以进一步获取每条线对象的端点,通过循环检查每个端点的信息,获得相互邻近的端点,并以当前检查的端点为初始端点,将这些相互邻近的端点(包括所述初始端点)共同作为一个邻近点,即表示这些相互邻近的端点所分别对应的线对象之间,也是相互邻近的。可以理解的是,每个邻近点都可以是线对象之间的节点,获取了包含每条线对象端点的邻近点集合,相当于知道了相互邻近的线对象有哪些,而相互邻近的线对象之间有可能出现不必要的节点即伪节点,此时就需要对这些邻近点是否是伪节点进一步进行判断。在本实施例的具体实施方案中,每条线对象的两个端点都具有相应的标识信息,例如,线对象的id为1,该线对象的两个端点的标识可以分别为(1,frompoint)和(1,endpoint),以此来保证每个端点都是独一无二的。

步骤s220:获取所述邻近点集合中的每个邻近点自身对应的线对象和与其相邻的线对象的属性信息;

通过遍历所述邻近点集合,逐一对所述邻近点集合中的所有邻近点进行检查,获取每个邻近点的信息。在本实施例中,每个邻近点都包含了自身对应的线对象和与其相邻的线对象的身份信息,即自身id和邻近id,而每个邻近点都是以某一条线对象的某一个端点(为易于理解以下简称a端点)为基础设置的,此时,作为初始端点的a端点所对应的线对象,可以认为是以a端点为初始端点设置的邻近点自身所对应的线对象,而该邻近点的自身id就是其自身所对应的线对象的身份信息。可以理解的是,所述线对象的身份信息是每条线对象自身所具有的标记,每条线对象的身份信息都是不同的,但是其属性信息却有可能是相同的,而属性相同且相邻的线对象之间的节点可以认为是不必要的。通过获取相邻线对象的属性信息,以便对所述属性信息进行进一步比较。

步骤s230:若当前邻近点对应的线对象和与其相邻的线对象的属性信息相同,则判定所述当前邻近点为不合理的邻近点。

相邻且属性信息相同的线对象,虽然其身份信息不同,位置不同,但是具有的属性却是相同。此时可以认为,相邻且属性信息相同的线对象之间的用于分隔的节点是不必要的,该节点为伪节点。在本实施例中,若邻近点附近的线对象的属性信息是相同的,可以判定该邻近点为不合理的邻近点,该邻近点所表示的节点即为不必要的伪节点。

第二实施例

请参照图3,本发明实施例提供了一种地理信息线要素伪节点检查方法,所述方法包括:

步骤s300:获取地理信息成果数据;

步骤s310:获取所述地理信息成果数据中包含每条线对象端点的邻近点集合;

步骤s320:获取所述邻近点集合中的每个邻近点自身对应的线对象和与其相邻的线对象的属性信息;

本实施例中,上述步骤s300、步骤s310及步骤s320的具体实施方式可以参照上述第一实施例中的步骤s200、步骤s210及步骤s220,此处不再赘述。

步骤s330:判断当前邻近点自身对应的线对象和与其相邻的线对象的属性信息是否相同;

若当前邻近点对应的线对象和与其相邻的线对象的属性信息相同,则执行步骤s340;

若当前邻近点对应的线对象和与其相邻的线对象的属性信息不同,则执行步骤s350。

步骤s340:判定所述当前邻近点为不合理的邻近点。

步骤s350:判定所述当前邻近点为合理的邻近点。

本实施例提供的地理信息线要素伪节点检查方法的主要目的是为了检查出不合理的邻近点,经过判定的不合理的邻近点可以输出,而合理的邻近点可以不用输出。

请参照图4,在本实施例中,具体的,步骤s310可以包含如下子步骤:

步骤s312:根据所述地理信息成果数据建立包含每条线对象端点的集合;

通过预设的图层过滤条件可以将所述地理信息成果数据中包含的点要素图层和面要素图层过滤掉,留下本实施例中需要进行检查的线要素图层的部分,一条线对象即为一个线要素。获取所有需要进行检查的线对象之后,可以进一步获取每条线对象的端点,这些端点共同构成了所述包含每条线对象端点的集合。

步骤s314:获取当前端点;

循环检查每个端点的信息,可以依据预设的线对象的身份信息所标记的顺序对每个端点进行逐个提取,而每次提取的需要进行即刻检查的端点即可认为是当前端点。

步骤s316:判断所述当前端点在预设的搜索半径内是否存在其它端点;

以所述当前端点为中心,在预设的搜索半径内进行检查,以得知在预设的搜索半径内是否存在其它线对象的端点。由于每条线对象都有其长度信息,在上述步骤s312中获取了需要检查的线对象之后,可以根据长度最短的线对象来设置搜索半径的上限,以此确保搜索范围内不会同时存在同一线对象的两个端点;也可以根据具体的设计要求中对伪节点的精度要求来对搜索半径的数值进行设置。

若所述当前端点在预设的搜索半径内存在其它端点,且所述其它端点的数量为n,则执行步骤s317;

若所述当前端点在预设的搜索半径内不存在其它端点,则执行步骤s318。

步骤s317:将所述当前端点与所述其它端点共同设置为一个邻近点,所述邻近点的邻近点数设置为n,自身id设置为所述当前端点对应的线对象的id,邻近id设置为所述其他端点对应的n条线对象的id的集合;

在预设的搜索半径内还存在其它端点,可以认为存在其它的线对象与所述当前端点所对应的线对象相邻,即当前端点附近可能存在伪节点。在本实施例中,每个邻近点都包括三种基本信息,分别为邻近点数、自身id和邻近id,自身id为当前邻近点自身对应的线对象的id,邻近id为与所述当前邻近点相邻的线对象的id。本实施例中,n可以是大于0的自然数,邻近点数的初始值为0,若以当前端点为中心在预设的搜索半径内搜索出了n个其它端点,那么可以认为包括当前端点在内的这些端点非常靠近,可以近似看作是一个节点,即一个邻近点,该邻近点以当前端点为基础的邻近端点的数量即为n,该邻近点的邻近点数所表示的即是当前端点附近所存在的其他端点的数量,进一步可以认为是与当前端点所对应的线对象相邻的其他线对象的数量。由于邻近点是以当前端点为基础进行设置的,邻近点所对应的线对象的身份信息即自身id,可以认为是当前端点对应的线对象的id。在本实施例中,可以理解的是,邻近点是以当前端点为基础,加入与当前端点相邻的其他端点共同设置的,邻近点的自身id表示的是当前端点对应的线对象身份信息,邻近id表示的是其他相邻端点所对应的线对象的身份信息集合。

步骤s318:将所述当前端点设置为一个邻近点,所述邻近点的邻近点数为0,自身id设置为所述当前端点对应的线对象的id;

若以当前端点为中心,在预设的搜索半径内搜索不出其他端点,那么可以认为当前端点是独立的,当前端点所对应的线对象在当前端点一侧也没有邻近的其他线对象。此时以当前端点为基础设置的邻近点中只包当前端点所对应的线对象的身份信息即自身id,其邻近点数为0,邻近id可以为空。

本实施例中,执行完成步骤s317或步骤s318后,若所述包含每条线对象端点的集合中还有剩余的端点既没有进行检查,也没有被归入设置为邻近点,那么返回执行步骤s314,进行下一个端点的检查。通过遍历端点集合,将端点集合中的每个端点都归入邻近点中,以得到包含每条线对象端点的邻近点集合。

步骤s319:得到包含每条线对象端点的邻近点集合。

本实施例中,包含每条线对象端点的集合中,已经设置为邻近点的端点不再重复参与设置。可以理解的是,已经被当作其他端点归入已经设置完成的邻近点的端点,不再参与后续的邻近点设置步骤,即邻近点集合中每个邻近点中包括的端点都是独一无二的,不会在两个邻近点中重复出现同一端点,目的是为了不会重复建立相同的邻近点。

请参照图5,在本实施例中,具体的,步骤s320可以包含如下子步骤:

步骤s322:获取当前邻近点;

获取当前邻近点所包含的三种基本信息,即当前邻近点邻近点数、自身id和邻近id。

步骤s324:判断所述当前邻近点的邻近点数是否为1;

本实施例的某些实施方案中,只有在当前邻近点的邻近点数n为1,即只有一条其他线对象与当前邻近点对应的线对象相邻时,才有可能出现伪节点。可以认为,若同时出现三条及以上的线对象共用同一节点,那么该节点一定不是伪节点。根据对伪节点的定义不同,本实施例的其他的实施方案中可能存在同时出现三条及以上的线对象共用同一节点的情况下,该节点也被认为是检查对象,即本实施例提供的地理信息线要素伪节点检查方法不仅可以用于检查常规的伪节点,还可以用于检查共用同一节点的线对象的数量及其信息。

若所述当前邻近点的邻近点数为1,则执行步骤s326;

若所述当前邻近点的邻近点数不为1,且所述邻近点集合中还有未检查的其他邻近点存在,返回执行步骤s322以检查下一个邻近点。

步骤s326:获取所述当前邻近点对应的线对象和与其相邻的线对象的属性信息。

本实施例中,若邻近的两条线对象的属性信息相同,即可认为这两条线对象之间的节点不必要,即邻近的两条线对象的属性信息是否相同可用于判断其共用的节点是否是伪节点。

请参照图6、图7和图8,分别为本实施例中,进行步骤s312、步骤s319和步骤s340之后获取的成果示意图。其中,标号为1和标号为2的线对象属性信息相同,标号为3和标号为4的线对象属性信息相同,标号为5的线对象为两个端点相互邻近的圆弧形线对象。

第三实施例

请参照图9,本实施例提供一种地理信息线要素伪节点检查装置400,运行于电子设备。所述地理信息线要素伪节点检查装置400包括数据获取模块410、邻近点集合获取模块420、线对象获取模块430和伪节点判断模块440。

数据获取模块410,用于获取地理信息成果数据;

邻近点集合获取模块420,用于获取所述地理信息成果数据中包含每条线对象端点的邻近点集合;

线对象获取模块430,用于获取所述邻近点集合中的每个邻近点自身对应的线对象和与其相邻的线对象的属性信息;

伪节点判断模块440,用于在当前邻近点对应的线对象和与其相邻的线对象的属性信息相同时,判定所述当前邻近点为不合理的邻近点。

第四实施例

请参照图10,本实施例提供一种地理信息线要素伪节点检查装置500,运行于电子设备。所述地理信息线要素伪节点检查装置500包括数据获取模块510、邻近点集合获取模块520、线对象获取模块530和伪节点判断模块540。

数据获取模块510,用于获取地理信息成果数据;

邻近点集合获取模块520,用于获取所述地理信息成果数据中包含每条线对象端点的邻近点集合;

线对象获取模块530,用于获取所述邻近点集合中的每个邻近点自身对应的线对象和与其相邻的线对象的属性信息;

伪节点判断模块540,用于在当前邻近点对应的线对象和与其相邻的线对象的属性信息相同时,判定所述当前邻近点为不合理的邻近点;以及在当前邻近点对应的线对象和与其相邻的线对象的属性信息不同时,判定所述当前邻近点为合理的邻近点。

请参照图11,在本实施例中,所述邻近点集合获取模块520包括:

端点集合建立单元522,用于根据所述地理信息成果数据建立包含每条线对象端点的集合;

端点提取单元524,用于获取当前端点;

邻近搜索单元526,用于判断所述当前端点在预设的搜索半径内是否存在其它端点;

邻近点设置单元527,用于在所述当前端点在预设的搜索半径内存在其它端点,且所述其它端点的数量为n时,将所述当前端点与所述其它端点共同设置为一个邻近点,所述邻近点的邻近点数设置为n,自身id设置为所述当前端点对应的线对象的id,邻近id设置为所述其他端点对应的n条线对象的id的集合;以及在所述当前端点在预设的搜索半径内不存在其它端点时,将所述当前端点设置为一个邻近点,所述邻近点的邻近点数为0,自身id设置为所述当前端点对应的线对象的id;

邻近点收集单元528,用于得到包含每条线对象端点的邻近点集合。

请参照图12,在本实施例中,所述线对象获取模块530包括:

邻近点提取单元532,用于获取当前邻近点;

邻近点数判断单元534,用于判断所述当前邻近点的邻近点数是否为1;

线对象属性获取单元536,用于在所述当前邻近点的邻近点数为1时,获取所述当前邻近点对应的线对象和与其相邻的线对象的属性信息。

综上所述,本发明提供的地理信息线要素伪节点检查方法及装置,通过获取所述地理信息成果数据中包含每条线对象端点的邻近点集合,根据每个邻近点的信息得知相互邻近的线对象,再通过获取相互邻近的线对象的属性信息,来判断相互邻近的线对象是否属性相同,进而确认相互邻近的线对象之间的邻近点是否是伪节点。在当前邻近点对应的线对象和与其相邻的线对象的属性信息相同时,判定当前邻近点为伪节点,快速而有效的实现了对地理信息成果数据的线要素中的伪节点的检查,以便及时发现伪节点并进行后续的处理。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1