问题: 在arcgis中,用Field Calculator如何在属性表里面如何实现~~~根据某个字段的值进行自动编号。 10
比如说一个图层,这个图层里面有很多个村,一个村里有很多图斑,对这些图斑进行编号。比如A村有10个图斑,那就从1,2,3,……10.B村有30个图斑,那就从1,2,3……3...
比如说一个图层,这个图层里面有很多个村,一个村里有很多图斑,对这些图斑进行编号。比如A村有10个图斑,那就从1,2,3,……10.
B村有30个图斑,那就从1,2,3……30
C村有60个图斑,那就从1,2,3……60.
也就是说按村对图斑进行编号。请各位高手指教!谢谢~~ 展开
B村有30个图斑,那就从1,2,3……30
C村有60个图斑,那就从1,2,3……60.
也就是说按村对图斑进行编号。请各位高手指教!谢谢~~ 展开
3个回答
展开全部
这个在Field Calculator里面处理比较麻烦,不知道你用过FME没,这种处理在FME中是相当简单的,你先通过空间挂接获取相对应的村属性用spatialRelator转换器,再对图斑进行分组编号用Counter转换器就可以实现你要的结果。
追问
没用过FME
追答
你如果经常做GIS相关的矢量数据、栅格数据处理转换,建议你了解下这款软件会对你工作有很大帮助的。一般这种数据都涉密,也不好帮你处理。你可以了解学习下这款软件
刚查了下Field Calculator计算的方法你可以试下:
Static d As Object Static i As Long Dim lSerial As Long Dim sField '========================= '
改成你要按其编号的字段名 sField = [所属地市] '
=========================
If (i = 0) Then Set d = CreateObject("Scripting.Dictionary") End If If (d.Exists(CStr(sField))) Then lSerial = d.Item(CStr(sField)) + 1 d.Item(CStr(sField)) = lSerial Else lSerial = 1 d.Add CStr(sField), lSerial End If i = i + 1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询