- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在ArcMap中,进行属性查询的时候,Arcmap中提供了选中字.doc
在ArcMap中,进行属性查询的时候,Arcmap中提供了选中字段的属性的Unique Value。这样就可以从列表中选择了。以前也遇到类似问题,一直不知道怎么做,好在当时使用的ArcSDE Oracle数据,使用了一个SQL语句解决了。不过要是Coverage就没有办法了。其实AO中提供了这样的功能了,可通过IDataStatistics来实现,做了一个函数,参数为图层和字段,返回该图层该字段的所有Unique Value
1.下面程序段是用来列出ArcMap中,指定图层和字段中,所有Unique Value
Public Function listUniqueValue(pLayer As IFeatureLayer, pFieldName As String) As String()
Dim pCursor As ICursor
Set pCursor = pLayer.Search(Nothing, False)
Dim pDataStat As IDataStatistics
Dim pValue As Variant
Set pDataStat = New DataStatistics
pDataStat.Field = pFieldName
Set pDataStat.Cursor = pCursor
Dim pEnumVar As IEnumVariantSimple
Set pEnumVar = pDataStat.UniqueValues
pValue = pEnumVar.Next
Dim i As Long
Dim count As Long
count = pDataStat.UniqueValueCount
i = 0
Dim value(200) As String 数组的长度按说应该使用pDataStat.UniqueValueCount来控制,但是编译只能使用
常数,不能使用变量
Do Until IsEmpty(pValue)
value(i) = pValue
i = i + 1
pValue = pEnumVar.Next
Loop
listUniqueValue = value()
End Function
2.打开图层属性表 (ArcMap VBA)
下面程序段是用来列出ArcMap中,指定图层和字段中,所有Unique Value
Public Sub OpenFeatureLayerTable()
Dim pMxDoc As IMxDocument
Dim pMap As IMap
Dim pLayer As IFeatureLayer
Dim pTable As ITableWindow
Set pMxDoc = ThisDocument
Set pMap = pMxDoc.FocusMap
Set pLayer = pMap.Layer(0)
Instantiate the Table window
Set pTable = New TableWindow
Associate the table and a feature layer
Set pTable.FeatureLayer = pLayer
Set pTable.Application = Application
Open the table
pTable.Show True
End Sub
3.AO中加载SDE中的Raster数据 (ArcMap VBA/VB AO)
Public Function GetRasterFromSDE(sServer As String, sInstance As String, _
sUser As String, sPassword As String, sSDERaster As String, Optional version As String = SDE.DEFAULT) As IRasterDataset 加载栅格函数
sServer,sInstance,sDB,sUser,sPasswd: ArcSDE connection info
sSDERaster: the ArcSDE raster dataset name
Dim pSDEWs As IWorkspaceName
Dim pSDEPropertySet As IPropertySet
Dim pSDERasterDataset As IRasterDataset
Dim pDsName As IDatasetName
Dim pName As IName
Dim sQualifiedName
您可能关注的文档
最近下载
- 2019人教版高中英语新教材词汇表带音标(必修一二三).pdf VIP
- 盆底康复护理进修汇报.pptx VIP
- 2025年职业技能竞赛(人工智能训练师赛项)参考试题库资料(含答案).pdf VIP
- 2024年中考数学二次函数压轴题:胡不归模型(学生版+解析).pdf VIP
- 简单土方回填合同范本5篇.docx VIP
- 日立ADA2系列伺服驱动器使用说明书_日立伺服驱动器.pdf VIP
- 【真题】江苏省扬州市高邮市2023年小升初语文试卷(含答案解析).pdf VIP
- 入托、入学儿童预防接种证查验登记表.doc VIP
- 磁盘阵列DA580D使用手册V1.0.doc VIP
- 浙江省高中化学学业水平考试知识点总结.doc VIP
文档评论(0)