一种分区统计地图中统计图形自动排版定位方法

文档序号:2646462阅读:177来源:国知局
专利名称:一种分区统计地图中统计图形自动排版定位方法
技术领域
本发明涉及地理信息系统,更具体地,涉及一种分区统计地图中的统计图形自动
排版定位方法。
背景技术
统计地图是一种能够反映地图中的某一地理区域的统计数据特征的新型地图,是 地理信息系统(GIS)技术中重要的基础科学。统计地图通常将针对某一地理区域的统计数 据以各种统计图形的形式表达在地图上,从而能够形象地反映统计数据的地理属性。分区 统计地图是统计地图表达方法中的经典表示方法,属于面状要素统计地图,其在地图的某 一制图区域中,以统计图形的形式来表示该区域内某种统计数据的分布和变化。例如,图1 是一种典型的分区统计地图,其在地图中与各省相对应的制图区域中显示作为统计图形的 饼状图,来表示该省各年龄组人口构成情况。目前,分区统计地图广泛应用于人口、工业、农 业等各种社会经济部门,能够直观有效地利用统计图形来反映各种自然或者社会现象的地 理分布特征。 在统计地图的可视化研究领域,目前有很多关于统计图形表达和统计地图制图的 相关理论。从制图应用的角度看,统计图形的合理排版是其中的关键问题。在分区统计地 图中,用多边形表示地图上的某一制图区域,则一幅分区统计地图中包含的若干制图区域 可以表示为一组多边形数组,而统计图形定位点一般都是取表示某个制图区域的某一多边 形当中的内点。因此在表示某一制图区域的多边形当中,相关的统计图形如何定位的问题 是其要解决的核心问题。 然而,在目前的统计地图制图技术当中,对于各个统计图形的排版定位却没有很 好的自动算法,以至于在目前的各类统计地图应用中,普遍依靠辅助性的制图软件手工移 动各个统计图形的定位点位置。例如,在ArcGIS、MapGIS、SuperMap等GIS软件中,统计图 形定位点的位置是通过相应的维护工具来手工移动以达到合理排版。再比如,我国改革开 放30年"地图见证辉煌"专题地图设计中,也主要使用了手工移动统计图形的方式来达到 合理的制图排版效果。但是对于大量统计地图的制作与生成,这种通过工具移动的方法显 然效率较低,而且难免会出现各类统计图形间多边形内点的点位冲突的情况。虽然在实际 应用中也可以采用多个数据表来存储各类统计图形的定位坐标,但是对于各类统计地图的 统计图形定位仍然依赖于通过制图维护工具移动各个统计图形定位点的坐标来手工实现。
因此,现有技术中迫切需要一种合理可靠的统计图形自动排版定位方法,从而避 免手工维护统计图形定位点坐标的复杂性和低效性,带来高效的统计图形排版效果。

发明内容
针对现有技术中的上述需求,本发明提供了一种分区统计地图中统计图形自动排 版定位方法。本方法以容差值的设定、建立对应的规则以及循环移位满足设置的规则为基 本思路,利用多边形坐标信息和统计图形范围信息,通过循环判断动态移动定位点的算法,
3实现统计图形的动态定位,自动计算出合理的统计图形定位点坐标,从而获得统计地图中 各个统计图形的合理定位点。其中,通过统计地图的设计规则建立排版依据以及通过自动 递归实现不断移位的方法是本发明人首先论述其原理并加以应用的。
本发明的分区统计地图中统计图形自动排版定位方法包括 步骤l,设置分区统计地图中的统计图形分离程度阈值del,所述阈值del表示统 计图形的重叠程度或者分离程度; 步骤2,在分区统计地图的多边形数组(Poly[O], Poly[l]..Poly[i]..Poly[n])
中指定一起始多边形Poly[i]作为主多边形,对该起始多边形Poly[i]设置主多边形标志, 并计算该起始多边形Poly[i]的外接矩形坐标Rm[i] (Pixl, Piyl, Pix2, Piy2);
步骤3,对起始多边形的一个邻接多边形Poly[m],根据起始多边形Poly[i]和邻 接多边形Poly[m]的默认统计图形定位点坐标P[i] (Xi, Yi)和P[m] (Xm, Ym),判断起始多 边形Poly[i]和该邻接多边形Poly[m]上的统计图形二者的距离是否满足所述统计图形分 离程度阈值del,如满足阈值del则直接结束步骤3,如不满足阈值del则确定两个多边形 的位置关系dir,并根据该位置关系dir计算邻接多边形Poly [m]上的统计图形定位点坐标 P' [m] (Xm,, Ym,)。 步骤4,通过循环对所述起始多边形Poly[i]的每一个邻接多边形分别执行步骤 3,并遍历分区统计地图的所述多边形数组中的每一个多边形作为主多边形执行步骤1-4。
其中,在步骤4中,从所述多边形数组中选择未标记所述主多边形标志的多边形 作为主多边形; 并且,优选地,所述步骤3具体包括如下步骤 步骤3a,根据起始多边形Poly[i]和邻接多边形Poly[m]的默认统计图形定位 点坐标P[i](Xi, Yi)和P[m] (Xm, Ym),计算起始多边形上的统计图形外接矩形坐标S[i] (sixl, siyl, six2, siy2)和邻接多边形上的统计图形外接矩形坐标S[m] (smxl, smyl, smx2, smy2),比较上述两个统计图形外接矩形坐标,判断二者的距离是否满足所述统计图 形分离程度阈值del,如满足阈值del则直接结束步骤3,如不满足阈值则继续执行步骤 3b-3d ;步骤3b,计算所述邻接多边形的外接矩形坐标Rm[m] (Pmxl, Pmyl, Pmx2, Pmy2);
步骤3c,根据起始多边形Poly[i]的外接矩形坐标Rm[i] (Pixl,Piyl,Pix2,Piy2) 和邻接多边形Poly[m]的外接矩形坐标Rm[m] (Pmxl,Pmyl,Pmx2,Pmy2),判断两个多边形外 接矩形的位置关系dir ; 步骤3d,根据所述位置关系dir和上述两个统计图形外接矩形坐标S[i] (sixl, siyl, six2, siy2)及S[m] (smxl, smyl, smx2, smy2),调整邻接多边形Poly[m]的默认统计 图形定位点坐标P[m] (Xm, Ym),形成该邻接多边形Poly[m]的统计图形定位点坐标P' [m] (Xm, , Ym');进一步优选地,在步骤3c中,起始多边形Poly[i]和邻接多边形Poly[m]的外接
矩形的所述位置关系dir包括"上"、"下"、"左"、"右",并且对调整后的统计图形定位点坐标
P, [m] (Xm', Ym')按照如下公式计算: dir为"上",贝U令Ym, = Ym-(smy2-siyl) -del ; dir为"下",则令Ym' = Ym+ (siy2-smyl) -del ;
dir为"左",贝U令Xm, = Xm-(smx2-sixl) -del ;
dir为"右",则令Xm' = Xm+(six2-smxl)-del 。 本发明的分区统计地图中统计图形自动排版定位方法,能够实时动态的计算各个 多边形中统计图形合适的定位点,从而提高分区统计地图中各个统计图形的定位于排版效 率,使不同类型统计地图的统计图形保持合理位置,能够满足不同类型分区统计地图的快 速排版制图需求。尤其对于目前广泛应用的WebGIS来说,统计地图的底图数据服务和统计 数据服务很可能不是来源于同一个服务器,甚至是不同的部门(或者企业),因而对于网络 统计地图制图,更加适合通过本发明的方法使得各个统计图形得到合适的定位点位置,而 无需手工修改地图多边形定位点。


下面结合附图和具体实施方式
对本发明作进一步详细的说明
图1是分区统计地图的外观示意图; 图2是本发明实施例的统计图形自动排版定位方法的流程图;
图3A-C是表示统计图形外接矩形及位置关系的示意图。
具体实施例方式
为了使本技术领域的人员更好地理解本实用新型的技术方案,并使本实用新型的 上述目的、特征和优点能够更加明显易懂,下面结合实施例及实施例附图对本实用新型作 进一步详细的说明。 本发明的自动排版定位方法是一种自适应的排版算法,其利用各个统计图形的外 接矩形实现不同类型统计图形的抽象化,并根据统计地图中表示某一制图区域的多边形的 形状布局以及多边形定位点相对移位原理,实时动态的计算各个多边形中统计图形合适的 定位点。图2是本发明实施例的统计图形自动排版定位方法的流程图,下面结合图2介绍 该自动排版定位方法的执行过程
201 :开始 202 :设置统计图形分离程度阈值del ;所述阈值del表示统计图形的重叠程度 或者分离程度,例如,del = IO,表示各个统计图形之间的距离至少要lO个像素值;del =-io,表示各个统计图形的最大重叠距离IO个像素值,通过这个设置可以保证本发明的 算法适用于必须有重叠统计图形的情况。 203 :选择起始多边形Poly[i];分区统计地图中的每个制图区域均用一个多边形 Poly(坐标,XI, Yl, X2, Y2…Xn, Yn…)来表示,因此一幅分区统计地图中包含由各个多边 形组成的一多边形数组(Poly [O], Poly [l].. Poly [i].. Poly [n])。在步骤203中,指定该 数组中的任一个多边形作为起始多边形Poly[i]。
204 :对该起始多边形Poly[i]设置主多边形标志,将其作为主多边形; 205 :计算该起始多边形Poly[i]的外接矩形坐标Rm[i] (Pixl, Piyl, Pix2,
Piy2); 206 :根据上述的主多边形标志,判断是否已经遍历了所述多边形数组(Poly[O], Poly[l]. . Poly[i]. . Poly[n])中的每一个多边形作为主多边形;如果"是",则进至步骤207 ;如果"否",则进至步骤208 ; 207 :结束 208 :在与起始多边形Poly[i]相邻接的若干个多边形当中,选择其中一个作为邻 接多边形Poly[m]; 209:计算Poly[i]和Poly[m]的统计图形外接矩形坐标;首先,获得起始多边 形Poly[i]和邻接多边形Poly[m]中的默认统计图形定位点坐标P[i] (Xi, Yi)和P[m] (Xm,Ym);、默认的定位点坐标决定了统计图形在统计地图中所处的位置,再根据统计图 形本身的形状,计算起始多边形Poly[i]上的统计图形外接矩形坐标S[i](sixl, siyl, six2, siy2)以及邻接多边形Poly[m]上的统计图形外接矩形坐标S[m] (smxl, smyl, smx2, smy2); 210 :根据上述的矩形坐标S[i]和S[m],可以确定上述两个统计图形外接矩形的 位置关系,如图3A-C所示,包括相交,相离和相切(即两个矩形有一条公共边),其中双向箭 头所示的距离即可以作为两个统计图形外接矩形的距离;在步骤210中,通过比较上述的 矩形坐标S[i]和S[m],判断两个统计图形外接矩形之间的距离是否满足所述统计图形分 离程度阈值del ; 如果步骤210判断结果为"是",即Poly[i]和Poly[m]的统计图形外接矩形之间 的距离已经满足阈值del,则如图2所示,令m = m+l后返回步骤208,对起始多边形Poly [i] 的下一个邻接多边形重新执行上述操作;反之,如果步骤210的判断结果为"否",则继续进 至步骤211 ; 211 :计算所述邻接多边形Poly[m]的外接矩形坐标Rm[m] (Pmxl, Pmyl, Pmx2, Pmy2);根据起始多边形Poly[i]的外接矩形坐标Rm[i] (Pixl, Piyl, Pix2, Piy2)和邻接多 边形Poly[m]的外接矩形坐标Rm[m] (Pmxl,Pmyl,Pmx2,Pmy2),判断两个多边形外接矩形的 位置关系dir ;在这里,所述位置关系dir包括"上"、"下"、"左"、"右",即根据外接矩形坐标 Rm[i]和Rm[m]的相对关系,判断Poly [m]的外接矩形位于Poly [i]的外接矩形的上方、下 方,左侧或者右侧; 212 :根据所述位置关系di r和上述两个统计图形外接矩形坐标S[i] (sixl, siyl, six2, siy2)及S[m] (smxl, smyl, smx2, smy2),调整邻接多边形Poly[m]的默认统计 图形定位点坐标P[m](Xm, Ym),形成该邻接多边形Poly[m]的统计图形定位点坐标P' [m] (Xm' , Ym')。该统计图形定位点坐标P' [m] (Xm' , Ym')具体地按照如下公式进行计算
dir为"上",贝U令Ym, = Ym- (smy2-siyl) -del
dir为"下",则令Ym' = Ym+ (siy2-smyl) -del
dir为"左",则令Xm' = Xm- (smx2-sixl) -del
dir为"右",则令Xm' = Xm+(six2-smxl) _de 1; 213 :在完成对当前的邻接多边形Poly[m]中统计图形定位点坐标P' [m]的调整 之后,在步骤213中,判断起始多边形Poly[i]的所有邻接多边形是否均已经在步骤208中 被选中过;如"否",则如图所示,令m = m+l后返回步骤208,即选择起始多边形Poly [i] 的下一个邻接多边形执行上述操作;如"是",即起始多边形Poly[i]的所有邻接多边形的 统计图形定位点坐标均已经被调整过,则令i = i+l后返回步骤203,选择统计地图的多 边形数组中的下一个多边形作为起始多边形,继续执行上述操作,直至在步骤206中,根据所述主多边形标志确定上述操作已经遍历了统计地图的多边形数组(Poly[O], Poly[l].. Poly [i]. . Poly [n])中的每一个多边形后,则进至步骤207结束本发明的自动排版方法。
综上所述,本发明的自动排版定位方法是一种实时动态的自适应算法,能够自动 地确定统计地图的各个多边形中统计图形合适的定位点,从而实现分区统计地图的快速排 版制图,广泛适用于各类统计制图系统。 以上所述,仅为本发明的具体实施方式
,本发明还可以应用在其它控制设备中。本 发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围 内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范 围应该以权利要求所界定的保护范围为准。
权利要求
一种分区统计地图中统计图形自动排版定位方法,其特征在于,包括以下步骤步骤1,设置分区统计地图中的统计图形分离程度阈值del;步骤2,在分区统计地图的多边形数组(Poly
,Poly[1]..Poly[i]..Poly[n])中指定一起始多边形Poly[i]作为主多边形,对该起始多边形Poly[i]设置主多边形标志,并计算该起始多边形Poly[i]的外接矩形坐标Rm[i](Pix1,Piy1,Pix2,Piy2);步骤3,对起始多边形的一个邻接多边形Poly[m],根据起始多边形Poly[i]和邻接多边形Poly[m]的默认统计图形定位点坐标P[i](Xi,Yi)和P[m](Xm,Ym),判断起始多边形Poly[i]和该邻接多边形Poly[m]上的统计图形二者的距离是否满足所述统计图形分离程度阈值del,如满足阈值del则直接结束步骤3,如不满足阈值del则确定两个多边形的位置关系dir,并根据该位置关系dir计算邻接多边形Poly[m]上的统计图形定位点坐标P’[m](Xm’,Ym’);步骤4,通过循环对所述起始多边形Poly[i]的每一个邻接多边形分别执行步骤3,并遍历分区统计地图的所述多边形数组中的每一个多边形作为主多边形执行步骤1-4。
2. 根据权利要求1所述的分区统计地图中统计图形自动排版定位方法,其特征在于 在所述步骤4中,从所述多边形数组中选择未标记所述主多边形标志的多边形作为主多边 形。
3. 根据权利要求1所述的分区统计地图中统计图形自动排版定位方法,其特征在于 所述步骤3具体包括如下步骤步骤3a,根据起始多边形Poly[i]和邻接多边形Poly[m]的默认统计图形定位点坐 标P[i] (Xi, Yi)和P[m] (Xm, Ym),计算起始多边形上的统计图形外接矩形坐标S[i] (sixl, siyl, six2, siy2)和邻接多边形上的统计图形外接矩形坐标S[m] (smxl, smyl, smx2, smy2),比较上述两个统计图形外接矩形坐标,判断二者的距离是否满足所述统计图形分离 程度阈值del,如满足阈值del则直接结束步骤3,如不满足阈值则继续执行步骤3b-3d ;步骤3b,计算所述邻接多边形的外接矩形坐标Rm[m] (Pmxl, Pmyl, Pmx2, Pmy2);步骤3c,根据起始多边形Poly[i]的外接矩形坐标Rm[i] (Pixl, Piyl, Pix2, Piy2)和 邻接多边形Poly [m]的外接矩形坐标Rm[m] (Pmxl,Pmyl,Pmx2,Pmy2),判断两个多边形外接 矩形的位置关系dir ;步骤3d,根据所述位置关系dir和上述两个统计图形外接矩形坐标S[i] (sixl, siyl, six2, siy2)及S[m] (smxl, smyl, smx2, smy2),调整邻接多边形Poly [m]的默认统计图形 定位点坐标P [m] (Xm, Ym),形成该邻接多边形Poly [m]的统计图形定位点坐标P' [m] (Xm', Ym,)。
4. 根据权利要求3所述的分区统计地图中统计图形自动排版定位方法,其特征在于 在所述步骤3c中,起始多边形Poly[i]和邻接多边形Poly[m]的外接矩形的所述位置关系 dir包括"上"、"下"、"左"、"右",并且对调整后的统计图形定位点坐标P' [m] (Xm',Ym')按 照如下公式计算dir为"上",贝U令<formula>formula see original document page 2</formula>; dir为"下",贝U令<formula>formula see original document page 2</formula>; dir为"左",则令<formula>formula see original document page 2</formula>; dir为"右",则令<formula>formula see original document page 2</formula>
全文摘要
本发明提供了一种分区统计地图中统计图形自动排版定位方法,以容差值的设定、建立对应的规则以及循环移位满足设置的规则为基本思路,利用多边形坐标信息和统计图形范围信息,通过循环判断动态移动定位点的算法,实现统计图形的动态定位,自动计算出合理的统计图形定位点坐标,从而获得统计地图中各个统计图形的合理定位点,实现统计地图中统计图形的合理定位,能够满足不同类型分区统计地图的快速排版制图需求。
文档编号G09B29/00GK101794534SQ20101014519
公开日2010年8月4日 申请日期2010年4月13日 优先权日2010年4月13日
发明者苏德国 申请人:中国测绘科学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1