你好,
我希望在SDE geodatebase中更新一个非常长的域列表时能够节省时间。我已在Excel文档中创建了新的域值,希望清空当前域列表并用此文档中的值重新填充。
当然,地理数据库包含域名列表的名称,为代码和描述.我用同样的方式构建的excel;为代码和一列描述.因此,它的本质上是从excel到geodatabase的复制/粘贴作业.
有谁能在工作流中建议译者做这样的事情吗?亚搏在线
在未来,如果工作流能够通读列表,并且只从excel文件中添加/写入尚未在域列表中的值,这将对我非常有益。亚搏在线
谢谢你的时间和建议,
索非亚
我使用FME 2018和默认python设置,我得到了附加的工作空间,但由于python问题,它无法工作,我对Python或Transformers的编码不太了解。@daleat亚搏在线safe @鲍勃彻 @takashi
我想从GDB中提取以下信息
表名 | 域名 | 身份证件 | 价值 |
寻找这个以便对不同的数据库进行一些映射
谢谢
问题:我使用esrifeature服务从数据提供者读取数据,这个问题是用代码而不是值来删除域名的。我们有大量的表,我只需要一种方法来解决这些域和保存在数据库。可能是多个表中使用的一个域。
关于这个问题以及如何解决,大家有什么想法吗?
注意事项。我读了这篇文章使用地理数据库域:创建一个编码域.它对从地理数据库中读取数据非常有用,当从esri功能服务中读取数据时我也需要它。或者给我一个解决方法
FME版本2018.1 32位
谁能确认一下我的理解是否正确:
https://knowledge.亚搏在线safe.com/articles/23883/working-with-geodatabase-subtypes.html
限制
在撰写本文时,FME不允许您根据特定的子类型关联不同的域。例如,您将无法设置0-50,000的范围域;50000 - 100000;并将其应用于包含Small值的子类型定义,介质,和大。为了实现这一点,您需要在ArcGIS中创建域:子类型关系。
在我们的数据库(ArcSDE 10.3.1 w/Oracle 12c)中,我们有一个具有子类型字段的功能类,在每个子类型中,都为“子类”字段定义了不同的域。我希望能够解析子类型和域(包括子类型内部和外部),但是上面的段落让我认为这对于在子类型中定义的域来说是不可能的。到目前为止,我的测试还没有成功——除了域之外,只有经过编码的值外正确解析的子类型。
有人能证实吗?
如果是这种情况,那么我想解决方案可能是使用TestFilters和AttributeValueMappers将lut引入FME领域,或者我也可以从SDE模式读取域(以防它们在我身上发生变化)……
感谢所有输入。
谢谢!
附:样本数据(文件地理数据库)->sanitizedgdb.zip
你好,
我想知道是否可以在不重新添加写入器的情况下更新FME转换中的代码值域。
因为我花了很多时间按照我想要的方式为许多特性类(30+)重新排序字段,我不想每次需要更新阅读器时都重新做,所以我不希望每次都重新添加写入器,或者选择属性定义中的automatic,因为它会把默认的顺序改为…
我的问题是,如果我使用手动选项进行属性定义,在不重新配置编写器的情况下,我还能从更新的读卡器中获取更新的编码值域吗?例如,我将编码值“inactive”添加到“status”域(第一个图像)中,作者中的“状态”如何从读者那里获得更新的域?我试了很多次,但是还没有运气。错误消息说“对于不存在的域“condition”,使用的属性定义无效。对于编码值域,正确的语法是'coded_domain(domain_name:field_type:name_1:value_1:…name_n value_n):'----[条件也是编码值域类型,所以我假设同样的情况也适用于状态字段。有人知道吗?
(读者)
(作者)
我需要从SDE加载一些数据到AGOL,与域。我已经能够使用FME使用系统代理设置加载功能服务,但是找不到保存域的方法。这在FME中支持吗?如果不支持,有谁知道解决方案吗?
理论上,我们应该能够直接从ArcMap(域和所有东西)共享,但是一些复杂的企业IT问题正在阻止我们这样做,所以我希望FME能来拯救我!
谢谢。
我要向其发送邮件的邮件地址的格式为[名称]@[子域].[域].com。电子邮件显示以下错误。这是已知的bug吗?
电子邮件:
谢谢提前
你好,在构建新数据模型时,我试图将现有的数据模型读入一个新的空数据模型,其中已经设置了域。在FME工作台设置好变压器后,数据被FME检验员准确地推过。当我打开ArcCatalog检查数据时,已设置域的字段均为空。我假设这是因为域的关系,所以它不允许数据集中有任何其他值。为了解决这个问题,我需要手动清理我现有的数据(很多数据!!)换句话说,要修复现有值以匹配新模型的新域代码吗?还是我应该试试别的?
无法使用Windows/IWA登录到FME服务器Web界面。已经遵循了所有的步骤,确保SPN是正确的,确保服务账户设置正确,完成所有浏览器检查,并确认Tomcat属性是正确的。
转到URL
转到URL
因此,它似乎与域和用户凭据的传递方式有关,但这使我不确定在传递凭据期间如何/在哪里丢失了一个配置,该配置在传递凭据时剥离域以获得良好的令牌返回。
以下是尝试登录时出现的消息:
下面是来自sso生成的消息
本文将向您展示如何在FME中使用ESRI模板。虽然FME能够创建地理数据库的大多数属性,强烈建议使用本地客户端ArcGIS来实现这一点。演示将演示如何使用FME将Arcgis内创建的域和子类型应用于功能。通过在ArcGIS中创建“地理数据库结构”,用户确保遵循迁移或更新数据的最有效方法,要求最少的修改。
Esri模板是一个文件,可用于将FME输出映射到所需的模式或结构。模板可以是XML工作区文档,也可以是地理数据库(.gdb)文件。该模板将允许FME使用模板的完整模式创建地理数据库结构,这包括亚型,域,的关系,网络信息,和注释符号。
如上所述,Esri模板有两种类型:地理数据库文件(.gdb)或XML工作区文档。地理数据库文件是具有预定义结构的地理数据库,它可以包含数据,也可以不包含。XML Workspace文档是一个简单的XML文档,其中包含原始地理数据库的定义。该文档包含模式,可能还包括数据。当FME使用XML工作区文档时,无论数据是否附加到文档,它都只导入模式。
为了创建XML工作区文档,您必须在目录视图中打开查看地理数据库(ArcCatalog或ArcMap都可以工作),然后右键单击地理数据库>导出>XML工作区文档。这允许用户确定XML文档是否包含模式,或者模式和数据。对于ArcGIS Pro,创建XML工作区文档的过程略有不同。而不是能够右键单击并导出文档,需要一个工具。这可以在Analysis选项卡> Tools > Toolboxes选项卡> Data Management Tools > Distributed Geodatabase > Export XML Workspace Document中找到。通过填写参数,将创建一个模板。
注意:FME不会使用来自XML工作区文档的数据。如果您计划仅将XML工作区文档用于模式目的,请确保导出选项仅设置为模式。
使用模板的主要原因是为了简单。虽然地理数据库结构可以在FME中创建,翻译之间需要更多的维护。如果您想使用预定义的模式创建地理数据库输出,使用XML工作区或文件地理数据库的副本是最简单的方法。
此方法还确保不必对工作区进行广泛修改,以将更新应用于输出。这是因为在FME中创建和应用域的过程是不同的。为了使用FME创建域或子类型,属性参数设置为类型域/subtype_codes。这种方法适用于数据的初始转换,意思是第一次创建输出的转换。对相同输出的所有后续转换都需要更改工作区。不是将数据类型设置为编码的域/范围域或子类型代码,需要将类型更改为对应数据类型的默认字段,例如“char”或“double”。一旦创建了地理数据库,工作区需要更改以应用所有未来更新。
注:由于AutoCAD源数据中包含块数据,提供了两个不同的工作区。主工作区需要64位FME。名为“32bittemplate”的辅助工作区是一个更简单的工作区,可以在32位或64位上运行。辅助工作区仅使用XML工作区文档演示Esri模板,但是对于地理数据库模板,这个过程是相同的。
对于这个示例,我们将考察温哥华的水和下水道基础设施。我们关注的数据包括控制阀,龙头,以及不同类型的自来水干管(废弃,DFPS,分布,和传输电源)。我们要研究的领域是主材料,直径,生命周期状态和衬里特性。每个域及其可能的值如下:
域名:wDomainMainMaterials
球墨铸铁 | 铸铁 | 木 | 镀锌 |
高密度聚乙烯 | 聚氯乙烯 | 石棉水泥 | 混凝土 |
钢 | 粘土 | 铜 | 未知的 |
其他 |
域名:wDomainMainDiameter
二十 | 25 | 30. | 40 | 50 | 65 | 75 | One hundred. |
一百五十 | 200 | 250 | 三百 | 三百五十 | 四百 | 500 | 550 |
600 | 675 | 700 | 750 | 七百七十五 | 800 | 八百五十 | 900 |
一千 | 1050 | 一千二百 | 1350 | 1500 | 一千八百 | 1900 |
域名:wDomainLifecycleStatus
提出 | 主动的 |
删除 | 被遗弃的 |
域名:wdomainliningmaterial
水泥排 | 美分 |
煤焦油 | 环氧树脂 |
请注意,源数据包含根据开放政府牌照-温哥华.
在Windows中,可以在启动>下找到所有程序> FME桌面> FME工作台。同时下载附件数据,如果你还没有,解压缩它。
打开附加的TemplateWorkspaceStart.fmwt
在工作区中,您将看到连接到每个阅读器的AttributeManager转换器。它们用于正确地将域映射到相应的阅读器特性。
这张图片显示了控制阀CAD的特点,将其属性映射到正确的输出字段和域定义。
连接在总水管和消防栓上的2个力确保了这些特征是二维的。
连接到watermain特征的AttributeValueMapper转换器将相应的特征映射到域。在这种情况下,第一个attributeValueMapper将源值映射到材料的正确域。第二个AttributeValueMapper将源值映射到衬里属性的正确域。
选项1:XML工作区文档
写入器>添加写入器。
选择Esri Geodatabase (File Geodb)作为格式。接下来,为将来的地理数据库选择位置和名称。设置要从数据集中导入的要素类或表定义。然后单击参数。
对于导入XML工作区文档(仅限架构),选择提供的XML工作区文档。
注意:如果写入包含不同模式的现有地理数据库,您可以“检查”覆盖现有地理数据库选项。此选项将覆盖和删除现有地理数据库的数据和模式,如果输出的地理数据库位置包含同名的地理数据库。
单击OK两次。
当Import Writer Feature Types对话框出现时:
将格式设置为Esri Geodatabase (XML Workspace文档),并将数据集设置为提供的XML Workspace文档。单击OK。
当选择功能类型对话框出现时,取消选择所有,并选择wControlValve,怀特兰特和wMain。单击OK。
选项2:.gdb文件模板
写入器>添加写入器。
选择Esri Geodatabase(File Geodb)作为格式。接下来,为将来的地理数据库选择位置和名称。设置要从数据集中导入的要素类或表定义。
点击参数。
检查:覆盖现有地理数据库
模板文件地理数据库:选择CoVWater.gdb
单击“确定”三次。
注意:要将现有的.gdb文件用作模板,必须选中覆盖现有的geodatabase。
当“选择功能部件类型”对话框打开时。取消选中“选择所有”,并检查wControlValve,怀特兰特和wMain。单击OK。
将控制阀流量连接到wcontrolvalve输出,消火栓流到为什么,和wMain的4个不同的主要特征。
对于干燥剂功能,手动映射ASSET_NUMBER到FacilityID,和OFFSET_FROM_VALVE_M到LocationDescription。
对于wMain特性,手动将Diameter _mm映射到直径。
现在应该运行工作区,并使用附加的模式创建一个新的地理数据库。
输出数据:wMain,怀特兰特以及加载到arcmap中的wcontrolvalve。
期望在ArcCatalog中查看地理数据库输出
检查wMain,怀特兰特和wControlValve的特性,以确保域被遵循。
你好!我有一个在短整数字段上带有编码域的feature类,指的是城市的名字。我想把它导出到一个新特性类中,但是在字符串字段中公开相关的码值描述,不再使用编码域;即而不是价值1的城市,哦,华盛顿,只存储“Washington”
谢谢!
我有一个地址点,街道名称和街道类型字段如下
的名字 | 类型 |
主要的 | 街道 |
Plesant | 大街 |
等等。我还有一张表,上面有街道编码值,比如
代码 | 的名字 | 类型 |
2345 | 主要的 | 街道 |
4588 | Plesant | 大街 |
我需要做的是为每个地址点从第二个表中找到名称和类型,并将代码值粘贴到point属性。最好的方法是什么?
我希望能够导出域的内容。例如,当我和我使用attributevaluemapper´´m编码属性值,我还想有可能导出创建的价值映射表(excel等)。它非常适合客户的详细描述等。要导出的域的简单示例如下:
非常感谢!
研究
你好,
我有一个问题。我解决了创建域的问题——我只想使用attributevaluemapper创建域。当我完成映射后,我只想导出定义的表,例如下图:
有什么办法吗?请问如何将此值映射的内容导出到表格(excel等)?
谢谢!
研究