南方数码的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数据工厂二次开发图层选择相关推荐

  1. 南方数码iData数据工厂二次开发

    iData数据工厂软件是南方公司旗下的一个产品,该软件深耕于测绘地理信息领域,在数据生产,建库方面发挥着重要的作用.目前正值第三次全国土地调查之际,南方公司专门在原有iData软件的基础上,定制开发出 ...

  2. 南方数码iData数据工厂二次开发实体

    实体是在idata软件中展现图形的载体,通过设置实体的相关属性,让各种实体表现出各自的差异.可以说实体在idata中算是比较复杂对象. 下面来学习一下idata的实体相关函数.. 函数名 说明 add ...

  3. 南方iData数据工厂(一个平台,一套数码,一体化生产):构建基础空间数据的好平台

    iData数据工厂标准版v2.2(提取码:data)https://pan.baidu.com/s/1-q4hJWkv5Guz5E5xlFnHkg 南方数码地理信息数据全流程生产体系平台(以下简称:南 ...

  4. iData数据工厂V2.2(一个平台、一套数据、一体生产)试用功能受限解决方案在文尾

    iData数据工厂V2.2下载(提取码:data)https://pan.baidu.com/s/1lhe_t9WMKs9xiDl-0K4-tgiData数据工厂是一个集数据采集.数据加工.数据入库和 ...

  5. c# cad二次开发 通过选择txt文件将自动转换成多段线

    c# cad二次开发 通过选择txt文件将自动转换成多段线,txt样式如下 using System; using System.Collections.Generic; using System.T ...

  6. iData数据工厂升级啦!V2.3版体验有多妙?赶紧来了解一下吧…

    iData数据工厂标准版V2.3(提取码:data)https://pan.baidu.com/e/1-q4hJWkv5Guz5E5xlFnHkg 一.远程.海量数据加载: 矢量数据超2G,影像数据超 ...

  7. etabs数据_ETABS二次开发入门(一)——简介

    ETABS是一款常用的结构设计软件,能够实现快速建模.分析等功能.这里以ETABS 2015为例,阐述利用ETABS API进行二次开发的方法. 文章的主要参考文献为ETASB自带的CSi API E ...

  8. CAD 二次开发 图层操作(1)创建图层

    CAD二次开发的资料比较少,除了李冠亿先生的<深居浅出AutoCAD二次开发>这本书之外,目前没有找到合适的参考资料.现将自己工作中用的的一些方法贴出来.方便各位网友快速入门. #regi ...

  9. CAD 二次开发 图层操作(3)取得指定图层下的所有对象id

    对于CAD二次开发的人来说,可能需要对某一图层下的实体(点,线,面域,块,三维实体)进行不同的操作.下面的方法,即可实现获取指定图层名称下的所有实体ID. 输入参数为图层名称: 返回值为:对象主键集合 ...

最新文章

  1. Proxmox 使用nfs备份及存储iso
  2. nbns协议_网络协议详解1 - NBNS
  3. Glut处理鼠标事件:函数glutMouseFunc
  4. SSM+Druid实现动态多数据源切换(已实践)
  5. 阅读分析下列html,阅读下列说明和 HTML 文本,分析其中嵌入的 JavaScript. 脚本..._考试资料网...
  6. Python-视频爬取示例对小白友好
  7. Pandas 文本数据方法 findall( )
  8. 十大排序算法——冒泡法
  9. Mac 自定义用户级别Applications, 安装应用到Dashboard
  10. Linux kali 安装 qq Tim
  11. 内存及Cache带宽测试
  12. 坚果pro android版本号,锤子手机/坚果U3-Pro-SE/坚果Pro2特别版-LOS-安卓9.0.0-稳定版Stable3.0-来去电归属-农历等-本地化增强...
  13. php中empty检测非空,php empty() 检查一个变量是否为空
  14. 开启docker远程访问
  15. vmware虚拟机安装windows server 2012 绕过秘钥安装——P2
  16. 计算机组装慕课平台,计算机组装与维修
  17. python程序化交易实例-用 Python 实现你的量化交易策略
  18. atcoder abc242 c题 1111gal password
  19. 解决mybatis-plus分页查询不生效,配置分页拦截器
  20. 使用vuejs 2.x (不是nuxt) 做个demo: 使用 vuex, router ( store, action , mutation)

热门文章

  1. django中多个app的路由实现
  2. 利用python找出连续三年业绩上涨30%的A股
  3. VC助手破解,含VC2010
  4. 制作mac os 系统安装U盘
  5. 易观分析加入智能投研技术联盟,共促行业数智化发展
  6. 校招面试 - 计算机网络 - (非)对称加密 - 安全传输的基础
  7. 4项目管理--项目整合管理
  8. 怎么用python实现哈夫曼树_数据结构-哈夫曼树(python实现)
  9. 新型智慧城市规划建设方案(附PDF全文)
  10. 今天是10月24日,1024,祝所有的从事前端、后端程序开发、系统运维、测试等的专业人员节日快乐