南方数码iData数据工厂二次开发图层选择
南方数码的idata数据工厂目前有针对第三次全国土地调查的版本。下面我们来学习一下有关图层的一个小案例。这里案例是通过指定图层名称,然后选择图层。如果数据库中存在指定名称的图层,然后遍历图层的所有实体,让实体高亮显示。最后计算该图层所有的实体个数。写这个代码,大家需要在Visual Studio中添加CSInterface.dll的引用。整个代码如下。
using Southgis.iData;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace SelectByLayer
{public class CMDDemo{private iDataInterface iData = new iDataInterface();public void selectLayer(){/*无激活的文档*/if (!iData.isDocumentActived()){this.iData.iDataPrintf("无可用的数据源");return;}/*清除选择*/this.iData.ClearSelection();/*清除高亮显示*/this.iData.ClearHighLight();string strLayerName;ErrorType et = this.iData.iDataGetString(0, "输入要选择实体的图层名", out strLayerName);if (et==ErrorType.eError||et==ErrorType.eCancel||strLayerName==""){return;}List<string> layerList = new List<string>();layerList.Add(strLayerName);List<iDataEntity> entityList;et = this.iData.iDataSSGetX(out entityList,layerList,false,SelectMode.selAll);if (et==ErrorType.eError||et==ErrorType.eCancel||entityList.Count==0){this.iData.iDataPrintf("没有选择到任何实体!");}foreach (iDataEntity ide in entityList){ide.setHighLight(true);}this.iData.iDataPrintf("该图层选择到实体数量:" + entityList.Count);/*重绘窗口*/this.iData.iDataRegen(null, true);}}
}
最后列出有关图层函数,以及相关使用说明。
clear() |
图层清除 |
clone() |
图层克隆 |
extCode() |
扩展编码 |
field(string field_name) |
根据字段名获取图层的对应字段 |
fieldname(int field_type) |
|
Fields() |
获取当前图层的所有字段 |
getAliasName() |
获取图层别名 |
getClrObject() |
|
getColorIndex() |
获取图层颜色索引值 |
GetDbBase() |
获取图层所在的数据库 |
getGeoCodeForDefaultLayer(EntityType entity_type, string geocode) |
获取地理编码 |
getGeoCodeIndex(string geocode_name) |
根据图形编码的编码名获取图层的图形编码 |
getGeoCodeList() |
获取当前图层上的所有编码 |
getLayerID() |
获取图层ID号获取图层ID号 |
getLayerType() |
获取图层类型 |
getName() |
获取图层名 |
getOrder() |
|
getPropertyLabelColor() |
|
getPropertyLabelSize() |
|
hasfield(int field_type) |
|
hasPropertyLabel() |
|
idxGridSize() |
|
isFrozen() |
|
isHidden() |
|
isLocked() |
|
isPrint() |
|
isRollingScreen() |
|
items() |
获取当前图层所有的实体 |
itemsBoundingRect() |
图层实体矩形盒 |
newid() |
|
property(string property_name) |
|
setAliasName(string layer_alias_name) |
|
setClrObject(object clrObject) |
|
setColorIndex(int color_index) |
设置图层颜色索引值 |
setExtCode(string layer_extern_code) |
|
setFieldName(int feild_type, string field_name) |
|
setFrozen(bool is_frozen) |
|
setGeoCodeList(List<IDataGeoCode> layer_geocode_list) |
|
setHidden(bool is_hidden) |
|
setidxGridSize(double grid_size) |
|
setLayerID(int layer_id) |
设置图层ID号。图层默认的ID号为0 |
setLayerType(EntityType layer_type) |
设置图层类型。图层类型值根据结构体EntityType的定义进行选择设置 |
setLock(bool is_lock) |
|
setName(string layer_name) |
设置图层名 |
setnewid(int max_id = 0) |
|
setOrder(int order_number) |
|
setPrint(bool is_print) |
|
setProperty(string property_name, object property_value) |
|
setPropertyLabel(bool is_set_label) |
|
setPropertyLabelColor(int color_index) |
|
setPropertyLabelSize(double font_pix_size) |
|
setRollingScreen(bool is_rolling) |
|
setZValue(bool is_has_Z_value) |
|
sortGeoCode() |
|
switchFrozen() |
|
switchHiden() |
|
switchLock() |
|
switchPrint() |
|
xDataFields() |
获取当前图层的所有扩展属性字段。扩展属性字段用于记录实体的附加的特定的用户自定义属性信息,并在属性列表记录显示 |
ZValue() |
更多内容,微信扫二维码关注公众号
南方数码iData数据工厂二次开发图层选择相关推荐
- 南方数码iData数据工厂二次开发
iData数据工厂软件是南方公司旗下的一个产品,该软件深耕于测绘地理信息领域,在数据生产,建库方面发挥着重要的作用.目前正值第三次全国土地调查之际,南方公司专门在原有iData软件的基础上,定制开发出 ...
- 南方数码iData数据工厂二次开发实体
实体是在idata软件中展现图形的载体,通过设置实体的相关属性,让各种实体表现出各自的差异.可以说实体在idata中算是比较复杂对象. 下面来学习一下idata的实体相关函数.. 函数名 说明 add ...
- 南方iData数据工厂(一个平台,一套数码,一体化生产):构建基础空间数据的好平台
iData数据工厂标准版v2.2(提取码:data)https://pan.baidu.com/s/1-q4hJWkv5Guz5E5xlFnHkg 南方数码地理信息数据全流程生产体系平台(以下简称:南 ...
- iData数据工厂V2.2(一个平台、一套数据、一体生产)试用功能受限解决方案在文尾
iData数据工厂V2.2下载(提取码:data)https://pan.baidu.com/s/1lhe_t9WMKs9xiDl-0K4-tgiData数据工厂是一个集数据采集.数据加工.数据入库和 ...
- c# cad二次开发 通过选择txt文件将自动转换成多段线
c# cad二次开发 通过选择txt文件将自动转换成多段线,txt样式如下 using System; using System.Collections.Generic; using System.T ...
- iData数据工厂升级啦!V2.3版体验有多妙?赶紧来了解一下吧…
iData数据工厂标准版V2.3(提取码:data)https://pan.baidu.com/e/1-q4hJWkv5Guz5E5xlFnHkg 一.远程.海量数据加载: 矢量数据超2G,影像数据超 ...
- etabs数据_ETABS二次开发入门(一)——简介
ETABS是一款常用的结构设计软件,能够实现快速建模.分析等功能.这里以ETABS 2015为例,阐述利用ETABS API进行二次开发的方法. 文章的主要参考文献为ETASB自带的CSi API E ...
- CAD 二次开发 图层操作(1)创建图层
CAD二次开发的资料比较少,除了李冠亿先生的<深居浅出AutoCAD二次开发>这本书之外,目前没有找到合适的参考资料.现将自己工作中用的的一些方法贴出来.方便各位网友快速入门. #regi ...
- CAD 二次开发 图层操作(3)取得指定图层下的所有对象id
对于CAD二次开发的人来说,可能需要对某一图层下的实体(点,线,面域,块,三维实体)进行不同的操作.下面的方法,即可实现获取指定图层名称下的所有实体ID. 输入参数为图层名称: 返回值为:对象主键集合 ...
最新文章
- Proxmox 使用nfs备份及存储iso
- nbns协议_网络协议详解1 - NBNS
- Glut处理鼠标事件:函数glutMouseFunc
- SSM+Druid实现动态多数据源切换(已实践)
- 阅读分析下列html,阅读下列说明和 HTML 文本,分析其中嵌入的 JavaScript. 脚本..._考试资料网...
- Python-视频爬取示例对小白友好
- Pandas 文本数据方法 findall( )
- 十大排序算法——冒泡法
- Mac 自定义用户级别Applications, 安装应用到Dashboard
- Linux kali 安装 qq Tim
- 内存及Cache带宽测试
- 坚果pro android版本号,锤子手机/坚果U3-Pro-SE/坚果Pro2特别版-LOS-安卓9.0.0-稳定版Stable3.0-来去电归属-农历等-本地化增强...
- php中empty检测非空,php empty() 检查一个变量是否为空
- 开启docker远程访问
- vmware虚拟机安装windows server 2012 绕过秘钥安装——P2
- 计算机组装慕课平台,计算机组装与维修
- python程序化交易实例-用 Python 实现你的量化交易策略
- atcoder abc242 c题 1111gal password
- 解决mybatis-plus分页查询不生效,配置分页拦截器
- 使用vuejs 2.x (不是nuxt) 做个demo: 使用 vuex, router ( store, action , mutation)