从arcgis。gis import gis = gis ("home") #从arcgis打开图层。导入FeatureLayer MY_LAYER_URL = "https://services6.arcgis.com/your/full/path/here/FeatureServer/0" layer = FeatureLayer(MY_LAYER_URL, gis=gis) #获取字段定义。MY_FIELD_NAME = "yourFieldName" targetFieldDef =无。properties["fields"]: if fieldDef["name"] == MY_FIELD_NAME: targetFieldDef = fieldDef break #获取编码值列表,对其进行排序并将其推回字段def. codedValues = targetFieldDef["domain"]["codedValues"] sortedCodedValues = sorted(codedValues, key=lambda cvPair: cvPair["name"]) targetFieldDef["domain"]["codedValues"] = sortedCodedValues #获取层的管理器接口并修改其定义。layerMgr = layer。manager updatedDef = {"fields": [targetFieldDef]} layerMgr.update_definition(updatedDef)
有没有一个规划好的街道层,你可以把它与现有的街道层结合起来,而不是每周更新2天?它似乎太复杂了,它应该是什么,我几乎不懂代码来实现这一点,但我遵循语法足够好。民政当局会根据要求/请愿/增长的需要更改或添加姓名,这并不是说增长可以超过这一点,但我很好奇,是否有更务实的计划和交付方法来处理这些数据,而不是每周花两天时间来处理这项工作。看起来很辛苦,但不幸的是,在今天的市场上是现实的。注意代码是否有一个编辑组参与其中,还是只有你?
好吧,这一天还很年轻,我想说,当其他人回复这篇文章或你的Reddit帖子时,请继续关注。随时通知我们,很高兴每次只需要几个小时,而不是在工作期间连续工作48个小时。感谢张贴&感谢@JoeBorgione.这是最有趣的。
我知道你已经发了一段时间了,但这是供大家参考的。我不知道如何在特征层中轻松地使值按字母顺序排列。我并不擅长编码,所以提供的代码在AGOL环境中对我来说没有意义。
由于它主要是为现场人员提供的,因此我假设使用Collector, Survey123或field Maps收集数据。也许最值得考虑的是Survey123。
我的第一个建议并不适用于工作流,但如果想要按字母顺序进行初始更改:将数据导出回geodatabase。使用Excel按字母顺序创建域,然后使用表到域,并重新加载为新的托管功能层。这是不如果你在很多地图上都有这个图层,那就太好了。但是这些值将按ABC顺序排列。
第二种是使用现有的功能服务创建调查。你需要使用Survey123 Connect,它允许在Excel中创建调查。当特性服务再次发布时,对选项的更新非常容易。可以创建调查,将选择描述为仍然可以在字段中搜索的下拉框,但将按照S123 Connect中设置的顺序进行。对于一个超级长的列表,你会想要使用链接内容-csv代替。您可以使用pulldata或外部选择列表。看看这个链接这将导致更多的解释。
任务继续,否则找出如何得到这些重新安排在幕后的实际功能层,当在AGOL或Pro的计算机工作时。