`
zhangziyangup
  • 浏览: 1072971 次
文章分类
社区版块
存档分类
最新评论

地图分幅组件的实现(三) ——标准图廓组件

 
阅读更多

图廓的构成其实相当复杂,不同比例尺下,图廓规定是不一样的。但是他们有一个共同点,即如果图号确定,那么所有布局的位置信息在ArcMap都会被确定。图廓组件的设计,应当尽量和数据分离,这样在不同数据情况下,都能使用,而无须改动。

以百万分幅为例,其他比例尺类似。百万比例尺下,图廓的五个主要部分是,主图区,接图表,比例尺,(高度表在大部分专题图中不予考虑),图例。其他还有一些是文本描述都可以归为一类,统称为文本信息。现在来看制图中变化和不变的地方,五大部分是相对于主图区定位,主图区确定,其他部分都可以确定,而主图区部分,只有一个变量参数,那就是图号。

考虑到图号决定图廓的绘制,那组件的设计就从主图区开始(敏捷开发的重点就是关注主要问题)。

事实上主图区的设置有很多地方需要考虑。

问题一,在pageLayout下如何固定MapFrame中地图显示的比例尺,这里以1:100万兰伯特投影为例

问题二,如何只显示图号计算出的制图区域范围

问题三,经纬网如何绘制(需要依据国标),经纬网部分包括了,经纬线,十字丝,短线,经纬标注,1:100万比例尺下不需要考虑方里格网

问题四,字体问题,事实上这是个大问题,国标里的字体规定和字体库德实际大小是有出路的,如果要严格符合国标,需要实际测量比较

问题五,主图区移动如何确保其他依赖主图区的部分也能相对移动,这对地图布局是一个非常大的好处

第一个问题,AO下找到接口可以设置。图廓的范围是依据图号计算的,但是图号计算的是地理坐标系,投完影后投影坐标范围是多少呢?这需要计算出来,投完影后的实际范围如何显示到纸面上?这就涉及到投影坐标系到纸面坐标系的转换(纸面坐标系,可以称为世界坐标系)。事实上,纸面坐标系到屏幕坐标系仍然存在转换(只有屏幕坐标系下的绘制才是最后可操作和绘制的)。依据仿射原理,我们直接求出地理坐标系和屏幕坐标系的关系,这是算法的本质,等这部分关系解决了,制图所需的图廓绘制过程就可以顺利开展了。

第二个问题,同上,实际上ArcGIS是不能设置类似曲边梯形图廓的(这是国内和国外图式的差异)。需要通过程序计算出投影后的图号对应的范围,然后设置显示区域,问题来了,MapFrame是矩形,我需要计算出外接显示区域的矩形大小,然后设计MapFrame。事实上当前1:100万的投影是左右对称的,不需要旋转显示区域而使得外接矩形的底部保持水平,但是根据经验,其他比例尺下,显示区域是需要旋转的(高斯克里格投影下这个问题很明显)。

第三个问题,参考国标。实际上有一个隐藏的问题,这从侧面反映了ArcGIS最强大的优势,投影中基本不存在误差或者误差非常微小,我的经纬标注实际是完全按国标布局的,经纬标注的内容由图廓确定的点位反算地理坐标得到的,而我惊奇的发现坐标转换居然不存在任何误差(我估计ArcGIS的投影组件精度如此之高,底层可能是Fortran实现的)。

第四个问题,同上,工作量其实会很大,因为标准汉字的大小在制作上的差异,使得这个问题尤为明显,有过地图排版出版经验的人对这个问题很了解。

第五个问题,需要采用设计模式中的观察者模式来解决这个问题,这是一个组件设计和开发上的问题。实际上开发出的组件好不好用,架构和设计很重要。在这里我只需要使用组件的用户做两件事,第一,指定一个MapFrame为主图区。那么当前图廓的内容立刻根据给出的范围绘制出来,在观察者模式中即为注册目标。第二,指定接图表。组件立刻按照主图区的范围,设置接图表信息,对应了观察者模式中的注册观察者。观察者模式会解耦对象间的依赖,事实上观察者模式解决的关键是,只要我改变主图区,接图表就会自动更新。

以上的五个问题是最基本的,也是最重要的问题。事实上,还有一些问题需要考虑,如序列化的问题,ArcGIS Engine,ArcGIS Server也能使用的问题,而这些问题在架构之初也考虑了。

克服上述五个问题后,符合国标且不依赖数据的图廓排版组件就完成了。以1:100万的组件为例,加入测试数据后,实际输出pdf的效果非常好,不需要完成任何图廓整饰和接图表工作,地图就按国标规定输出了。但是ArcMap也是有缺陷的,我用的是ArcMap默认的CartographicLineSymbol绘制线型,屏幕上直接显示出来的效果,是锯齿比较明显的(幸好我以前写了一款弥补这个问题的平滑线型软件(ESRIChinaCartoGraphicLineSymbol,http://blog.csdn.net/jx1228/archive/2010/04/15/5488755.aspx),正版软件用户可以到ESRIChina免费索取)。事实上按1:1输出或者直接打印,锯齿问题就不存在了(分辨率在300dpi以上就很难看出锯齿了)。可以参考输出的PDF(1:1输出) 100%下的显示效果图

图名所在位置

以下是接图表效果图,事实上根据国标,接图表是需要旋转角度,和主图最右边的经线平行的;如果有用户觉得接图表没按四色处理,他只需要去调整DataFrame内的省界数据渲染就可以,其他的信息,如邻接图幅的图号,组件自动就完成了,这是架构带来的好处。其实接图表自动化绘制也有一个根本上的问题需要去解决,即分幅数据的区域实际投影后的外接矩形肯定不是4:3,如何解决呢?如果这个问题不解决,就不符合国标了。不要想能找到符合4:3的投影,根据我的经验那是不存在的,而且如果自定义这种投影,显示效率低下的问题会明显(我试过了)。花了一些时间研究最终还是能够完美解决的。

转载请注明出处:http://blog.csdn.net/jx1228/archive/2011/05/09/6407066.aspx

分享到:
评论

相关推荐

    地图分幅编号计算器

    地图分幅编号计算器,快速计算地图分幅号。由经纬度计算所在地图分幅号、分幅号图廓点位及不同比例尺行列关系

    arcgis地图打印图廓(图框)工具

    1、 批量生成标准分幅图或行政区划,地图打印所需的图廓(或图框)整饰内容:公里网,十字丝,经纬网以及标注,四角的经纬度标注,四周的文字表示和自动填写结合表的内容。一方面标准规范,另一方大大地提高了你的...

    我国基本比例尺分幅与编号

    地图分幅是指按一定方式将广大地区的地图划分成尺寸适宜的若干单幅地图,以便于地图制作和使用。常见分幅形式有矩形分幅和经纬分幅。分幅形式有:①矩形分幅。图廓呈矩形,相邻图幅以直线划分。矩形大小多由纸张和...

    最新版地图分幅编号计算器

    选择好地图比例尺,并输入图幅点的经纬度坐标,即可得到标准的分幅编号,甚至计算过程和算式都能够给出。此外该程序还可以根据分幅编号计算西南图廓点的经纬度以及大小比例尺地图相互包含的图幅范围。

    Mapinfo版地图打印图廓(图框)工具

    1、 批量生成标准分幅图或行政区划,地图打印所需的图廓(或图框)整饰内容:公里网,十字丝,经纬网以及标注,四角的经纬度标注,四周的文字表示和自动填写结合表的内容。一方面标准规范,另一方大大地提高了你的...

    图廓工具arcigs

    图廓工具arcigs,用于快速制作标准分幅图

    1亿示意地图版6(面积色无图廓南海诸岛)

    高清矢量地图,1亿示意地图版6(面积色无图廓南海诸岛)。

    ArcGIS中添加图廓和坐标

    ArcGIS中添加图廓和坐标,希望能帮助大家

    ArcGIS教程:使用图形元素、内图廓线、图片和对象

    除地理数据、比例尺及其他典型地理元素外,地图中还可描绘图形元素、内图廓线、图片和对象。

    图廓换带计算软件v1.0免费绿色版

    图廓换带计算软件是一款简单易用的根据经纬度范围批量计算图廓坐标的工具,该软件由新旧图幅号计算图廊坐标,还有换带计算和地形图工具,绿色软件,无需安装。 软件功能: 图廊计算: 1、根据经纬度范围批量计算...

    房产制图软件

    图形制做是一个集数据输入、编辑修改、单栋制做、地籍面积计算、房产分层分户面积分摊计算、整饰符号化绘图输出于一体的,用于大比例尺地形图、地籍图、房产分幅图、分丘图、分分户图、专题地图等地图图形制做的应用...

    基本比例尺图廓坐标计算及新旧图号转换

    3.可以把度,分,秒转换成度的小数点形式,或反向转换 4.可以找出给定图幅所包含的上级图幅的图幅编号(小比例尺所包含的大比例尺图幅数),也可找出图幅所在图幅的编号. 5.可以给定一图幅编号,计算出图廓坐标的经纬度. ...

    基本比例尺图廓坐标计算及新旧图号转换(新)

    3.可以把度,分,秒转换成度的小数点形式,或反向转换 4.可以找出给定图幅所包含的上级图幅的图幅编号(小比例尺所包含的大比例尺图幅数),也可找出图幅所在图幅的编号. 5.可以给定一图幅编号,计算出图廓坐标的经纬度. ...

    生成大比例尺图廓的关键代码CAD

    ObjectARX 开发的测绘用大比例尺图形的图廓自动生成的关键代码

    ArcGIS中国工具3.0说明文档.rar

    4.1.2 三分式标注 58 4.2 地类符号生成 60 4.3 跳绘 62 4.3.1 编辑跳绘线 62 4.3.2 根据行政界线和线状地物生成跳绘图层批量处理 63 4.4 批量 mxd 转图片 64 4.5 批量导出 mxd 和图片 65 4.6 面积分割 66 4.7 支持...

    标准图幅生成程序

    c#编写的标准图幅图廓坐标生成算法,包括1:5000至1:100万国家标准图幅。

    面向要素的省级基础测绘生产方法探讨

    作业员在一定作业范围以要素层组织作业任务,每个作业员承担不同的要素层,最终可以通过汇总各要素层,处理要素关系,必要时再加图廓线裁切生成分幅数据。随着数码相机在航空摄影中的普遍使用,影像图不再是框幅式而是航...

    标准图幅结合表生成工具

    可以生成标准的图幅范围 需要arcgis10。可以一次生成全国1:1万、1:5万、1:25万等图廓,并且具有新旧图号.亲测可以使用。

    arcgis 10 图幅号工具

    批量生成标准分幅图或行政区划,地图打印所需的图廓(或图框)整饰内容:公里网,十字丝,经纬网以及标注,四角的经纬度标注,四周的文字表示和自动填写结合表的内容。一方面标准规范,另一方大大地提高了你的工作...

    基础地理信息数据库管理系统.doc

    导入标准入库数据(除支持自身数据格式,至少支持常规格式中MDB、SHP、E00、JP G、TIF、DEM、GRID等一种以上) 数据接边 数据入库确认 9、图形输出 点选分幅图输出 查找图幅号输出 任意区域图形输出 图形输出设置...

Global site tag (gtag.js) - Google Analytics