你好,stackoverflow社区
我只有2个月的python经验,但我决定用一个类的项目来挑战自己,并最终将它融入到我的工作中。你知道吗
我和ArcGIS一起工作,我想创建一个循环脚本,根据“系统”字段更新字段上的ID。示例:如果系统字段为“Chaparral”,则我希望ID字段以字母“CH-HY”开头,然后设置一个计数器+1,将1添加到字段中已有的ID中,如“CH-HY0006”。这是我现在拥有的。你知道吗
with arcpy.da.UpdateCursor("Hydrants.shp", ["FACILITYID", "SYSTEM"]) as cursor:
for row in cursor:
if (row[0] == '<Null>' and row[1] == 'Chaparral'):
row [0] = 'CH-HY{}'.format(int1)
elif (row[0] == '<Null>' and row[1] == 'SunCity'):
row [0] = 'SC-HY{}'.format(int2)
cursor.updateRow(row)
这就是我被困的地方。如何检索字段中已经存在的ID并获取最大的数字,以便向其中添加1。我真的想不惜一切代价避免在同一个系统中创建重复项。你知道吗
为了检索现有的最后一个ID搜索.光标类似于查帕拉体系:
下面是我如何将其实现到循环中的:
我得调查一下检索尽管如此,我可以看到这个方法在整数变为9999,int[-4]需要更改为[-5]以容纳10000时会产生问题。你知道吗
谢谢你们的反馈!你知道吗
如果只是为了填充字段而写,而不是读写-可以在循环外创建一个状态变量来跟踪索引。你知道吗
如果您计划从预先存在的数据中读取数据,那么可能需要引入regex来解析FACILITYID并找到最高的索引。你知道吗
相关问题 更多 >
编程相关推荐