数字图框模型构建及智能绘制算法研究Word下载.docx
《数字图框模型构建及智能绘制算法研究Word下载.docx》由会员分享,可在线阅读,更多相关《数字图框模型构建及智能绘制算法研究Word下载.docx(9页珍藏版)》请在冰豆网上搜索。
构建的新型数字化图框模型,可将图框要素的离散化信息进行整合并以数字化的形式存储,实现信息的高度分离,使得参数可控共享性大大提高,是实现图框智能化绘制重要保障;
数学基础控制、框架结构搭建方法、坐标网构建、注记计算与定位技术是支撑图框自动绘制的关键,它们相对独立又相互依赖;
可通过外接模块通讯技术为图例、接图表、比例尺等其它地图要素提供接口,为地图后续制作与智能化调整提供参考;
利用C#+MapGIS10API可开发直接可用的图框制作程序,制图效率大为提高,对“快速智能化制图”而言具重要实践意义。
关键词:
数字图框模型;
MapGIS二次开发;
智能化
P282
文献标志码:
A
:
2095-2945(2019)28-0001-06
Abstract:
Thedrawingframeisthekeycomponentofmap,anditsintelligencelevelisthepreconditionofrealizingbatchmapping.Inordertoimprovethelevelofintelligentdrawingofframe,thispapermakesanin-depthanalysisofthepictureframestyle,constituentelementsandframesystem,andbasedontheideaandstructureofrelationaldatabase,constructsthenewdigitalgraphframemodelfromtheaspectsofmathematicalbasis,scaleparameters,drawingparameters,coordinatenetworkparametersandothergraphics,putsforwardsomekeytechnicalschemes,suchasmathematicalbasiccontrol,framestructureandconstruction,coordinatenetworkconstructionandkeynotecalculation,andusesC#+MapGIS10APIsecondarydevelopmenttechnologytorealizetheintelligentdrawingofdigitaldrawingframe.Theresultsshowthatthenewdigitalpictureframemodelcanintegratethediscreteinformationofdrawingframeelementsandstoreitinadigitalform,soastoachieveahighdegreeofinformationseparationandgreatlyimprovethecontrollablesharingofparameters,whichisanimportantguaranteetorealizeintelligentdrawingofframe;
mathematicalbasiccontrol,framestructureconstructionmethod,coordinatenetworkconstruction,annotationcalculationandpositioningtechnologyarethekeytosupporttheautomaticdrawingofframe,theyarerelativelyindependentandinterdependent;
theapplicationofcommunicationtechnologyofexternalmodulecanprovideinterfaceforothermapelements,suchaslegend,graph,scale,etc.,andprovidereferenceforsubsequentmapmakingandintelligentadjustment;
usingC#+MapGIS10API,wecandevelopadirectlyavailableprogramfordrawingframemaking,whichgreatlyimprovestheefficiencyofdrawingandhasimportantpracticalsignificancefor"
quickandintelligentdrawing"
.
2.2配置技术
图框公共参数通过程序窗口进行配置,实现一套参数多次使用,提高工作效率;
程序的工作环境例如工作目录、系统库等,绘制前也通过窗口统一配置;
外部图饰包括图例、接图表、比例尺等都具有不同类型的风格,用户可根据需求自行选择;
图框的私用参数都存储在图框模型中,利用ODBC、OleDB等方法连接数据库,通过SQL语言进行模型匹配及操作交互,进行内部通讯,在绘制时自动从数据库中提取参数化数字化的信息,可使图框的绘制具有实时性、高效性。
3图框自动绘制关键技术
在完成数字图框模型的构建后,需要有核心技术提供理论依据才能进一步实现程序开发,本研究从数学基础、框架结构、注记定位、外接部分等方面解决关键问题,提出数学基础控制技术、框架控制技术、注记计算与定位技术和外接模块通讯技术为自动绘制程序开发提供理论支撑。
3.1数学基础控制技术
地图的数学基础涉及到坐标网、比例尺、大地控制网等,服务于整个地图的绘制,控制地理信息转绘精度,使地理要素对于地图具有正确的位置,对地图所有的组成要素都具有控制作用,没有数学基础的地图只是一张图,无法体现其中包含的地理信息。
在明确给出坐标的情况下,直接绘制即可,如若不然,则需要基于数学基础进行计算得出坐标。
内图框、坐标网和数字注记根据数学基础直接计算得出绝对位置坐标,外图框、说明注记和外接部分还需要考虑地图手册中的布局与分布规则通过推算得出相对位置坐标。
3.2框架控制技术
将图框的框架结构分为三层,第一层是内图框及其内部包含的内容,是整体布局的基础与依据;
第二层包括外图框、外图框與内图框之间内容和图名,外图框与内图框的间距一般为4mm左右;
第三层是外图框的外部空间,图例、接图表等可在此框架内按照需求任意部署。
内图框位置的确定分为三种情况,第一种是用户给定规则范围,根据范围计算得出坐标即可;
第二种是用户给定不规则地理底图,由IvectorCls类的Range方法获取内图框范围;
第三种是用户任意拖拽定义范围。
只有内图框的位置坐标确定,才能计算外图框及外接部分的位置坐标,内图框及其范围内所包含的内容是地图的主体部分,地位极其重要,直观地影响地图的整体效果。
3.3注记计算与定位技术
根据地图手册的整理与总结,注记可分为数字注记和说明注记,数字注记指用于标注点位置信息的注记,这类注记是通过求得坐标网与内图框的交点,利用公式计算得出的绝对数值;
说明注记指图框外所附的各种文字说明和图表的注记,这类注记是基于外图框的位置,计算出与外图框的相对位置,与外图框之间的数值关系要根据地图手册总结的规则和地图的整体风格来确定。
3.4外接模块通讯技术
一幅完整的地图除了主体部分图框外,还有图例、接图表、编绘说明等辅助要素,本文基于得出的外图框的坐标与范围,根据图框的数学基础,以地图手册总结的规则为依据,计算出其他组成部分的坐标与分布范围,通过接口传递得到的结果,为地图的后续制作和整体的美观协调提供参考。
4程序开发
4.1程序开发
(1)坐标转换
不同投影、不同坐标系、地理坐标与投影直角坐标之间都需要进行坐标转换,这是保证图框精确度的基础工作,利用数学公式构建函数,有需要时调用函数实现坐标转换即可。
(2)图框框架绘制
捕获内框获取范围,内图框与外图框之间的距离△x和△y与注记大小有关,注记一般为3mm×
3mm,△x和△y可适当放大取4mm左右,其核心代码如下:
//坐标外扩
X1=X1-r;
X2=X2+r;
……
//创建数组存储坐标
double[]Px=newdouble[2]{X1,X2};
double[]Py=newdouble[2]{Y1,Y2};
Dotsm_dots=newDots();
//创建点集
GeoVarLineploylinTLK=newGeoVarLine();
ploylinTLK.Append(m_dots);
//添加点集
line.Append(ploylinTLK,null,Lineinf);
//连点成线
(3)坐标网
进行坐标网绘制时,如果是方里网,确定间隔后直接循环绘线再裁剪即可,如果是经纬网,则需要捕获内图框的坐标,如果是理论地理坐标,直接外扩取整得到经纬度范围,循环绘线后利用内图框进行内裁,如果得到的不是理论地理坐标,则需要先进行坐标正算求得,其中,代码①如下:
SFeatureClsline=newSFeatureCls();
//创建线对象
//属性设置
Lineinf.OutPenW=widthLine;
Lineinf.LineType=(LineType)Lineparameters.linetype;
for(i=0;
i<
n;
i++)//循环绘制
{
ploylinTLK.Append(m_dot);
//添加点
//连接点成线
}
(4)注记
说明注记的绘制与图框框架绘制原理相同,根据外框确定位置,坐标注记的绘制首先要捕获坐标网,再创建矩形获取查询范围,创建记录集存储记录,创建查询对象查询符合条件的线要素,也就是与内框有交点的线,进行坐标反算得到坐标,其核心代码如下:
Rectrect=null;
//创建矩形
QueryDefqueryDef=newQueryDef();
//创建查询对象
queryDef.SetRect(rect,SpaQueryMode.Contain);
RecordSetrecordSet=null;
//创建记录集
rec