c#中操作Mapx5.02的方法

本文介绍了一种在MapX环境中创建和管理地图元素的方法,包括数据集、自定义字段、样式及标签等的设置。通过具体代码展示了如何实现点要素的绘制、图层的创建与特征的添加。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//增加图元,包括数据集、自定义字段、样式、标签

string sPath = Application.StartupPath + "//china//China.gst";

Mapx.GeoSet = sPath;

Mapx.TitleText = "";

Mapx.MapUnit = MapXLib.MapUnitConstants.miUnitKilometer; 

MapXLib.Fields fld = new MapXLib.Fields();

 fld.AddStringField("Label", 200, false); fld.AddStringField("DamCode", 20, false);

//图层信息

MapXLib.LayerInfo layerInfo = new MapXLib.LayerInfo();

layerInfo.Type = MapXLib.LayerInfoTypeConstants.miLayerInfoTypeTemp;

layerInfo.AddParameter("fileSpec", "My Layer");

layerInfo.AddParameter("Name", "DamLayer" + i);

layerInfo.AddParameter("Fields", fld);

 //创建图层  

MapXLib.Layer layer = Mapx.Layers.Add(layerInfo,i);

//创建图层数据集

MapXLib.Dataset layerDataSet = Mapx.DataSets.Add(MapXLib.DatasetTypeConstants.miDataSetLayer, layer, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

//对标签属性进行设置

layer.LabelProperties.Dataset = layerDataSet;

layer.LabelProperties.DataField = layerDataSet.Fields["Label"];

layer.LabelProperties.Position = MapXLib.PositionConstants.miPositionCL;

layer.LabelProperties.Offset = 2;  

layer.LabelProperties.Overlap = true;  

layer.LabelProperties.Style.TextFont.Size = 9;

layer.LabelProperties.Style.TextFont.Name = "楷书_GB2312";

layer.LabelProperties.Style.TextFont.Bold = true;

layer.LabelProperties.Style.TextFontColor = (uint)ColorTranslator.ToOle(Color.Red);

layer.ZoomLayer = true;

 layer.ZoomMax = iMax;

layer.ZoomMin = 0;

layer.AutoLabel = true;

//点

MapXLib.Point ptObj = new MapXLib.PointClass();

//点赋值

ptObj.Set(double.Parse(Dboper.sdr["EL"].ToString()), double.Parse(Dboper.sdr["NL"].ToString()));

//字段赋值

MapXLib.RowValues rv = layerDataSet.get_RowValues(0);

rv["Label"].Value = Dboper.sdr["RSNM"].ToString();

rv["DamCode"].Value = Dboper.sdr["RSID"].ToString();

 //样式

MapXLib.Style style = new MapXLib.Style();

style.SymbolFont.Name = "MapInfo Oil&Gas";

style.SymbolCharacter = 47;

style.SymbolFontColor = (uint)ColorTranslator.ToOle(Color.Red);

style.SymbolFont.Size = 12;

//图元 MapXLib.Feature f = Mapx.FeatureFactory.CreateSymbol(ptObj, style);

//图元加到图层上

layer.AddFeature(f, rv); 

 

 private void Mapx_SelectionChanged(object sender, EventArgs e)        

{            

         pXLib.Features FeaObjs;            

         pXLib.RowValues rv;

         String sDamCode;

         int iSerial = 0;

         lv_Dam.Items.Clear();

        

         try

        {

                 for (int i = 0; i < iCountPRJSC; i++)

                 {

                          FeaObjs = Mapx.Layers["DamLayer" + i].Selection.Clone();

                          if (FeaObjs != null)

                         {

                               if (FeaObjs.Count > 0)

                              {

                                       for (int j = 1; j <= FeaObjs.Count; j++)

                                      {

                                              rv = Mapx.Layers["DamLayer" + i].DataSets[1].get_RowValues(FeaObjs[j]);                                                   sDamCode = rv["DamCode"].Value.ToString();

                                              iSerial++;  

                                              AddDamInfo(sDamCode,iSerial);

                                      }

                              }

                       }

                  }

            }

             catch

             {

                        MessageBox.Show("选择图元时发生错误!","错误",MessageBoxButtons.OK,MessageBoxIcon.Exclamation );

            }

}

C#开发MapX的资料 很实用 第四章 MAPXC#实例 5 4.1 MAPX图层建立 5 4.1.1 MapX数据与地图的组织结构 5 4.1.2 实例1:建立/添加一个用户自定义图层 5 4.1.3 在MapX中使用栅格图层 7 4.1.4 实例2:栅格图层的建立 8 4.2 图元自动标注 9 4.2.1 实例3:给图层加上自动标注功能 9 4.3 MAPX地图集 9 4.3.1 什么是MapX地图集(Geoset)? 9 4.3.2 实例4:打开已存在的地图集文件 10 4.3.3 实例5:保存地图集 10 4.4 内置工具的使用 11 4.4.1 使用标准工具 11 4.4.3 实例6:内置标准工具的使用 11 4.5自定义工具 12 4.5.1 创建自定义工具 12 4.5.2 实例7:创建测量长度和面积自定义工具 13 4.6 MAPX地图符号样式的定制 14 4.7在图层上添加自定义图元 15 4.7.1 实例8:鼠标点击向图层上添加图元 15 4.7.2 实例9:给定坐标向图层上自动添加图元 17 4.8 获得图元属性 20 4.8.1实例10:获取选定图元的属性 20 4.9 图元的选取 21 4.9.1 实例11:实现InfoTip功能 21 4.10 图元属性的修改 22 4.10.1 实例12:修改图元属性 22 4.11 实例13:图元的查询 23 4.12 实例14:鹰眼图的实现 24 4.13 数据绑定 26 4.14 GPS在GIS系统中的应用 27 4.14.1定位信息的接收 27 4.14.2定位信息的提取 27 4.14.3定位信息在MapX中的显示 28 4.14.4 实例15:GPS定位系统的应用 28 4.15 多媒体信息在GIS系统中的应用 33 4.15.1 GIS中嵌入多媒体的方法 33 4.15.2 实例16:在MapX系统中嵌入多媒体数据 33 第五章 MAPX与ORACLE结合 35 5.1 ORACLE数据库对GIS的支持 35 5.1.1面向对象的数据库支持 35 5.1.2.Oracle spatial组件的引入 35 5.2 循序渐进学习ORACLE SPATIAL在MAPX中的应用 36 5.2.1 oralce服务器的安装 36 5.2.2 准备由Oracle Spatial存储的图层文件 36 5.2.3 Easyloader上载工具 36 5.2.4 图层信息在Oracle中的存储结构 38 5.2.5用程序实现MapX图元到oracle数据库的上载 42 5.2.6 用程序实现oracle数据表数据下载至MapX中显示 44 5.2.7 图元样式的还原 46 5.3 在网络环境下实现图层信息共享 47 第六章 MAPCTRL控件的开发方法 57 6.1 主要功能 57 6.2 开发步骤 57 6.3 程序实现 58 第七章 分发基于.NET平台的MAPX应用程序 91 7.1 .NET FRAMEWORK 概述 91 7.2 .NET FRAMEWORK 的主要组件和功能 92 7.2.1公共语言运行库 92 7.2.2 .NET Framework 类库 92 7.3 安装 .NET FRAMEWORK 93 7.4 MAP客户安装 93 7.5 制作安装程序 93
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值