利用MapX实现电力通讯设备可视化

2013-12-12 10:44:48 电力信息化  点击量: 评论 (0)
摘要 :目前电力通信网络资源的管理基本上还停留在手工管理为主、计算机管理为辅的水平上,本文介绍了使用Delphi开发平台与MapX组件来开发电力通信资源管理系统,实现电力通信设备的可视化管理。本文介绍了系统
到对应图层中。
    使用Datasets.add方法时需要确定所绑定数据源的类型、绑定到地图的哪一层以及与地图之间关联的字段。具体方法:Datasets.add(Type,SourceData,[Name], [Geofield], [SecondaryGeofield], [BindLayer], [Fields], [Dynamic])。各字段数值取值如下:
⑴ 通过ODBC数据源绑定,需要创建对应的DBCQueryInfo对象并设置相关参数。
odbcinfo:=CreatOleObject(‘MapX.ODBCQueryInfo.5’);
odbcinfo.SqlQuery:=’select * from 微波线 where level=1’ //选择微波线等级是1级的所有设备数据;
odbcinfo.Dataset:=’微波线’;
odbcinfo.ConnectString:=’odbc’;
⑵确定数据源中要绑定到图层中的字段。Flds是字段集合对象
flds:=Cofields.Create;   //初始化fields对象
flds.Add(‘编号’,’ id’,miAggregationIndividual,miTypenumeric);
flds.Add(‘名称’,’name’,miAggregationIndividual,miTypeString);
flds.Add(‘级别’,’level’, miAggregationIndividual,miTypeString);
⑶确定绑定图层
Lyr:=map1.layers.item[‘微波线1级’];
⑷把上述参数添到DataSets.add方法中实现绑定并返回ds数据集对象,
ds::= Map1.DataSets.Add( miDataSetODBC, odbcinfo, ’wb’, ’编号’, emptyparam, lyr, flds, true) ;
如果需要根据地理坐标在地图中显示图元,则需要如下操作:       
pnt := CreateOleObject('MapX.Point.5'); 
style1:= CreateOleObject('MapX.style.5');
pnt.Set(xcord,ycord);                          //设置点对象的地理坐标
style1:= CreateoleObject('MapX.Style.5');
style1.SymbolFontSize:=9;
style1.SymbolFontColor:=micolorgreen;
obj := map1.FeatureFactory.CreateSymbol(pnt,style1 );  //根据点对象和样式创建图元 
obj.keyvalue:=inttostr(id);                //根据数据表中id值设置图层关键字,实现关系数据库和地图文件的对应关系。
Map1.Layers.Item[1].AddFeature(obj,emptyparam);  //向图层中添加图元
   在程序实现过程中,如下两个问题不能忽视 :
⑴ 地图文件关键字段(keyfield)需要与关系数据库表中的关键字同值才能建立图层与属性数据的关联关系。
⑵如果在新建图层上首次创建图元对象,需要通过style对象的pickSymbol方法自选图元样式,则此样式为图层的默认样式;如果该图层中已存在图元,则可以通过拷贝已存在图元的样式来设置新图元的样式属性,以保持图层中图元的图标和样式的一致。部分程序如下::
Style1:=obj.style;
Style1:=map1.layers.Item[1].allfeatures.item[1].style.clone;   // 复制已存在图元的样式 
4.3 信息查询功能
查询分成属性查询和
大云网官方微信售电那点事儿

责任编辑:和硕涵

免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
我要收藏
个赞