问题标签 [arcgis-online]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arcgis - 根据 ArcGIS Online Experience Builder 中所选项目的属性表值更改 Image Widget 图片
我正在尝试使用 ArcGIS Online 使用图像小部件:
https://doc.arcgis.com/en/experience-builder/configure-widgets/image-widget.htm
但我希望根据当前选择的点更改图片。图像小部件应显示来自所选点的属性字段 URL 的图像。这是可能的还是使用另一个小部件?
database - 用另一个字段的计数填充一个字段
我使用建筑物层(一个)和一个内部摄像机表(很多)进行了一对多连接。这产生了一个表格,每个建筑物都有多个记录。
现在,我想根据连接到建筑物的摄像机数量来标记建筑物。例如,具有 8 个摄像头的建筑物将被标记为 8。
我将如何用每栋建筑物中的摄像机数量填充字段?有什么建议吗?
arcgis - 如何使用 esri javascript api 4.15 提高要素层性能
我正在使用来自 esri online 的图层 url 创建一个要素图层。
它目前有 250 000 个数据点。但是由于这 250k 点本身,它的渲染速度非常慢。我也使用按需模式作为
如何提高特征层的性能?任何参考表示赞赏
python - 使用 PKI/CAC 保护的 AGOL python web 层身份验证
我正在使用 python 脚本连接到 AGOL 要素服务层,并更新该层。现在,我使用以下方法来访问它:
但是,我想在启用了 CAC 的 DoD AGOL 门户空间中运行它。我对此很陌生。经过一些研究,我在 ESRI 培训中遇到了这个问题,
真的可以这么简单吗?我在我的电脑上查找了“key.pem”和“cert.pem”,其中有几个文件。我怎么知道我应该使用哪一个?先感谢您!
arcgis-js-api - ArcGIS Online:使用托管要素图层数据动态填充现有表单
我有一个预先存在的表单(.pdf 和 .doc),我正在尝试使用来自 ArcGIS Online 托管要素图层的属性数据进行填充。我不确定是否可以将 ArcGIS API for Javascript 与 FPDF 一起使用?或者如果有另一种方法可以做这样的事情。
我尝试了以下方法,它工作得很好,但我不想定期下载数据来处理任何传入的新数据。另外,我希望在用户点击时生成此表单带有网络地图应用程序的弹出窗口中的链接(下面的屏幕截图)。
https://justincolegis.com/2017/12/13/using-survey123-or-any-gis-data-to-populated-reports-in-word/
**更新:基本上我不知道该怎么做,因为将我们的数据移动到托管要素图层,是如何从要素中获取属性并将该信息放入已经存在的 pdf 文档/表单中。
下面是通过查询 Oracle 表使用 FPDF 和数组的 PHP 文件的一部分。这适用于位于 Oracle 表中我们服务器上的旧数据,但不适用于自从将其移动到托管要素图层后进入图层的新数据。
arcgis - 如何在 ArcGIS Online 中更改图例标签?
我正在尝试在 ArcGIS Online 中编辑图例,因为直接来自原始数据集的字段无法描述。我可以重命名图层,编辑各个点的字段名称,但不能编辑图例本身。
目前尚不清楚显示的是什么浓度或以什么单位显示。有没有办法直接在 ArcGIS Online 中编辑图例标签,而无需重新编辑 .csv 文件或将 .zip 文件导出到 ArcGIS Online 中?
javascript - 如何使用 ArcGIS Javascript API 显示 web 地图的全部范围?
我正在使用 ArcGIS Javascript API 4.20 从 ArcGIS Online 中检索 web 地图,并且可以使用以下简单脚本通过提供其 ID 来加载和显示它:
我需要找到一种在加载地图时以编程方式调整地图缩放的方法,以便其中包含的每个图层/要素在地图中显示的区域中可见。
我找到了使用“fullExtent”函数的示例和参考资料,但据我了解,这旨在与图层一起使用。我无法弄清楚如何将相同的想法应用于完整的网络地图并使其工作: https ://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html #fullExtent
你能告诉我我做错了什么吗?或者分享任何想法以使用不同的方法以编程方式实现我需要的东西?
python-3.x - 在 ArcGIS REST 端点的每个文件夹中获取每个图层、每个服务、每个文件夹的列表
我有两个 ArcGIS REST 端点,我正在尝试获取每个图层的列表:
https://rdgdwe.sc.egov.usda.gov/arcgis/rest/services https://services1.arcgis.com/RLQu0rK7h4kbsBq5/ArcGIS/rest/services
这些不是我组织的端点,因此我无法在内部访问它们。在这些端点中的每一个都可以有文件夹、服务和层,或者只是服务和层。
我的目标是获取所有图层的列表。到目前为止,我已经尝试过:
但是,这并没有考虑到变量嵌套文件夹/服务/图层或服务/图层模式,而且它似乎没有完全附加到我的图层列表中。
我想我也可以走 JSON 路线并 append ?f=psjon
。例如:
https://rdgdwe.sc.egov.usda.gov/arcgis/rest/services/?f=pjson会给我文件夹 https://rdgdwe.sc.egov.usda.gov/arcgis/rest/services/broadband /?f=pjson会给我宽带文件夹中的所有服务, https: //rdgdwe.sc.egov.usda.gov/arcgis/rest/services/broadband/CDC_5yr_OpioidOverDoseDeaths_2016/MapServer?f=pjson 会给我 CDC_OverDoseDeathsbyCounty2016_5yr宽带文件夹中的第一个服务 (CDC_5yr_OpioidOverDoseDeaths_2016) 中的图层。
任何帮助表示赞赏。我把它放在这里与 GIS 堆栈交换中,因为这似乎是一个比地理空间问题更多的 Python 问题。
azure-active-directory - Azure AD - 在何处添加来自服务提供商的公钥证书以加密 SAML 断言
服务提供商 (ArcGIS Online) 向我提供了一个公钥证书,我想用它来加密从 Azure AD (IdP) 发送的断言。
我是否在 Single Sign On > SAML 签名证书下导入证书(使用 KeyDescriptor="encryption")
https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/certificate-signing-options
或在令牌加密下
https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/howto-saml-token-encryption
SAML 签名证书页面有“加密断言”选项,但令牌加密的帮助页面表明这是导入证书以加密断言的地方。请说明可以导入证书的两个位置之间的区别。
python - python根据csv文件中字段的记录替换要素层字段中的记录
我尝试编写一个 python 脚本,根据 csv 文件中名为“FLAT”的字段的记录,替换 ArcGIS Online 中要素图层 (fl) 的名为“fieldID”的字段中的记录。要素层和 csv 文件中的两个常见 ID 分别是 Field_ID 和 CSV_ID。
以下是我所拥有的以及我希望在要素图层中看到的内容。[我所拥有的以及我期望看到的][1] [1]:https://i.stack.imgur.com/l3RpE.png
感谢 HuubZwart,我已经尝试过这段代码,但它没有用。
fl_id = "abcde"
flc = gis.content.get(fl_id)
layer_id = 0 # flc中层的索引
fs = flc.layers[layer_id).query(where="1=1", returnGeometry=False).to_dict()
fields = [field["name"] for field in fs["fields"]] # 从你的 fl 获取字段
features = fs["features"] # 已有的特征
csv_file_path = # 你的绝对文件路径
df = pd.read_csv(csv_file_path) #读取csv,必要时添加sep=指定分隔符
fields = [field["name"] for field in fs["fields"] if field["name"] in df.columns]
update_dict = df.set_index("CSV_ID")[fields].to_dict("index") # 获取以id字段为索引的字典
edits = [] # 空列表填充要更新的功能
for f in features: updated_attributes = update_dict.get(f["attributes"]["Field_ID"]) # 从字典中获取新值 if(updated_attributes is not None): f["attributes"].update(updated_attributes) # 更新特征,所有来自 csv 的值都会覆盖旧的
edits.append(f) #将编辑应用到要素图层
flc.layers[layer_id].edit_features(updates=edits)*
我收到此消息“参数对 edit_features 无效”