ArcMap按字段内容分类导出图形

背景描述:

实际项目中,需要对一个图层中的某个字段,分类型输出为单独的新图层。FME提供了Fanout工具。在没有FME的环境下,借助ArcGIS Desktop自带的python模块Arcpy,同样实现类似效果。

import arcpy
from arcpy import env
#设置工作空间
env.workspace = "D:/cad/newbuilding/NewBuilding.mdb/dataset"
#调用toolbox,CopyFeatures
arcpy.CopyFeatures_management("Floor7","Floor7Copy")
  <Result 'D:/cad/newbuilding/NewBuilding.mdb/dataset\\Floor7Copy'>
#打印图层字段名称
floorFields = arcpy.ListFields("Floor7")
for filed in floorFields:
  print field.name
#输出字段唯一值
values = [row[0] for row in arcpy.da.SearchCursor("Floor7",("Layer"))]
uniqueValues = set(values)
for v in uniqueValues:
  print v
#按唯一值输出图层
i = 0
for v in uniqueValues:
	wc = "Layer = '%s'"%v
	arcpy.MakeFeatureLayer_management("Floor7","LayerCopy%s_lyr"%i,wc)
	arcpy.CopyFeatures_management("LayerCopy%s_lyr"%i, "%s-%s"%(i,v))
	arcpy.Delete_management("LayerCopy%s_lyr"%i)
	i = i + 1
	print v
时间: 2024-12-12 21:25:12

ArcMap按字段内容分类导出图形的相关文章

Discuz! X3.2 在帖子标题显示分类信息中的某个字段内容的实现方法

1. 设计好一组分类信息: 2. 在列表页模板中填写帖子的标题格式,例如: [{producer_value}][{artist_value}]{subject}[{size_value}{size_unit}] 3. 修改template\default\forum\forumdisplay_list.htm文件,将173行起的一组 if 语句替换成: <!--{if !$thread[sortid]}--> <a href="forum.php?mod=viewthread

C#程序中:如何向记事本中写入内容和导出内容

在C#程序中在程序外部存储一些配置信心标记,如果用数据库就有些大材小用了,因此用*.txt.*.dat等存储,即方便又快捷,还可以减轻程序负担 下面研究一下 C#程序中:如何向记事本中写入内容和导出内容. 下面的代码示例演示如何使用 WriteAllText 方法在文件中写入内容.在此示例中,如果文件尚不存在,则创建一个文件,并向其中添加内容. using System; using System.IO; using System.Text; class Test {     public st

Navicat for MySQL 查看BLOB字段内容

Navicat for MySQL 查看BLOB字段内容查看BLOB内容的两种方法: 1. 在查询窗口中选中BLOB字段,点击备注 2.  查看->原始数据模式

可编辑的表格:jQuery+PHP实现实时编辑表格字段内容

在本例中,我们会通过jQuery实现单击将一个文本信息变为可编辑的表单,你可以对文本内容进行编辑,然后点击“确定”按钮,新的内容将发送到后台PHP程序处理,并保存到数据库:当点击“取消”按钮,则页面恢复到初始状态. 查看演示 下载源码 本例适用场景:当查看详细资料,如用户详情信息,发现其中某几个字段信息需要修改,可直接点击该字段内容进行修改,节约了用户时间,(传统的做法是进入一个编辑页面,列出所有编辑的字段信息,即使你只需要编辑其中一两个字段内容,然后点击提交)提高了WEB响应速度,从而提高了前

Oracle中使用游标转换数据表中指定字段内容格式(拼音转数字)

应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女] 主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本 操作步骤如下: 1.创建类型 create or replace type splitTable is table of varchar2(100); 2.创建函数fn_splitString(功能是将字符串分割成多条记录)--测试语句select * from table(fn_splitString('ernanyinv','nan'))

SQL替换语句之批量修改、增加、删除字段内容

语法 REPLACE ( original-string, search-string, replace-string ) 用法 update 表的名称 set 替换字段=REPLACE(替换字段,原来内容,新内容) 参数 如果有某个参数为 NULL,此函数返回 NULL. original-string     被搜索的字符串.可为任意长度. search-string     要搜索并被 replace-string 替换的字符串.该字符串的长度不应超过 255 个字节.如果 search-

sql update left join 更新,字段内容分隔符提取

UPDATE a SET [Province] = parsename(replace([FullName],'-','.'),2) from [dbo].[T_B_Emp] a left join [MLYY_MIS].[dbo].[T_B_Area] b on b.ID = a.AreaID 其中  parsename分隔符提取字段内容 如 XXX-XXX-XXXX

phpcms_v9 多图字段 内容页,首页,分页自定义字段调用

phpcms_v9 多图字段 内容页,首页,分页自定义字段调用 说明:自定义多图字段名 shigongtu1 内容页调用{loop $shigongtu $r}     <img src="{$r[url]} " title="测试"/>{/loop} 2 首页,分页调用第一种推荐位调用自定义字段在模型里加好自定义字段后,必须把“在推荐位标签中调用”点击“是“然后用同一样的方法去调节数据就OK了,记住,如果你加了文章,必须去更新文章才会显示,自定义段在推

SQL替换语句 批量修改、增加、删除字段内容

sql替换语句,用该命令可以整批替换某字段的内容,也可以批量在原字段内容上加上或去掉字符. 命令总解:update 表的名称 set 此表要替换的字段名=REPLACE(此表要替换的字段名, '原来内容', '新内容') 如 UPDATE Whir_ProductRelese SET ReleseName=REPLACE(ReleseName,'aa','bb') 举例说明: 1)把backupfile表里url的字段内容里为aa的字符全部改为bb. update backupfile set