使用Arcpy批量修改矢量数据的字段值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Arcpy批量修改矢量数据的字段值相关的知识,希望对你有一定的参考价值。

参考技术A 处理一大批空间矢量数据,需要给每个矢量文件的一个字段写入一个固定值,一百个一个一个处理太麻烦,用Arcpy解决。

平台:python 2.7 in ArcGIS , pycharm PyCharm Community Edition 2020.1.2

```

Python

# coding=utf-8

import sys

import arcpy

path ="F:/test/All_156_spp_1"

arcpy.env.workspace = path

# 设置工作空间

Features = arcpy.ListFeatureClasses()#列出工作目录下的所有features

for Featurein Features:

print(Feature.replace(".shp", ""))

arcpy.CalculateField_management(Feature, "SPP_ID", '"'+Feature.replace("_1__point.shp", "")+'"', "PYTHON")# .replace()用于替换指定字符串。

    # 注意'"'+Feature.replace("_1__point.shp", "")+'"'两端的引号,因为替换进去的是text

```

第一次发帖子,有被这无语的手机号+社交账号双重绑定机制冒犯到:)

mysql 批量修改 字段 值

UPDATE `sousuo`.`link` SET `url` = '8' WHERE `link`.`site_id`=1 我这个样修改只能 site_id 1的,但site_id 是有1-10000 的 对不起,小妹我第一次用到mysql 但他们默认的 `url` = '0' 我想批量改成8 啊 ,分太少 我才注册百度啊,对不起啊,希望懂的 大哥大姐 弟弟 妹妹指教。
怎么让我把 site_id`=1 到 site_id`=10000 一下子修改了 再次感谢

最好能在此基础上直接给我写好(我比较菜),我光用 谢谢 对了我说的是 mysql数据中中之星sql 语句,不是php中的代码

  MySQL批量替换指定字段字符串语句
  (1)updat 表名 set 字段名=replac(字段名,\'原来的内容\',\'替换后的内容\')
  举一个例子,就是我实际操作的时候的命令:
  updat cpg1410_pictures set filepath=replac(filepath,\'wallpapers/art/\',\'wallpapers/beautiful/art/\')
  或者
  updat xb_upload_1 set fileurl=replac(fileurl,\'www.baidu.com/\',\'baidu.com/\')
  (2)updat 数据表名 SET 字段名 = replac(字段名, \'要替换的字符串\', \'替换为\') wher 设定条件;
  语句中还可以加入替换条件,如只替换限定ID小于200的内容:
  updat wp_posts SET post_content = replac(post_content, \'搜索引擎优化\', \'搜索引擎营销\') wher ID < 200;
参考技术A 你可以调用一下php 用php中for循环做
就是把上面的语句放到循环中 site_id所传递的值改成变量用
for($id=1,$id<=10000,$id++)这样明白吗!!
参考技术B 你好用
UPDATE `sousuo`.`link` SET `url` = '8' WHERE `link`.`site_id`=1
只能修改site_id`=1
你这个是用了准确的 指向
如果你想把site_id`=1-1000 以上的全部修改了那你只修改成
UPDATE `sousuo`.`link` SET `url` = '8' WHERE `link`.`site_id`>1
或者你只想修改 1000以内的 那就site_id`<1000

还有很多 可以指定的 符号, 但只修改= 部分就可以了

这是mysql中 sql 执行WHERE的命令

具体我不会说 你试试看 如果成功了 就给分吧 祝好本回答被提问者采纳
参考技术C 我没用过mysql,但是按照mssql的写法应该跟这个差不多,可能应该这样写:
UPDATE `sousuo`.`link` SET `url` = '8' WHERE `link`.`site_id`>=1 and link`.`site_id`<=10000

以上是关于使用Arcpy批量修改矢量数据的字段值的主要内容,如果未能解决你的问题,请参考以下文章

mysql 批量修改 字段 值

Arcgis之矢量筛选提取

sqlserver批量规律修改字段值

如何批量删除mysql某个字段的某个值?

java 如何批量修改一张表里面多条数据的某个字段的值,需要修改的字段值是自定义的。

ArcGIS超级工具SPTOOLS-按属性裁剪,矢量数据批量裁剪,矢量数据批量合库