阅读:2610回复:5
请问如何得到图层某一字段值唯一的所有要素?
比如有一个图层featureLayer,其中有一个字段symbol。假如该图层有4个feature,字段symbol值分别是1,2,3,3,现在想要得到的要素的字段值分别为1,2,3。请问该如何实现?
|
|
1楼#
发布于:2005-01-08 11:32
怎么没有人回答一下啊,最近迫切需要这个功能,各位大虾帮帮忙
|
|
2楼#
发布于:2005-01-10 11:34
<P>自己过滤不行么?</P>
|
|
3楼#
发布于:2005-02-25 17:33
<P>用filter设置whereclaus</P><P>简单例子</P><P>dim pCursor as ICursor
dim pTable as ITable dim pQFilter as IQueryFilter dim pNextRow as IRow</P><P>pTable =pFeatureLayer </P><P>pQFilter =new QueryFilter pQFilter.WhereClause = "symbol ='1'" '查询symbol为1的 pQFilter.AddField("symbol") pCursor = pTable.Search(pQFilter,true) pNextRow = pTable.Search(pQFilter,true) pNextRow =pCursor.NextRow</P><P>do while not pNextRow is Nothing '...遍历</P><P>Loop</P><img src="images/post/smile/dvbbs/em04.gif" /> |
|
4楼#
发布于:2005-02-27 21:17
这样遍历出来还是不能得到唯一值,恐怕还要写些如何得到唯一值的代码的!不知道IUniqueValues这个接口能不能用上?
|
|
5楼#
发布于:2005-02-28 13:39
帮助里有的:
<pre><code>Public Sub</code> ShowUniqueValues(pTable <code>As</code> ITable, sFieldName <code>As String</code>) <code>Dim</code> pQueryDef <code>As</code> IQueryDef <code>Dim</code> pRow <code>As</code> IRow <code>Dim</code> pCursor <code>As</code> ICursor <code>Dim</code> pFeatureWorkspace <code>As</code> IFeatureWorkspace <code>Dim</code> pDataset <code>As</code> IDataset <code>Set</code> pDataset = pTable <code>Set</code> pFeatureWorkspace = pDataset.Workspace <code>Set</code> pQueryDef = pFeatureWorkspace.CreateQueryDef <code>With</code> pQueryDef .Tables = pDataset.Name <code>' Fully qualified table name</code> .SubFields = "DISTINCT(" ; sFieldName ; ")" <code>Set</code> pCursor = .Evaluate <code>End With Set</code> pRow = pCursor.NextRow <code>Do Until</code> pRow <code>Is Nothing Debug.Print</code> pRow.Value(0) <code>' Note only one field in the cursor</code> <code>Set</code> pRow = pCursor.NextRow <code>Loop End Sub</code></pre>即使自己来写也可以的,就是多点代码而已。 |
|