1.首先打开数据的属性设置。
2.然后选择定义查询,再点击构建查询器。
3.查询器中,上面的窗口为字段窗口,可以点击选择字段,中间为运算窗口,可以点击选择运算符号,
4.点击获取唯一值,则是在选择字段后,点击获取唯一值,可以看到该字段内容的所有值,类似于Excel中的筛选功能。
用Python实现批处理。步骤:1、 编写代码import arcpy,os
inFCs = arcpy.GetParameterAsText(0)
outWS = arcpy.GetParameterAsText(1)
dist = arcpy.GetParameterAsText(2)
inFCs = inFCs.split("")
for inFC in inFCs:
fileName =os.path.split(inFC)[1]
arcpy.Buffer_analysis(inFC,outWS + "\\" + fileName, str(dist) +
"meter")
上面这段代码,要求用户自己设置输入数据、输出数据、缓冲区宽度(单位为米)。这里输出缓冲区数据的名称和输入数据的名称一样,如果不想要这样,可以进一步修改代码。
2、 接下来将该代码增加到ArcToolbox中,步骤比较简单。
需要注意的地方为最后的参数设置部分,”输入数据”的“MutiValue”属性设置为”Yes”。
3、
完成后,工具将会添加到您自己的工具箱中。
在ArcGIS构建标注表达式,有时虽然可以在字段中调整好,但直接用表达式标注更方便,特别是格式化文本字段值自动转换为文本字符串。因此,如果想要使用算数运算中的数值或要进行比较时,需要将其转换回数值数据类型。下面的实例添加了两个整型字段:
Python
int([FIELD1]) + int([FIELD2])
VBScript
cint([FIELD1]) + cint([FIELD2])
JScript
parseInt([FIELD1]) + parseInt([FIELD2])
步骤:
单击标注工具条上的标注管理器按钮 。
单击标注分类列表中的标注分类。
单击表达式按钮。
选择解析程序菜单中的一种语言。
输入 Python、VBScript 或 JScript 表达式。也可以创建一个表达式,方法是双击相应字段,将其添加到表达式中,或选择相应字段并单击追加按钮将该字段追加到表达式的末尾,并用空格隔开。
字段用方括号 [ ] 括起来,无需考虑图层数据源的数据类型。
或者,在表达式框中输入 ArcGIS 文本格式化标签,将格式设置应用到一部分标注文本上。
如果表达式要跨多个代码行,请选中高级复选框,然后输入标注表达式。
单击验证以确保没有语法错误。
单击每个对话框上的确定。
提示:
常规和高级的标注表达式可以标注表达式文件 (.lxp) 的形式保存,该文件可加载到其他图层或地图中。
表达式示例
以下是标注表达式示例:
将字符串串联到字段的值上。例如,以下表达式将创建一个标注,其中 PARCELNO 字段值的前面会加上文本 "Parcel no:":
Python
"Parcel no: " + [PARCELNO]
VBScript
"Parcel no: " &[PARCELNO]
JScript
"Parcel no: " + [PARCELNO]
将小数四舍五入至设定的小数数位。例如,以下表达式可将“Area”字段的值四舍五入为保留一个小数位:
Python
round(float([AREA]), 1)
VBScript
Round ([AREA], 1)
JScript
function FindLabel ( [AREA] )
{
var ss
var num= parseFloat([AREA])
ss = num.toFixed(1)
return (ss)
}
将文本注记全部转换为大写形式或小写形式。例如,以下表达式可将“Name”字段中的文本全部转换为小写形式:
Python
def FindLabel ( [NAME] ):
S = [NAME]
S = S.lower()
return S
VBScript
LCase ([NAME])
JScript
[NAME].toLowerCase()
将标注文本转换为正确的大小写形式。例如,以下表达式会处理全部以大写字母显示的“Name”字段并将其转换为正确的大小写形式:
Python
def FindLabel ( [NAME] ):
S = [NAME]
S = S.title()
return S
VBScript
Function FindLabel ( [NAME] )
FindLabel = UCase(Left([NAME],1)) &LCase(Right([NAME], Len([NAME]) -1))
End Function
JScript
function FindLabel ( [NAME] )
{
var str = [NAME]
var iLen = String(str).length
var upper = (str.substring(0,1)).toUpperCase()
var lower = (str.substring(1, iLen)).toLowerCase()
return upper + lower
}
创建堆叠文本。例如,以下表达式创建一个标注,该标注中的“名字”字段和两个地址字段都在单独的行上:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)