




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MapGIS常见问题中地数码集团平台二次开发支持部本期常见问题要紧由 MapGIS开发平台C/S开发问题组成,涉及部份 B/S开发问题.1、基于MapGIS开发平台,如何通过代码实现修改线的图形参数操作,包括可变颜色、 可变笔宽、线型等参数?答:可依照如下步骤实现:(1)在MapGIS软件中假设需查看线、区等要素的图形参数,需开启复原显示功能,可通过编写代码手动开启复原显示功能.(2)在复原显示模式下,线是通过MapGIS符号库的线型来显示的,而线型符号那么由几部份组成,而每一部份假设采取固定颜色或固定笔宽的模式,那么无法看到修改后的线型参数.只有在某一部份采取可变颜色或可变笔宽的情形下,对图
2、形信息中的相关项的修改才会有成效,因此能够通过修改符号库的相关线型的颜色模式或笔宽模式来到达成效.(3) 一个线型能够通过线型号+辅助线型号来唯一确信,以COM1件式开发C黜言为例的线属性如下:mcLinInfo. libID :辅助线型号mcLinInfo. linstyID :线型号(4)基于COMS件式开发C黜言的复原显示实现代码如下:mcLinInfolineInfo = new mcLinInfo();/线信息mcGeoVarLinevarLine = new mcGeoVarLine();/折线对象点对象mcDot dot1 = new mcDot();mcDot dot2 = n
3、ew mcDot();点对象赋值dot1.x = 50;dot1.y = 50;dot2.x = 200;dot2.y = 200;/添加到折线对象varLine.Append2D(dot1);varLine.Append2D(dot2); /设置线参数lineInfo.linstylD = 21;linelnfo.liblD = 4;lineInfo.xscale = 20;lineInfo.yscale = 20; /画图IXDisplay display = this.axMapXView1.Display;画图对象display.DispLine(ptGeom as IGeoLine,
4、 lineInfo as mcLinInfo, 6);/依照线参数显示对应的线display.DisplayOption.SymbolShow = true;/开启复原显示功能display.DispLine(varLine, lineInfo as mcLinInfo, 0);/重绘制线2、在查看地图的进程中,常要通过不同比率显示地图,如何通过代码实现依照必然的 显示比率显示地图的功能?答:步骤如下:(1)用户常常将显示比率与比例尺相混淆,比例尺一样应用于地图数据打印输出时,表示图上距离与实际距离的比值.而显示比率一般是指基于某一显示设备显示地图的逻辑范围与显示设置的分辨率的关系,实现的成效
5、那么是依照用户输入的显示比率来放大或缩小地图,显示成效如下:部 帖汩 HWKp SHN4)gl唯 到妙曜 星VW ntHW 和fettflM H*5 13 第咫 *0小;上不占/ Mif# .上 .- '. W Bllttf工工 3飞飞,中卡 工+出署事乌里也口法 Q« & B 口4 J 二tm ,=* T = XM :"丁 ld0plK团F?l团匕)F1B曰匚川t的就-匚二.mESaL.jg、j tm.而*fj 11?口单0.: I汽口卜rI'.厘9:%-U : 'J广?小 L J瓯距JiB -" .'El图1 1 : 1
6、0000显示比率显示成效;黑 IfT-JJ -MM1: E" WJ1J dWAlk J ".*105 MHIi 甘班匐包H I4UJ HfJ.JJ <S 3曜M:H三二三三"二二二七 53315 T.53舟目齿懒引的室的融回G 一山 W图2 1 : 250000显示比率显示成效(2)显示比率近似值计算公式a.显示比率=当前逻辑范围/设备范围;b.当前比例尺=设备范围(毫米值)/实际的显示范围(毫米值)c.设备范围的值是依照 96像素/英寸,1英寸毫米来计算.(3)以C/S模式,COMfi件式开发C献言为例,部份实现代码如下:/当前比例尺public stri
7、ng 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
8、* 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模式,COMfi件式开发,C
9、黜言为例,实现代码如下:mcMapSymbolLibClassmcLibClass = new mcMapSymbolLibClass();/符号库类intnnnn = mcLibClass.get_BaseNum(meSymbolType.mePntSymbol);/设置点符号intnSymCount = mcLibClass.SymbolNum;mcMapSymbolmcSymbol = new mcMapSymbol();/ 符号对象mcSymbolHeadm_symHead = new mcSymbolHead();m_symHead.symbolType = meUnitSymbol
10、Type.meVectPoint;/设置符号类型为矢量点m_symHead.ItemNum = 1;m_symHead.SymbolName = "test113"m_symHead.DeleteFlag = false;/设置坐标值m_symHead.OrgX = 5000;m_symHead.OrgY = 5000;/注意1m_symHead.DataLen = 80;mcDots dots = new mcDots();mcDot dot = new mcDot();/那个地址需要利用设备坐标,三个点dot.x = 0;dot.y = 0;dots.Add(dot);
11、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.InterC010r = 1;mcSymItem.OuterC010r = 1;mcSymItem.DateL
12、en = 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);
13、nSymCount = mcLibClass.SymbolNum;/注意3mcLibClass.WriteSymbol(mcSymbol);/更新符号库mcLibClass.SaveLib();4、如何实现图层透明显示?答:以COM&件式开发C黜言为例,有两种实现方式,如下:(1)方式一:提供(MapGISK9新增加接口),m_regLayer.SetProperty("TRANSPARENT", 50);(2)方式二:mcSFeatureLayer提供了对区图层透明显示和填充模式的设置:设置区填充显示方式0/1/2 ,只填充区/只绘制边线/填充区并绘制边线,代码如
14、下:Sub SetRegFillDispMode(ByVal mode As Integer, linf As mc_basObj7Lib.ILinInfo) 的成员设置显示透明度,代码如下:Sub SetTransparent(ByVal per As Integer)的成员5、MapGIS K9中如何操作属性字段类型为图片的属性值?答:步骤如下:(1)在K9中属性字段类型为图片类型的字段,字段内容是图片的绝对途径,能够对其进行操作,但中间必需有解码的进程.(2)以C/S模式,COM1件式开发,C黜言为例,实现进程如下:mcGDBServersvr = new mcGDBServer();s
15、vr.Connect("MapGISlocal", "", "");/连接数据源mcGDataBasegdb=svr.get_gdb("sample");/ 翻开数据库mcSFeatureClssfcls=gdb.get_XClass(meXClsType.meXSFCls) as mcSFeatureCls;sfcls.Open("Ku6_1.wl", 0);/翻开简单要素类/查询OID为1的要素的信息mcObjectID id=new mcObjectID();id.Int=1;mcReco
16、rdrcd = null;sfcls.GetAtt(id, out rcd);objectob;/获取名称为“ aaa的要素信息,该属性为图片类型rcd.GetFldVal("aaa", out ob);byte bt = System.Text.Encoding.Unicode.GetBytes(string)ob);/转化成二进制字节string str = System.Text.Encoding.ASCII.GetString(bt);/转化成 StringImage img = Image.FromFile(str);/输出图片6、MapGIS IGServer中
17、包含哪些数据组织形式?答:MapGISIGServer采纳“纵向多级,横向网络方式治理海量多源异构数据.IGServer 平台通过发布数据效劳实现数据资源的应用与共享,支持二维、三维数据.二维数据组织形式包括矢量数据和瓦片数据两种大体方式,其中矢量数据又包括矢量地图文档、矢量图层两种类型.矢量图层概述:矢量图层亦即存储在本地文件(*.HDF)或网络数据源中的地理数据,依照地理数据的 几何约束类型能够分为点、线、面这三种,相关于地理数据库而言,能够简单地明白得为三种类型简单要素类.在同一地理数据库中,矢量图层具知名称唯一性,即能够通过矢量图层的名称来唯一确信一个矢量数据.矢量地图文档概述:矢量地
18、图文档亦即复合文档,它采纳了复合结构,其文件内部逻辑结构类似文件系统的治理结构.它是地图的一种数据的综合表现和治理形式,存储了组成地图的各类制图元素, 包括题目、指北针、图例、比例尺、布局、数据窗体、图层等.矢量地图文档的地图 Map,要紧作用是集中的治理这些独立的图层,为用户归纳、合分析地理数据等提供手腕.而图层只是作为地理数据的一种引用,亦即对矢量图层的引用,指向位于本地或网络数据库中的地理数据集,并非是在物理上存储地理数据,以 *.Map的形 式存在.瓦片数据概述:为了提升互联网电子地图的响应速度,改善大数据量地图的阅读成效及流畅度,地图瓦片应运而生.将必然范围内的地图进行纵向和横向分幅
19、,依照不同的品级,依照指定的尺寸和指定格式进行切割,取得假设干行和列的矩形图片库,这些矩形地图切片就称之为地图瓦片.这些切割而成的假设干行和列的地图瓦片库呈现正金字塔形的数据结构,在IGServer中将其存储到一个临时的*.HDF文件中,那个存储瓦片库的 HDF文件和前面提及的存储本地 数据源的地理数据库的 HDF文件没有任何关系.在IGServer中,瓦片数据的生成有两种方式:预生成和实时动态生成.预生成事实上 确实是依照用户需求级数和范围,通过工具一次性生成所有的瓦片,并存储到HDF文件中.该HDF文件能够存储到效劳器上或本地,在需要显示应用的时候, 依照用户请求的瓦片的级数及行列号,从HDF中检索出瓦片并实现自动拼接.实时动态生成方式, 那么会在本地生成临时的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南现代物流职业技术学院《世界经典影片中的符号与意义》2023-2024学年第二学期期末试卷
- 上海海洋大学《建筑钢结构设计》2023-2024学年第一学期期末试卷
- 湖南长沙明德旗舰达标名校2025年初三培优班考前测验(生物试题)试题(1)含解析
- 江苏省扬州市江都区龙川小学教育集团2025年三下数学期末预测试题含解析
- 创业企业品牌体验式营销案例分析重点基础知识点
- 员工考核工作总结模板
- 车间全年工作总结素材2025(3篇)
- 2025银行业务员个人年终工作总结(9篇)
- 高校保安个人年终工作总结(6篇)
- 湖北省2025届高三(4月)调研模拟考试地理试题(含答案)
- 2025届江苏省南京市高三语文一模作文题目审题立意及高分范文:弯道与陡坡
- 2025年浙江长征职业技术学院单招职业技能考试题库含答案
- 浙江绍兴职业技术学院招聘真题2024
- 浙江省外国语实验学校2025届中考化学模拟试卷含解析
- 教学课件-统计学(第三版)袁卫
- 湖北省武汉市2024-2025学年高三下学期2月调研考试英语试题(含解析无听力原文及音频)
- 医院保安员培训
- 依法执业与医疗安全培训课件
- 2024年宁波市消防救援支队社会招录政府专职消防员笔试真题
- Unit 6 Beautiful landscapes Reading 教学设计-2024-2025学年译林版七年级英语下册
- 神经导航在神经外科手术中的应用与经验
评论
0/150
提交评论