元数据缩略图

172
6
跳到解决方案
12-29-2022上午10:49
compass_cartographic
新贡献者II

大家好!

试图将缩略图分配给地理数据库中特征类的现有FGCD元数据。缩略图图像是.jpg格式的,位于本地驱动器上,其前缀与特性类的名称匹配(gdb也在本地驱动器上)。

示例:特征类为Zip_Code_Tabulation_Areas,对应的缩略图为Zip_Code_Tabulation_Areas_thumbnail.jpg

试图遵循文档从https://pro.arcgis.com/en/pro-app/latest/arcpy/metadata/metadata-class.htm

进口arcpy
进口操作系统
arcpy
envoverwriteOutput=真正的
arcpy进口元数据作为医学博士

#设置工作区
arcpyenv工作空间=r " D: \ gisdata \ rigis_download \ rigis_services_SPF_2023.gdb”
#在本地地理数据库中创建特征类列表
fc_list=arcpyListFeatureClasses()
#遍历每个特性类,为元数据分配一个缩略图
每一个fc_list
试一试
打印('特征类是'+每一个
thumbnailImage=r " D: \ gisdata \ rigis_download \缩略图”+“\ \”+每一个+“_thumbnail.jpg”
打印(“缩略图是”+thumbnailImage
tgt_item_md=医学博士元数据(每一个
tgt_item_mdthumbnailUri(thumbnailImage
tgt_item_md保存()
除了
打印(“这没用”
打印(“完成”

它对任何特性类都不起作用,有时甚至会一起从目录中删除jpg。错误:

回溯(最近一次调用):
文件"<交互式输入>",第1行,在<模块>
'NoneType'对象不可调用

我尝试了许多我认为是关键的变化,但无济于事:

tgt_item_md.thumbnailUri (thumbnailImage)

tgt_item_md。缩略图Uri = thumbnailImage

我“认为”这可能是因为变量thumbnailImage只是一个字符串,而不是图像本身?我不精通python弄清楚如何创建实际图像的变量?

尽管文档暗示它可以是字符串形式的路径:

thumbnailUri
(读和写)

图形文件的本地或网络路径或URL,用于描述和帮助识别项目。从缩略图从该项的元数据中提取。在设置此值时,如果提供了URL,则将下载标识的文件并将其合并到该项的元数据中。

字符串

tgt_item_md。isReadOnly返回False,因此元数据应该是可写的。

谢谢你的帮助。我可能错过了一些简单的东西。

标签(4)
0荣誉
1解决方案

接受的解决方案
RhettZufelt
通过 常规赛MVP
常规赛MVP

我已经将Pro 3.0升级到Pro 2.9.3,因为这是最后一个没有给我带来大量问题的版本(特别是弹出窗口和附件),所以在Stand Alone IDLE 3.7.11中进行测试。

刚刚在我的另一个装有Pro 3.0.3的盒子上试了试,并在笔记本电脑上运行。看起来和预期的一样。

我确实添加了一个检查,以确保在添加它之前jpg是在那里,如果没有,它将在某些时候失败,并且必须重新复制所有的jpeg再次运行。

rhettzufelt_0 - 1672354838979. - png

不知道你在哪里/如何看缩略图,但好的旧目录显示它们都在更新:

rhettzufelt_1 - 1672354943084. - png

我确保我没有打开Map/Pro/Catalog并连接到工作区,这样我就不必处理锁定问题。

此外,可以确认已成功复制到缩略图的所有图像已从源文件夹中删除。

R_

在原帖子中查看解决方案

6个回答
RhettZufelt
通过 常规赛MVP
常规赛MVP

元数据文档显示设置内容等于,而不是设置parrens。

这对我来说很管用:

tgt_item_md。缩略图Uri = thumbnailImage

R_

0荣誉
compass_cartographic
新贡献者II

谢谢-我已经试过了,但我会再试一次…

0荣誉
RhettZufelt
通过 常规赛MVP
常规赛MVP

你最好把所有照片都复印一份。“大多数”情况下,当它成功更新缩略图时,它会从源位置删除照片。

R_

0荣誉
compass_cartographic
新贡献者II

我已经重新加载了所有的。jpg,以确保目录包含每一个。Re ran with

tgt_item_md。缩略图Uri = thumbnailImage

有些jpg文件再次消失了,但对于那些消失的,当我查看它时,它们仍然没有显示在元数据中(我忘了提到我使用Pro 3.0)。尝试在pyscripter和Pro Jupyter Notebook中作为独立脚本运行脚本。

0荣誉
RhettZufelt
通过 常规赛MVP
常规赛MVP

我已经将Pro 3.0升级到Pro 2.9.3,因为这是最后一个没有给我带来大量问题的版本(特别是弹出窗口和附件),所以在Stand Alone IDLE 3.7.11中进行测试。

刚刚在我的另一个装有Pro 3.0.3的盒子上试了试,并在笔记本电脑上运行。看起来和预期的一样。

我确实添加了一个检查,以确保在添加它之前jpg是在那里,如果没有,它将在某些时候失败,并且必须重新复制所有的jpeg再次运行。

rhettzufelt_0 - 1672354838979. - png

不知道你在哪里/如何看缩略图,但好的旧目录显示它们都在更新:

rhettzufelt_1 - 1672354943084. - png

我确保我没有打开Map/Pro/Catalog并连接到工作区,这样我就不必处理锁定问题。

此外,可以确认已成功复制到缩略图的所有图像已从源文件夹中删除。

R_

compass_cartographic
新贡献者II

非常感谢你的帮助!我不知道是什么解决了这个问题,因为当我昨晚关机时什么都没有工作,但今天早上当我重新启动我的机器时,缩略图出现在元数据中。一切似乎都奏效了!非常神秘和令人沮丧。但至少我知道我一直在使用的代码是正确的,为此我很感激!再次感谢——非常感谢你抽出时间!

0荣誉