首页
/ ArcGIS Python API 中表单配置属性更新的注意事项

ArcGIS Python API 中表单配置属性更新的注意事项

2025-07-05 04:25:47作者:戚魁泉Nursing

在ArcGIS Python API 2.4.0版本中,开发者在使用WebMap表单配置时可能会遇到一个常见问题:无法通过API更新preserve_field_values_when_hidden属性。这个问题主要源于版本兼容性和包管理方面的因素。

问题现象

当开发者尝试通过以下代码更新表单配置时,操作不会生效:

from arcgis.gis import GIS
from arcgis.mapping import WebMap

gis = GIS("home")
wm = WebMap(gis.content.get("your_map_item_id"))
forms = wm.forms
f = forms.get(item_id="your_fls_id")
f.preserve_field_values_when_hidden = True
f.update()

原因分析

这个问题实际上是由于版本不匹配造成的。在ArcGIS Python API 2.4.0版本中,ESRI对映射模块进行了重大重构:

  1. 新增了arcgis-map独立命名空间包
  2. 将原有mapping模块重构为新的map模块
  3. 对表单配置功能进行了增强

解决方案

要正确使用新版API的表单配置功能,需要确保:

  1. 升级到ArcGIS Pro 3.4或更高版本
  2. 使用conda同时安装两个核心包:
conda install -c esri arcgis arcgis-mapping
  1. 确认安装后可以正常导入新模块:
from arcgis.map import Map

技术背景

ArcGIS Python API 2.4.0版本的这次重构是为了支持Jupyter Notebooks 7和Labs 4的升级需求。新架构将映射相关功能分离到独立的命名空间包中,这种设计带来了更好的模块化和可维护性,但也带来了暂时的兼容性挑战。

对于开发者而言,理解这种架构变化非常重要。在新的包结构中:

  • arcgis包包含核心功能
  • arcgis-mapping包专门处理地图和空间数据可视化相关功能
  • 两者需要协同工作才能提供完整功能

最佳实践建议

  1. 定期检查并更新ArcGIS Pro和相关Python包
  2. 创建专门的项目环境来管理依赖
  3. 在升级前仔细阅读版本变更说明
  4. 对于关键业务应用,考虑进行充分的测试后再部署

通过遵循这些实践,开发者可以充分利用ArcGIS Python API提供的最新功能,同时避免因版本不匹配导致的问题。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
docsdocs
暂无描述
Markdown
827
5.48 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
494
515
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
783
1.57 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
800
1.14 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
970
2.28 K
kernelkernel
deepin linux kernel
C
32
16
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
480
312
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.01 K
766
cannbot-skillscannbot-skills
CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。
Markdown
1.26 K
808
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
647
284