MapGIS常见问题之二次开发相关问题
- 格式:docx
- 大小:440.32 KB
- 文档页数:7
MAPGIS教程 山西地信数码科技有限公司前 言山西地信数码科技有限公司的前身是山西中地公司,是武汉中地总公司在山西MAPGIS的唯一指定代理商,专门从事MAPGIS软件的销售、二次开发和服务。
我公司自主开发的“柱状图成图系统”,为地质、煤炭等行业广为使用。
我公司利用多元化的无线通信技术为各类互联网或无线网络设备(包括含有GPS功能移动手机和PDA)的移动用户提供一系列的移动资源管理系统服务。
本教程主要是针对MAPGIS软件初学者编写的,内容包括了客户在软件应用时遇到的热点难点问题解答,也包括一些心得体会文章和快速入门法,如果想更深入的了解MAPGIS知识,请参阅MAPGIS相关书籍。
目 录利用经纬度值生成图框(sxmapgis)功能:利用经纬度值生图框1、记下图幅左下角、右上角的经纬度值(即最小、最大经纬度值)2、打开“MAPGIS主界面”→“实用服务”→“投影变换”(如下图)3、“投影转换”在下拉菜单中选择“绘制投影经纬网”。
4、在弹出的下列对话框中对应输入“最小起始经、纬度,最大结束经、纬度”“经纬度间隔”:这里输入的值,根据图纸的比例尺来确定。
若图纸的比例尺为1:10000,则在此输入“1”若图纸的比例尺为1:1000,则在此输入“0.1”5、单击“角度单位”在弹出的下列对话框中,按照下图设置即可:6、单击“投影参数”按照下列对话框中的参数设置即可:7、上述参数设置好后,单击“确定”进入下列对话框。
设置“比例尺样式”及“图名”,然后“确定”。
8、在弹出的下列对话框中的任意位置,单击右键。
在下拉菜单中选择“复位窗口”。
9、将要显示的文件选为“蓝色”,然后“确定”。
10、下图即为所生成的图框文件,将其保存即可。
本次操作结束,如发现有不清或不对的地方请与我们联系(sxmapgis@),我们会及时改正,谢谢!这里只是讲一些快速的入门法,如果想更深入的了解MAPGIS 知识,请看MAPGIS相关书籍。
[转] MAPGIS实用方法及技巧转载自花错转载于2010年03月19日00:10 阅读(1) 评论(0)分类:个人日记举报一、如何将mapgis的图形插到word、excel、PowerPoint 中首先点取mapgis菜单“其他->OLE拷贝”,接着打开word,点取“粘贴”。
Mapgis数据就复制到word文档里。
二、空心字格式使用空心字时,字体采用相应字体编号的负数。
如:-3表示黑体空心字。
三、合并区1、可以在屏幕上开一个窗口,系统就会将窗口内的所有区合并,合并后区的图形参数及属性与2、也可以先用菜单中的选择区功能将要合并的区拾取到,然后再使用合并区功能实现。
3、还可以先用光标单击一个区,然后按住 CTRL 键,在用光标单击相邻的区即可。
四、翻转图形在Mapgis中的其它下面整图变换中比例参数的X比例中输入法-1或Y比例中输入-1后确定。
五、CAD转化为MAPGIS1.将CAD文件另存为2004/2000DXF格式。
2.在MAPGIS主程序中选择“文件转换”。
3.输入中选择转入DXF文件,确定并复位4.保存点线文件(面无法转化)六、MAPGIS转化为CAD1.在MAPGIS主程序中选择“文件转换”。
2.分别装入点线文件,复位并全选。
3.输出中选择“部分图形方式输入DXF”全选并确定。
4.打开保存的DXF文件,用CAD复位显示图形,并改字体样式。
5.保存成CAD格式。
七、如何把JPG格式的转成MSI格式图象处理----------图象分析模块。
在里面点:文件--------数据输入--------转换数据类型件---------转换转换后的格式为mapgis的msi影像文件!转换为MSI文件格式后再在输入编辑八、在电脑里如何做剖面图,不用手画,而且精度更高!1、先把MAPGIS图生成JPG格式,在PHOTOSHOP中图像—图像大小—文挡大小中输入经过变化剖面图的比例和JPG图的比例关系得出);然后按需要裁剪,以减少图形的所占内存;2、裁剪后旋转使剖面线处于水平位置;3、在MAPGIS中插入裁剪旋转后光栅文件,新建线和点文件,以剖面线为水平的X轴,画垂直起点的位置为坐标原点,以剖面线起点的高程为起始Y轴刻度,在X和Y轴上标上相对应比例尺的 4、以图上等高线和X轴交点为垂足画垂直X轴的直线,以等高线的高程画垂直于Y轴的直线们要求剖面轮廓线的拐点,把这样一系列的点连起来就成了剖面图的轮廓线。
用MAPGIS二次开发绘制物探电法原始数据图
李海泉;黄辉;宫元吉
【期刊名称】《黄金地质》
【年(卷),期】2002(008)002
【摘要】将物探电法的测点数据及测点的大地直角坐标按每条测线上测点由西向东的顺序,以统一编号、线号、点号、横坐标、纵坐标、测点数据为字段建成Microsoft Access数据库.根据制图比例尺和测点的大地直角坐标逐个计算数据库中所有测点在图纸上的坐标值,绘制测点位置子图,并在测点位置沿垂直测线方向向东移动1/2测点数据注释的字符宽度,并以测点位置为圆心顺时针旋转60°的位置绘制测点数据注释.按照上述方法,以Microsoft VC++ 6.0为工具,利用MAPGIS 6.1地理信息系统二次开发技术,编制数据处理程序,实现电法原始数据图的微机制图.
【总页数】5页(P62-66)
【作者】李海泉;黄辉;宫元吉
【作者单位】武警黄金第五支队,陕西,长安,710100;武警黄金地质研究所,河北,廊坊,065000;武警黄金第五支队,陕西,长安,710100
【正文语种】中文
【中图分类】TP311.52;P631.3
【相关文献】
1.利用MAPGIS软件直接绘制物探图件的方法 [J], 鲍世才
2.AutoCAD的二次开发在物探图件绘制中的应用 [J], 廖志伟
3.基于Scripter Basic语言的Grapher 7.0二次开发绘制物探剖面图 [J], 柳建新;曹创华;刘颖;童孝忠;郭振威
4.利用Mapgis绘制物探图件方法探讨 [J], 包振;易凯;邵丽梅;贾磊;张金达;杨超;杨瑞勇
5.一种基于MapGIS二次开发的钻孔柱状图自动绘制方法 [J], 郑贵洲;董文观;张良;孟晓宇
因版权原因,仅展示原文概要,查看原文内容请购买。
请教,如何在做好的地质图上自动切拉生成剖面图。
请详细说明,万分感激。
在memaping(rgmap)软件中有地质图生成剖面的功能,你可以了解。
mapgis6.7中有剖面分析模块,可以做横切“地形线”。
具体是这样的:其中之一的做法:1、准备地形网格化数据2、图像处理-电子沙盘-文件-高程文件-模型应用-高程剖面分析-鼠标点画剖面线-右键结束-弹出剖面线参数设置窗口-设置合适的参数-仅处理剖面-弹出剖面分析结果窗口,“地形线”自动切拉生成剖面图的结果就出来了。
3、其地质内容根据空间位置、产状、岩性、构造等自己画了。
不知是否明白,顺便说明一下,我以6.7版本描述的6.5应大同小异。
线段都画完以后,怎样建造区?先建好区文件,在其他里面选线转弧段,把线文件转换成弧段,再拓扑重建就行了,万一只生成了一个大区的话,就在区编辑里用分割区吧。
我要将安徽省一张JPG地图矢量化,我已经矢量化了省界市界,却不知道如何矢量城市名那个点,和如何进行城市名称标注?望高手不惜赐教…新建点图层-----加属性字段名称----对城市那个点以子图方式输入选择即时属性输入将名称输入然后选择菜单里的点编辑:根据属性标注释(但这样的缺点是注释的位置可能标的不是很好不如手工直接输入注释那样位置准确)。
或者先做注释然后“注释赋为属性”ARCGIS里的数据相当于MAPGIS的什么?shp文档中的point 就相当于MAPGIS中的WT文件,line相当于MAPGIS中的WL ,POL YGON相当于WP文件,MAPGIS和ARCGIS的数据可以实现互转但是以我的经验数据量大了就会有一些问题,最近发现一个小软件可以方便的实现他们的互转可以试试叫MAP2SHAPEMAPGIS输出?如下:选单->图形输出->输入编辑->新建工程->(在工作台)添加项目(添加你的wl,wt,wp文件)->编辑后保存工程(如果不需要编辑,可直接保存)->关闭编辑选单->图形处理->输出->文件->打开(刚才保存的工程文件)->光栅输出->选着你所需要的格式。
MAPGIS6.7技巧和使用方法一、如何将mapgis的图形插到word、excel、PowerPoint中首先点取mapgis菜单“其他拷贝”,接着打开word,点取“粘贴”。
Mapgis数据就复制到word文档里。
二、空心字格式使用空心字时,字体采用相应字体编号的负数。
如:-3表示黑体空心字。
三、合并区1、可以在屏幕上开一个窗口,系统就会将窗口内的所有区合并,合并后区的图形参数及属性与左键弹起时所在的区相同。
2、也可以先用菜单中的选择区功能将要合并的区拾取到,然后再使用合并区功能实现。
3、还可以先用光标单击一个区,然后按住CTRL键,在用光标单击相邻的区即可。
四、翻转图形在Mapgis中的其它下面整图变换中比例参数的X比例中输入法-1或Y 比例中输入-1l 后确定。
五、CAD转化为MAPGIS1.将CAD文件另存为2004/2000 DXF格式。
2.在MAPGIS主程序中选择“文件转换”。
3.输入中选择转入DXF文件,确定并复位4.保存点线文件(面无法转化)六、MAPGIS转化为CAD1.在MAPGIS主程序中选择“文件转换"。
2.分别装入点线文件,复位并全选。
3.输出中选择“部分图形方式输入DXF”全选并确定。
4.打开保存的DXF文件,用CAD复位显示图形,并改字体样式。
5.保存成CAD格式。
七、如何把JPG格式的转成MSI 格式图象处理………图象分析模块。
在里面点:文件……数据输入……转换数据类型(选JPG)………添加文件………转换转换后的格式为mapgis 的msi影像文件!转换为MSI文件格式后再在输入编辑里,导入后矢量化。
八、在电脑里如何做剖面图,不用手画,而且精度更高l1、先把MAPGIS图生成JPG格式,在PHOTOSHOP中图像一图像太小一文挡大小中输入经过变化后的宽度和高度数字(根据剖面图的比例和JPG图的比例关系得出);然后按需要裁剪,以减少图形的所占内存;2、裁剪后旋转使剖面线处于水平位置;3、在MAPGIS中插入裁剪旋转后光栅文件,新建线和点文件,以剖面线为水平的X轴,而垂直X轴的线为Y轴,以剖面线起点的位置为坐标原点,以剖面线起点的高程为起始Y 轴刻度,在X和Y轴上标上相对应比例尺的刻度。
MAPGIS在国土测绘制图中的应用作者简介:谢㊀旺(1974-),男,湖南双峰人,本科,工程师,研究方向:测绘工程㊂谢㊀旺(湖南省地质矿产勘查开发局四一八队,湖南娄底417000)摘㊀要:MAPGIS作为新一代面向网络超大型分布式地理信息系统基础软件平台,MAPGIS文件格式已经成为我国国土行业指定的归档文件格式之一,因此利用MAPGIS绘制和处理测绘相关图件十分关键㊂本文对MAPGIS软件进行了简单介绍,分析了MAPGIS在国土测绘制图中的应用,以某县高标准农田建设上图入库工作为例,对MAPGISK9软件在国土测绘制图中的具体应用进行了分析㊂关键词:MAPGIS软件;高标准农田建设上图入库;应用;MAPGISK9中图分类号:P208文献标识码:A文章编号:2096-2339(2019)01-0123-02㊀㊀近年来在国土测绘领域中,MAPGIS软件的应用十分广泛,为相关图件编制工作提供了有力的技术支持㊂MAPGIS以文件形式存储管理数据,具有较强的数据编辑功能,同时其应用成本较低㊁修改方便㊁色彩丰富㊁输出样式多样,因此加强MAPGIS在国土测绘制图中的应用研究具有重要的现实意义㊂1㊀MAPGIS软件介绍MAPGIS软件由中国地质大学开发的通用工具型地理信息软件,其打破了国外地理信息系统在我国的垄断地位,目前经过多年的发展与完善,其功能越来越强大㊁性能越来越稳定,成为国家科技部的推荐产品㊂通过对MAPGIS软件应用情况分析,其优点主要有以下两个方面:(1)基础操作平台完善㊂MAPGIS基础平台功能与其他地理信息系统软件一致,包括图形和属性数据的输入㊁编辑㊁输出㊁空间分析㊁空间数据库管理和实用程序(图1)㊂此软件可满足不同用户的实际需求,图形输入方便㊁简单,地理图件编辑精度高,可实现海量数据的存储与地图的无缝拼接㊂图1㊀基础平台系统结构(2)二次开发功能强大㊂MAPGIS具有强大的二次开发功能,可根据各行业的实际应用需求拓展MAPGIS产品功能㊁简化操作,实现行业专用软件的开发,如DGSS㊁RGMAP㊁SECTION等二次开发产品在国土行业应用广泛㊂2㊀MAPGIS在国土测绘制图中的应用MAPGIS是我国国土测绘制图的重要技术手段,在提高工作效率㊁改善图件质量方面发挥着重要作用,应用前景广阔,主要制图流程与制图方法如下:2.1㊀MAPGIS制图流程MAPGIS制图可实现测绘图件数字化,测绘信息数据均存储在计算机内,方便数据的管理与查询㊂MAPGIS在地质测绘制图中的应用流程如下:资料准备ң图形输入ң图形编辑ң颜色设计ң图形输出㊂2.2㊀MAPGIS制图方法以下主要从资料准备㊁图形数字化两个方面对MAPGIS制图方法展开论述㊂2.2.1㊀资料准备MAPGIS数据输入方法包括:数字化仪输入㊁扫描矢量化输入㊁GPS输入等㊂扫描输入应用十分有效,但是会出现扫描误差的情况,故需进行误差校正㊂MAPGIS支持二值㊁灰度和彩色(RGB模式)三种格式的TIF光栅文件,若是格式错误,可利用Photoshop重新设定图像模式㊂2.2.2㊀图形数字化MAPGIS制图包括两种方法:(1)光栅图像几何校正ң数字化:此方法制图较为迅速,但是精度较低,在图形输入时,极易受到扫描设备精度的影响,或因为操作失误,导致图形制作出现较大误差;(2)数字化ң矢量化图件几何校正:此方法主要是对数字化后的数据进行误差校正,可有效提高图件精度㊂现对第二种方法的制图过程展开论述:(1)图形矢量化:MAPGIS矢量化功能强大,可方便地画出直线㊁曲线,输入点和线时需将图像放大至20倍以上方可矢量化,具体操作如下:一是对文件中地理㊁地形要素进行分类,利用MAPGIS建立点㊁线㊁面文件,图形要素注释编辑参考‘国家基本比例尺地图1ʒ50001ʒ10000地形图“(GB/T33177 2016)等编绘规范,严禁321符号㊁注记等与线互相压盖,保证图形规范㊁精确;二是图形矢量化编辑时,各类要素分图层管理,可有效提高后期工作效率㊂(2)几何校正:一是确定图形控制点,即在原图选择直角平面坐标网交点作为 校正控制点 ,保存为 控制点.wl ;二是在实用服务子系统内打开投影变换,根据经纬度坐标形成1ʒ10000标准图幅,生成线文件,保存为 理论.wl ,作为校正参考㊂采集控制点前,需在误差校正子系统中设控制点参数,如图2所示,完成采集后将校正文件保存为 校正.pnt ,逐个进行数据校正㊂图2㊀控制点参数(3)图形拓扑:点㊁线文件矢量化后,进行拓扑造区,线拓扑错误检查通过后重建拓扑关系,具体流程如下:线预处理ң自动剪断线ң清除微短线ң自动节点平差ң错误检查(若是未通过,返回 清除微短线 )ң线转弧段ң形成闭合曲线ң拓扑重建ң结束㊂(4)标准图幅制作与输出:MAPGIS编辑窗口新建工程文件,添加项目,包括点㊁线㊁面文件,图框㊁图例㊁比例尺等,打开输出窗口,选择Windows输出㊁光栅输出㊁Postscript输出等㊂3㊀案例分析3.1㊀项目背景本文以某县高标准农田建设上图入库工作为例对MAPGIS在国土测绘制图中的应用进行分析㊂本次上图入库工作采用MAPGISK9软件,此软件在核心技术方面更为完善,数据的浏览㊁查询速度更快,凭借着先进的影像处理技术㊁友好灵活的用户界面和操作方式,为不同用户提供高质量的服务㊂通过对某县各部门高标准农田建设项目摸底㊁资料收集,将各个高标准农田建设项目依项目建设中的工程布局圈定规模和高标准农田范围线,从而确立项目边界的拐点坐标,形成项目区范围图件,对项目各类信息㊁位置导入相应的监管平台,便于国土管理部门对高标准农田建设基本情况和成效进行信息化㊁精准化的管理,加强项目的动态监测监管㊂3.2㊀MAPGISK9操作方法由于各部门在项目的管理过程中模式不一致,导致形成的过程资料㊁结果资料有很大的出入㊂有的项目在规划设计阶段或竣工阶段对于项目图件采用CAD格式编制,形成不带有空间位置属性的电子数据文件;有的项目则直接在纸质图件上通过手绘形式添加工程布局内容形成纸质图件㊂(1)资料处理㊂对于CAD格式的数据文件,MAPGISK9提供了多种不同数据格式的转换工具,可直接将CAD文件转换为MAPGIS格式㊂在转换后的原图中选择直角平面坐标网交点作为 校正控制点 ;依原图图框中的坐标信息,生成对应投影系统下的线文件,保存为 理论.wl ,作为校正参考㊂完成采集后将校正文件保存,然后逐个进行数据校正㊂对于纸质图件,先通过大幅扫描仪扫描形成栅格图像,在图形处理软件中进行必要的图形处理,如色调的调和等,形成TIF文件㊂进入地图编辑器模块,根据项目区所在的空间平面位置,生成投影平面直角系下的公里网格线;将TIF文件转换为MIS文件,GDB企业管理器数据源中导入影像,传输至sample地理数据库;进入主菜单选择图像分析,打开MIS文件开展镶嵌配准操作;进入 镶嵌融合 菜单,选择 添加控制点 ,每个交点依次添加控制点直至结束;依次修改残差,确定无误后点击 空格键 ,点击校正预览后点影像精校正㊂(2)创建工程文件:添加不同要素图层,以项目为单位对各项目图件进行管理;设系统参数 节点/裁减搜索半径 ;打开图例文件关联,制作图例版,编辑点㊁线㊁面参数㊂(3)要素矢量化:套合光栅图像数据依工程内容与布局对项目区大致范围进行矢量化;界线矢量时点击 F8 加点,均匀拖动鼠标,保证线条光滑㊁自然㊁流畅;点击 F12 捕获线头线尾靠近线㊂(4)矢量化范围线元素拓扑错误检查㊁区拓扑错误检查,形成大致范围区面文件㊂(5)在空间分析模块中,以大致范围区面文件与土地利用现状数据等文件进行空间叠加分析,提取大致范围区内的耕地图斑,作为高标准农田建设项目边界㊂(6)图件整式:利用已有的土地利用现状分幅图件,在分幅图工程文件中,添加所标绘的项目区范围线,加注必要的注记说明等㊂(7)工程输出:生成并打印光栅化图像㊂4㊀结语综上所述,MAPGIS在国土测绘制图中的应用具有显著优势,可有效减少制图工作量,提高制图效率,将测绘工作人员从繁重的数据处理中解放出来,同时此系统的应用可进一步丰富图表表现力,提高制图精度㊂相信随着MAPGIS软件的不断更新和完善,其在国土领域将得到进一步的推广应用,发挥更大的价值㊂421。
MapGIS绘制地下综合管线横断面图的实现摘要:在利用MapGIS开发工业开发区地下综合管线管理信息系统中,对管线的横断面分析是必不可少的。
文章结合作者用VB进行MapGIS二次开发的实践,详细介绍了绘制横断面图时管线的地面高程的计算方法,管线位置的确定等,实现在任意点处横断面图的绘制与输出。
可为工业开发区的管理部门提供辅助分析和辅助决策等服务。
关键词:地理信息系统综合管线MapGIS1 利用MapGIS绘制横断面图的意义工业开发区地下综合管线包括:上水管线、污水管线、雨水管线、煤气管线、电力管线、电信管线、热力管线、广电管线等八类管线。
地下管线种类繁多、错综复杂,在对地下管线进行规划、设计、施工和维护的时候,需要详细、直观地了解其他管线的相对位置、埋深、距离、类型、管径、权属单位等数据,以防挖断,损坏周围其他管线,这就需要准确地画出该处地下管线的横断面图[1]。
传统的手工绘制横断面图费时、费力,而且跟不上管线的更新速度,而以GIS为基础建立地下综合管线管理信息系统,可以实现对现有管线数据的查询、统计、分析,用其绘制管线的横断面图快速、准确、方便[2]。
本文作者以中地公司的MapGIS为平台,采用面向对象的、可视化的开发工具——VB实现地下综合管线的横断面的生成,并以可视化的形式输出给用户。
2 MapGIS的二次开发方式简介目前MapGIS二次开发库主要是以API函数的方式提供的,这些函数的实现被封装在12个动态链接库(DLL文件)中,它所提供的二次开发方式主要有API函数、MFC类库、Com组件、Active X控件4种,其中组件开发方式可以直接嵌入到通用的开发环境(如VB)中实现GIS功能,而Active X控件开发方式是MapGIS完成组件化改造的成果之一,它们使得二次开发更为简单、快捷、便利,代码的可复用性更高。
3 基于MapGIS的横断面图绘制实例3.1 管线数据的组织方法作者在MapGIS平台上开发的北京雁栖工业开发区地下综合管网管理信息系统,将整个工作区分成八层,对应着上述八种管线,每一层的管线都是由管点和管段组成的。
MapGIS常见问题 中地数码集团平台二次开发支持部 本期常见问题主要由MapGIS开发平台C/S开发问题组成,涉及部分B/S开发问题。 1、基于MapGIS开发平台,如何通过代码实现修改线的图形参数操作,包括可变颜色、可变笔宽、线型等参数? 答:可按照如下步骤实现: (1)在MapGIS软件中若需查看线、区等要素的图形参数,需开启还原显示功能,可通过编写代码手动开启还原显示功能。 (2)在还原显示模式下,线是通过MapGIS符号库的线型来显示的,而线型符号则由几部分构成,而每一部分若采取固定颜色或者固定笔宽的模式,则无法看到修改后的线型参数。只有在某一部分采取可变颜色或者可变笔宽的情况下,对图形信息中的相关项的修改才会有效果,因此可以通过修改符号库的相关线型的颜色模式或笔宽模式来达到效果。 (3)一个线型可以通过线型号+辅助线型号来唯一确定,以COM组件式开发C#语言为例的线属性如下: mcLinInfo. libID:辅助线型号 mcLinInfo. linstyID:线型号 (4)基于COM组件式开发C#语言的还原显示实现代码如下: mcLinInfolineInfo = new mcLinInfo();//线信息 mcGeoVarLinevarLine = new mcGeoVarLine();//折线对象 //点对象 mcDot dot1 = new mcDot(); mcDot dot2 = new mcDot(); //点对象赋值 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; //绘图 IXDisplay display = this.axMapXView1.Display;//绘图对象 display.DispLine(ptGeom as IGeoLine, lineInfo as mcLinInfo, 6);//根据线参数显示对应的线 display.DisplayOption.SymbolShow = true;//开启还原显示功能 display.DispLine(varLine, lineInfo as mcLinInfo, 0);//重绘制线 2、在查看地图的过程中,常要通过不同比率显示地图,如何通过代码实现按照一定的显示比率显示地图的功能? 答:步骤如下: (1)用户常常将显示比率与比例尺相混淆,比例尺一般应用于地图数据打印输出时,表示图上距离与实际距离的比值。而显示比率通常是指基于某一显示设备显示地图的逻辑范围与显示设置的分辨率的关系,实现的效果则是根据用户输入的显示比率来放大或缩小地图,显示效果如下:
图1 1:10000显示比率显示效果 图2 1:250000显示比率显示效果 (2)显示比率近似值计算公式 a.显示比率=当前逻辑范围/设备范围; b.当前比例尺=设备范围(毫米值)/实际的显示范围(毫米值); c.设备范围的值是根据96像素/英寸,1英寸=25.4毫米来计算。 (3)以C/S模式,COM组件式开发C#语言为例,部分实现代码如下: //当前比例尺 public string scalejs() { //设备范围 double sbfw = gisOper.AxMapView1.Width;//gisOper为workSpace对象 sbfw = (sbfw / 96) * 25.4 //这里显示器设置为96像素,以实际值为主 //实际显示范围 IXDisplay display = null; display = gisOper.AxMapView1.Display; mcRectrect = display.Transformation.DispRect; doublesjfw = rect.xmax - rect.xmin; sjfw = (sjfw * Math.PT * 6371000000) /180; //取地球的平均半径,得到近似的实际距离 //当前比例尺 int x = Convert.ToInt32((sjfw/sbfw)); srtingscaledq = "1 : " + Convert.ToString(x);//得到当前比例尺
3、在进行符号库操作时,添加符号成功,但看不到效果,应该如何解决? 答:在进行符号库设置的过程中,需要注意以下几点: (1)坐标值是像素乘以5000,比如dot.x = 0.2*5000; (2)符号数据长度必须设为80,mcSymbolHead.DataLen = 80; (3)以C/S模式,COM组件式开发,C#语言为例,实现代码如下: mcMapSymbolLibClassmcLibClass = new mcMapSymbolLibClass();//符号库类 intnnnn = mcLibClass.get_BaseNum(meSymbolType.mePntSymbol);//设置点符号 intnSymCount = mcLibClass.SymbolNum; mcMapSymbolmcSymbol = new mcMapSymbol();//符号对象 mcSymbolHeadm_symHead = new mcSymbolHead(); m_symHead.symbolType = meUnitSymbolType.meVectPoint;//设置符号类型为矢量点 m_symHead.ItemNum = 1; m_symHead.SymbolName = "test113"; m_symHead.DeleteFlag = false; //设置坐标值 m_symHead.OrgX = 5000; m_symHead.OrgY = 5000; //注意1 m_symHead.DataLen = 80; mcDots dots = new mcDots(); mcDot dot = new mcDot(); //这里需要使用设备坐标,三个点 dot.x = 0; dot.y = 0; dots.Add(dot); dot.x = 5000; dot.y = 5000; dots.Add(dot); dot.x = 10000; dot.y = 5000; dots.Add(dot); dot.x = 0; dot.y = 0; dots.Add(dot); mcSymbolItemClassmcSymItem = new mcSymbolItemClass();//符号图元对象 mcSymItem.ItemType = meSymbolItemType.mePolygon;//填充区 //填充区参数 mcSymItem.InterColor = 1; mcSymItem.OuterColor = 1; mcSymItem.DateLen = 4; mcSymItem.OuterPen = 1; mcSymItem.SInterPenWidth = 1; mcSymItem.CirNum = 1; /注意2,顺序 m_symHead.SymbolNo= mcLibClass.get_BaseNum(meSymbolType.mePntSymbol) + 1; mcSymbol.SymbolHead = m_symHead; intrtn = mcSymbol.AppendItem(mcSymItem, dots, ""); intnAddFlag = mcLibClass.AppendSymbol(mcSymbol); nSymCount = mcLibClass.SymbolNum; //注意3 mcLibClass.WriteSymbol(mcSymbol);//更新符号库 mcLibClass.SaveLib();
4、如何实现图层透明显示? 答:以COM组件式开发C#语言为例,有两种实现方法,如下: (1)方法一:mcSFeatureLayer.SetProperty提供(MapGISK9新增加接口), m_regLayer.SetProperty("TRANSPARENT", 50); (2)方法二:mcSFeatureLayer提供了对区图层透明显示和填充模式的设置: 设置区填充显示方式0/1/2,只填充区/只绘制边线/填充区并绘制边线,代码如下: Sub SetRegFillDispMode(ByVal mode As Integer, [linf As mc_basObj7Lib.ILinInfo]) mapXBase.mcSFeatureLayer的成员 设置显示透明度,代码如下: Sub SetTransparent(ByVal per As Integer) mapXBase.mcSFeatureLayer的成员
5、MapGIS K9中如何操作属性字段类型为图片的属性值? 答:步骤如下: