一种矩形Cartogram的生成方法

文档序号:37355899发布日期:2024-03-18 18:40阅读:19来源:国知局
一种矩形Cartogram的生成方法

本发明属于地理空间信息可视化领域,具体涉及一种矩形cartogram的生成方法。


背景技术:

1、矩形cartogram是一种将地理对象的原始形状变为矩形并且以矩形面积来表示地理对象属性值大小的地图形式,它作为一种简单连续的cartogram,在表达属性值的同时,还兼顾了各区域之间的拓扑关系;因此这种具有均匀、规则的制图方式为定量信息的比较分析提供了便利。

2、recmap算法逻辑是现有的生成矩形cartogram的方法中常用的算法,该算法逻辑直接利用原始地图中的地理信息来生成矩形cartogram;具体的recmap算法是一个从中心向四周逐步生成矩形cartogram的过程,该算法通过逐步放置区域来构建一个布局,从而达到优化整体布局的效果;但是,该算法在构造矩形cartogram的过程中不改变区域的长宽比;在构造之前,recmap算法根据原始地图计算出区域的长宽比,并且在构造过程中始终保持区域的长宽比不变;虽然这样会保持区域原本的长宽比,提高识别性,但是在构造过程中区域的长宽比不能为了保持正确的拓扑关系做出调整,因此生成的矩形cartogram有很大的拓扑误差;并且由于该算法在构造过程中固定了长宽比,如果按照正确的拓扑关系构造矩形cartogram可能会造成区域重叠,而为了解决这个问题,recmap算法在构造过程中会简化拓扑关系,例如调整区域的相对位置和减少邻接区域数量,这意味着在构造矩形cartogram时,一些原本是邻接的区域可能会被认定为非邻接的关系。这样会导致原本应该相邻的区域在矩形cartogram中可能会被分开或调整位置,从而导致区域之间的相对位置和邻接关系出现大量错误;因此,虽然该算法可以实现零制图误差,但是存在较大的拓扑误差,这会导致用户在使用该算法生成的矩形cartogram进行数据分析时无法获取或使用错误的重要地理位置信息。


技术实现思路

1、本发明的目的在于提供一种矩形cartogram的生成方法,用于解决现有的生成矩形cartogram的方法生成的矩形cartogram存在较大的拓扑误差的问题。

2、为了实现上述目的,本发明提供了一种矩形cartogram的生成方法,根据由原始地图生成的初始矩形分割图,确定原始地图中的各原始区域对应的矩形分割区域;选择设定分割区域,根据所述分割区域的期望面积以及该区域与初始矩形分割图的相对关系将该设定分割区域作为起始区域放置到矩形cartogram中,并继续根据分割区域对应的拓扑关系、期望面积以及已放置到矩形cartogram中的分割区域的集合,将其他分割区域放置到矩形cartogram中,直至所有分割区域均完成放置,以生成矩形cartogram;

3、分割区域对应的拓扑关系均根据所述初始矩形分割图确定,期望面积根据所述初始矩形分割图以及原始地图中各原始区域对应的属性数据确定。

4、上述技术方案的有益效果为:能够在将各分割区域放置到矩形cartogram中的过程中,综合考虑当前要放置的分割区域与所有已放置区域的拓扑关系以及期望面积,从而保证邻接区域能够在保证制图误差较小的情况下,尽量将按照原始地图中各原始区域对应的拓扑关系进行放置,从而改善了现有生成算法生成的矩形cartogram的拓扑误差较大的问题,增加了生成的矩形cartogram中各区域之间相对位置的准确性。

5、进一步地,所述设定分割区域根据初始矩形分割图中心点所在位置的区域确定。

6、上述技术方案的有益效果为:从与较多分割区域邻接、在拓扑关系中较多分割区域关联较强的中心区域开始,从中心向四周放置各个分割区域,能够尽量保持放置的各个分割区域之间正确的拓扑关系。

7、进一步地,根据分割区域对应的拓扑关系、期望面积以及已放置到矩形cartogram中的分割区域的集合,将其他分割区域放置到矩形cartogram中的方式包括:

8、1)将已放置到矩形cartogram中的分割区域作为已放置区域,所有已放置到矩形cartogram中的分割区域作为已放置区域的集合,放置到矩形cartogram中的分割区域在矩形cartogram中的位置作为对应的放置位置,其他分割区域作为未放置区域;根据已放置区域的集合和未放置区域对应的拓扑关系,选择在初始位置中与已放置区域的集合相邻接的至少一个未放置区域作为邻接区域,用于进行本次放置;所述初始位置为各分割区域根据初始矩形分割图确定的对应位置;所述邻接区域为矩形,若邻接区域包含多个分割区域,则所述多个分割区域的中心点在同一水平线上或垂直线上;

9、2)根据期望面积、已放置区域的集合对应的放置位置及其与邻接区域对应的拓扑关系,将邻接区域放置到矩形cartogram中,以完成放置;

10、3)若邻接区域放置完成后仍存在未放置区域,则重复步骤1)-3),直至所有未放置区域均完成放置。

11、上述技术方案的有益效果为:在将其他分割区域放置到矩形cartogram中的过程中,每次放置的邻接区域可以包含一个或多个相邻接的未放置区域,只要这些未放置区域按照对应的拓扑关系能够构成一个完整的矩形,即可将这些未放置区域作为一个邻接区域处理;这样的能够将多个未放置区域作为一个邻接区域处理的设置保证了多个未放置区域构成的整体的拓扑关系不会出错,这样不会干扰到后续分割区域的放置,可以使整体矩形cartogram保持最优的拓扑关系。

12、进一步地,将邻接区域放置到矩形cartogram中的方式包括:

13、若在初始位置中,邻接区域与已放置区域的集合相邻接的某条边的两个端点位置相同,则将已放置区域的集合对应的放置位置中该边对应的长度和位置作为邻接区域放置到矩形cartogram中时形成的矩形的长度和其中一条边的位置,并根据该长度和邻接区域的期望面积,得到形成的矩形的宽度,从而确定所述矩形的整体位置;

14、如果邻接区域包含单个分割区域,则根据所述整体位置确定分割区域对应的放置位置;如果邻接区域包含多个相互邻接的分割区域,则根据邻接区域中各分割区域的对应的拓扑关系以及期望面积,对所述整体位置进行分割,确定各分割区域对应的放置位置。

15、上述技术方案的有益效果为:在邻接区域与已放置区域的集合相邻接的某条边的两个端点位置均相同的情况下,能先通过根据初始矩形分割图确定的拓扑关系确定邻接区域放置到矩形cartogram中时形成的矩形的长度和其中一条边的位置以实现初步定位,保证了邻接区域对应的放置位置拓扑关系方面的准确性,再根据期望面积得到矩形的宽度,保证邻接区域对应的放置位置在制图方面的准确性,即表达对应属性数据的准确性,由此能够在先保证生成的矩形cartogram的拓扑误差较小的前提下再考虑制图误差,从而进一步改善现有生成算法生成的矩形cartogram的拓扑误差较大的问题。

16、进一步地,将邻接区域放置到矩形cartogram中的方式还包括:

17、若在初始位置中,邻接区域与已放置区域的集合相邻接的某条边的其中一个端点位置相同,则以该端点为确定端点,将已放置区域的集合对应的放置位置中该确定端点对应的位置作为邻接区域放置到矩形cartogram中时形成的矩形的其中一条边的一个端点的位置;

18、将邻接区域的该条边的另一个端点作为待定端点,根据初始位置中待定端点与相邻接的已放置区域的集合的位置关系,确定待定端点的位置范围,取位置范围中的不同位置作为待定端点的模拟位置,确定不同的模拟位置对应的待定端点与确定端点的距离和位置作为邻接区域放置到矩形cartogram中时形成的矩形的长度和其中一条边的位置,并根据该长度和邻接区域的期望面积,得到形成的矩形的宽度,从而确定不同的模拟位置对应的所述矩形的整体位置;

19、分别比较不同的模拟位置对应的所述矩形的整体位置与已放置区域的集合对应的放置位置之间的位置关系、邻接区域与已放置区域的集合的初始位置之间的位置关系,选择使得两种位置关系之间的差异满足设定误差条件的所述矩形的整体位置作为所述矩形的实际位置;

20、如果邻接区域包含单个分割区域,则根据所述实际位置确定分割区域对应的放置位置;如果邻接区域包含多个相互邻接的分割区域,则根据邻接区域中各分割区域对应的拓扑关系以及期望面积,对所述实际位置进行分割,确定各分割区域对应的放置位置。

21、上述技术方案的有益效果为:在邻接区域仅与已放置区域的集合相邻接的某条边的一个端点位置相同的情况下,先通过该边的另一个待定的端点与相邻接的各已放置区域的位置关系(即拓扑关系),大致确定待定的端点在满足与相邻接的各已放置区域的拓扑关系的情况下可能的位置,再从根据各个可能的位置得到的矩形中选出与已放置区域的集合的相对位置较为接近原始地图中对应的位置关系的矩形,将该矩形位置作为邻接区域对应的放置位置,从而使生成的矩形cartogram中区域之间的拓扑关系更符合原始地图中各原始区域的拓扑关系,减少矩形cartogram的拓扑误差。

22、进一步地,将邻接区域放置到矩形cartogram中的方式还包括:

23、若在初始位置中,邻接区域与已放置区域的集合相邻接的至少两条边的三个端点位置相同,则将已放置区域的集合对应的放置位置中该三个端点的位置作为邻接区域放置到矩形cartogram中时形成的矩形的三个顶点的位置,得到形成的矩形的整体位置;比较所述矩形对应的面积与邻接区域的期望面积,若二者之间的差异小于设定差异阈值,则将所述整体位置作为所述矩形的实际位置,否则调整所述矩形的顶点,直至使所述差异小于设定差异阈值后,再将调整后的矩形的整体位置作为所述矩形的实际位置;

24、如果邻接区域包含单个分割区域,则根据所述实际位置确定分割区域对应的放置位置;如果邻接区域包含多个相互邻接的分割区域,则根据邻接区域中各分割区域对应的拓扑关系以及期望面积,对所述实际位置进行分割,确定各分割区域对应的放置位置。

25、上述技术方案的有益效果为:在邻接区域与已放置区域的集合相邻接的至少两条边的三个端点位置相同的情况下,也即已经能够仅通过拓扑关系而不通过期望面积即可确定出邻接区域对应的放置位置的情况下,只要不出现制图误差较大的情况,即不出现表示邻接区域对应的放置位置的矩形对应的面积与邻接区域的期望面积之间的差异不小于设定差异阈值的情况,就以仅通过拓扑关系确定出邻接区域对应的放置位置为准,不再进行调整,由此能够在制图的准确性和拓扑关系的准确性出现矛盾的情况下,优先保证拓扑关系的准确性,以改善现有生成算法生成的矩形cartogram的拓扑误差较大的问题,且在制图误差较大的情况下也适应性对放置位置的面积进行调整,一定程度上也兼顾了制图的准确性。

26、进一步地,根据原始地图生成初始矩形分割图的方式为:

27、确定原始地图中各原始区域的重心和邻接关系,根据各个原始区域重心之间的角度确定各原始区域之间的相对位置,并根据所述相对位置和各原始区域的邻接关系,将各个原始区域对应的矩形区域依次放置到初始矩形分割图中,矩形区域的边长根据与该矩形区域邻接的其他矩形区域的数量和边长确定;

28、每放置一个矩形区域,均对该矩形区域相邻接的已放置到初始矩形分割图中的矩形区域的边长进行调整,并根据该调整后的矩形区域,相应对放置到初始矩形分割图中的其他各矩形区域的边长进行调整。

29、上述技术方案的有益效果为:能够根据拓扑关系适应性改变初始矩形分割图中的其他各矩形区域的边长,由此能够避免矩形区域边长的设置对拓扑关系的影响,保证初始矩形分割图能够更准确地反映原始地图中各原始区域的拓扑关系。

30、进一步地,根据与该矩形区域邻接的其他矩形区域的数量和边长确定矩形区域的边长的方式包括:

31、若矩形区域的某条边没有邻接的矩形区域,则将该边的边长设置为设定最小长度;每当多放置一个与该边邻接的矩形区域,则在该边当前边长的基础上相应增加所述多放置的矩形区域的边长对应的长度,更新该边的边长;若更新后该矩形区域两侧的边长不一致,则取两侧边长的较大值,然后将两侧的边长统一更新为该数值。

32、上述技术方案的有益效果为:能够保证生成的初始矩形分割图简洁且更符合标准,便于后续根据初始矩形分割图确定原始地图中的各原始区域对应的分割区域。

33、进一步地,根据所述分割区域的期望面积以及该区域与初始矩形分割图的相对关系将该设定分割区域作为起始区域放置到矩形cartogram中的方式包括:

34、根据初始矩形分割图中心点所在位置,确定放置到矩形cartogram中的设定分割区域在矩形cartogram中的位置的中心点;

35、根据该设定分割区域在矩形cartogram中的位置的中心点、该设定分割区域的期望面积和该设定分割区域与初始矩形分割图对应的长宽比,确定该设定分割区域放置到矩形cartogram中时在矩形cartogram中的位置。

36、进一步地,选择在初始位置中与已放置区域的集合相邻接的至少一个未放置区域作为邻接区域的方式包括:根据通过已放置区域确定出的未放置区域在矩形cartogram中的已知坐标数量和拓扑关系,从在初始位置中与已放置区域的集合相邻接的未放置区域中选择至少一个未放置区域作为邻接区域;

37、根据通过已放置区域确定出的未放置区域在矩形cartogram中的已知坐标数量和拓扑关系,从在初始位置中与已放置区域的集合相邻接的未放置区域中选择至少一个未放置区域作为邻接区域的方式为:

38、若存在单个在初始位置中与已放置区域的集合有邻接关系的未放置区域,则选取该未放置区域作为邻接区域;如果存在多个在初始位置中与已放置区域的集合有邻接关系的未放置区域,则根据所述未放置区域在初始位置中与已放置区域的集合的邻接关系,确定各未放置区域在矩形cartogram中已知的坐标数量;根据所述坐标数量确定优先级,所述坐标数量越多,优先级越高;从多个在初始位置中与已放置区域的集合有邻接关系的未放置区域中,选择优先级高的至少一个未放置区域作为邻接区域。

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