mapgis常见问题之二次开发相关问题

mapgis常见问题之二次开发相关问题

ID:19686381

大小:361.96 KB

页数:7页

时间:2018-10-05

mapgis常见问题之二次开发相关问题_第1页
mapgis常见问题之二次开发相关问题_第2页
mapgis常见问题之二次开发相关问题_第3页
mapgis常见问题之二次开发相关问题_第4页
mapgis常见问题之二次开发相关问题_第5页
资源描述:

《mapgis常见问题之二次开发相关问题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、MapGIS常见问题中地数码集团平台二次开发支持部本期常见问题主要由MapGIS开发平台C/S开发问题组成,涉及部分B/S开发问题。1、基于MapGIS开发平台,如何通过代码实现修改线的图形参数操作,包括可变颜色、可变笔宽、线型等参数?答:可按照如下步骤实现:(1)在MapGIS软件中若需查看线、区等要素的图形参数,需开启还原显示功能,可通过编写代码手动开启还原显示功能。(2)在还原显示模式下,线是通过MapGIS符号库的线型来显示的,而线型符号则由几部分构成,而每一部分若采取固定颜色或者固定笔宽的模式,则无法看到修改后的线型参数。只有在某一部分采取可变颜色或者可变笔宽的情况下,对图形信息中

2、的相关项的修改才会有效果,因此可以通过修改符号库的相关线型的颜色模式或笔宽模式来达到效果。(3)一个线型可以通过线型号+辅助线型号来唯一确定,以COM组件式开发C#语言为例的线属性如下:mcLinInfo.libID:辅助线型号mcLinInfo.linstyID:线型号(4)基于COM组件式开发C#语言的还原显示实现代码如下:mcLinInfolineInfo=newmcLinInfo();//线信息mcGeoVarLinevarLine=newmcGeoVarLine();//折线对象//点对象mcDotdot1=newmcDot();mcDotdot2=newmcDot();//点对象

3、赋值dot1.x=50;dot1.y=50;dot2.x=200;dot2.y=200;//添加到折线对象varLine.Append2D(dot1);varLine.Append2D(dot2);//设置线参数lineInfo.linstyID=21;lineInfo.libID=4;lineInfo.xscale=20;lineInfo.yscale=20;//绘图IXDisplaydisplay=this.axMapXView1.Display;//绘图对象display.DispLine(ptGeomasIGeoLine,lineInfoasmcLinInfo,6);//根据线参数显

4、示对应的线display.DisplayOption.SymbolShow=true;//开启还原显示功能display.DispLine(varLine,lineInfoasmcLinInfo,0);//重绘制线istheTibetanPlateaupoly.Centercityonlyapopulationofoveronemillion.Xiningislocatedinthe"Tangfangudao"andtheancient"SilkRoad"road,istheLoessPlateauandtheTibetanPlateau,agriculturalandpastoralare

5、asand,inconjunctionwiththeMinistryofcultureandIslamicculture2、在查看地图的过程中,常要通过不同比率显示地图,如何通过代码实现按照一定的显示比率显示地图的功能?答:步骤如下:(1)用户常常将显示比率与比例尺相混淆,比例尺一般应用于地图数据打印输出时,表示图上距离与实际距离的比值。而显示比率通常是指基于某一显示设备显示地图的逻辑范围与显示设置的分辨率的关系,实现的效果则是根据用户输入的显示比率来放大或缩小地图,显示效果如下:图11:10000显示比率显示效果图21:250000显示比率显示效果(2)显示比率近似值计算公式istheTi

6、betanPlateaupoly.Centercityonlyapopulationofoveronemillion.Xiningislocatedinthe"Tangfangudao"andtheancient"SilkRoad"road,istheLoessPlateauandtheTibetanPlateau,agriculturalandpastoralareasand,inconjunctionwiththeMinistryofcultureandIslamicculturea.显示比率=当前逻辑范围/设备范围;b.当前比例尺=设备范围(毫米值)/实际的显示范围(毫米值);c.设备

7、范围的值是根据96像素/英寸,1英寸=25.4毫米来计算。(3)以C/S模式,COM组件式开发C#语言为例,部分实现代码如下://当前比例尺publicstringscalejs(){//设备范围doublesbfw=gisOper.AxMapView1.Width;//gisOper为workSpace对象sbfw=(sbfw/96)*25.4//这里显示器设置为96像素,以实际值为主//实际显示范围IXD

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。