问题标签 [fme]
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.
c# - 在 FME2015 中以编程方式设置变压器参数
我正在尝试将我的应用程序从 FME2009 升级到 FME2015。我遇到的问题是我设置的参数似乎没有在实际的变压器中使用。相反,正在使用来自转换器定义的默认值。具体来说,没有应用源和目标坐标系名称。
当我的应用程序与 FME2009 链接时,以这种方式设置参数非常有效。
代码摘录:
当我执行此代码时,我可以从日志中看到正在使用默认值。
日志摘录:
名为 TOM_PRICE_MINE_MGA 的坐标系不存在。坏消息:找不到坐标系“TOM_PRICE_MINE_MGA(TOM_PRICE_MINE_MGA)”的定义 (crdsysmn.cpp:1074) 名为 TOM_PRICE_MINE_MGA 的坐标系不存在。坏消息:指定未知坐标系“TOM_PRICE_MINE_MGA” - 正在中止 (crdsysmn.cpp:1628) 指定未知坐标系“TOM_PRICE_MINE_MGA” - 正在中止坏消息: Reprojector:无法创建重投影引擎 (fmereprojector.cpp:404) Reprojector:无法创建重投影引擎
变压器摘录:
编辑 1
我找到了 IFMEOTransformer.Serialize 方法并在实例化转换器后运行它。
我的指令:NAME,SpineClipTransformer,VERSION,0,PARAMETER_VALUES,"SOURCE_COORDSYS,LL-GDA94,XFORMER_NAME,SpineClipTransformer,DEST_COORDSYS,MGA94-50",INPUT_FEATURE_TYPES,,INPUT_FILTERS,,INPUT_ATTRS,,OUTPUT_FEATURE_TYPES,,OUTPUT_FUNCTIONS,
IFMEOTransformer.Serialize() 输出:NAME,SpineClipTransformer,VERSION,1,PARAMETER_VALUES,"__COMPOUND_PARAMETERS,,XFORMER_NAME,SpineClipTransformer,TRANSFORMER_GROUP,",INPUT_FEATURE_TYPES,,INPUT_FILTERS,,INPUT_ATTRS,,OUTPUT_FEATURE_TYPES,,OUTPUT_FUNCTIONS,
尝试遵循这种格式(对此一无所知),我将指令更改为:NAME,SpineClipTransformer,VERSION,1,PARAMETER_VALUES,"__COMPOUND_PARAMETERS,SOURCE_COORDSYS,LL-GDA94,XFORMER_NAME,SpineClipTransformer,DEST_COORDSYS,MGA94-50,TRANSFORMER_GROUP,",INPUT_FEATURE_TYPES,,INPUT_FILTERS,,INPUT_ATTRS,,OUTPUT_FEATURE_TYPES,,OUTPUT_FUNCTIONS,
新的 IFMEOTransformer.Serialize() 输出:NAME,SpineClipTransformer,VERSION,1,PARAMETER_VALUES,"__COMPOUND_PARAMETERS,SOURCE_COORDSYS,XFORMER_NAME,SpineClipTransformer,TRANSFORMER_GROUP,",INPUT_FEATURE_TYPES,,INPUT_FILTERS,,INPUT_ATTRS,,OUTPUT_FEATURE_TYPES,,OUTPUT_FUNCTIONS,
sql - 当多个属性相同时匹配特征
被我用于 FME 的 InlineQuerier 转换器的 SQL 语句卡住了。我通常不太使用 SQL 代码,只使用 if 来执行简单的一对一连接。我目前正在使用一个包含多个属性的数据框,我想基于这些创建一个额外的属性。一个简短的例子:
我正在尝试根据所有 4 个属性为所有功能提供一个唯一的 RoadID,以便我以后可以合并它们。新属性 RoadID 必须是数据类型 Integer,并且值应该匹配 4 个属性的唯一组合。
结果应该是这样的:
我是使用 concat 还是应该使用简单的 if then 语句来解决问题?
excel - 在 FME 中使用多个表格转换 Excel 工作表
我需要使用 FME 将 Excel 文件转换为 ESRI FileGDB。问题是我的 excel 工作表包含多个表格。
示例:在第 1 行,我有第一个表的属性。第 2 到 4 行包含这些值。在第 6 行,我有第二个表的属性。接下来的 45 行是值。第三张桌子也是如此。
这些行可以更改。我可以在任何行拥有第二个表的属性。
我认为最好的解决方案是有一个将 .xls 文件拆分为三个不同文件的过程,这样我就可以将它们直接转换为 ESRI 格式。
是否有可以执行此任务的转换器,或者我应该自己用 Python 编写代码?
PS:此过程将从 REST 服务调用,因此我无法手动执行此操作。此外,列名称将始终相同。
谢谢
python - FMEWorkspaceRunner Python
我正在尝试从独立的 python 脚本批量运行工作区,但它失败了。我特别想知道我是否正确传递了参数。我正在使用带有消息的异常捕获,但它实际上提供的信息较少:
编码:
javascript - 我可以使用通用方法连接到 socket.io 服务器吗?
我有一个 node.js 服务器,并将 socket.io 侦听器附加到它。代码是这样的。
通常我使用标准方式连接到 websocket 服务器。一个例子是这样的:
它可以毫无问题地工作。现在,我的同事想从他的 FME 服务器连接到 websocket 服务器。根据他的研究,他可以用来连接到 websocket 服务器的唯一方法是使用这样的 url:
我的问题是:有没有办法使用这种类型的字符串连接到 socket.io 服务器侦听器?
如果没有,有没有办法用ws://host:port
url 创建一个 websocket 服务器并将其附加到我的 node.js 服务器?
或者,有没有办法连接到 FME 服务器中的 socket.io 侦听器?
sql-server - 如何获取 FME 生成的 SQL 语句?
我有一个 FME 工作台,它开始表现不佳。我的预感是它与数据库有关。如何准确确定 FME 发送到数据库的 SQL?我可以与 DBA 联系并执行跟踪;但是它可能无法给我完整的图片。如果可能的话,我更愿意从 FME 获得这些信息。
SQL Server 版本:2012 FME 版本:2017.0.0.2
ifc - 如何将 IFC 文件转换为室内 GML?
我有带有 LOD2 的 IFC 格式的 3D 建筑模型。
我正在尝试使用 FME 桌面将该模型转换为室内 GML 格式,它导出的是空 XML。
请如果有模板与我分享以及想法或建议也......
python - Python 逐行执行
我无法使用搜索选项很好地解决这个问题,所以我的问题是:我有一个脚本可以完成这项工作,但仅适用于一个文件。只是为了解释这里发生了什么:
此脚本执行从 AutoCAD DWG (C:\AutoCAD) 转换为 KMZ 文件的 FMW 文件,并将其存储在 C:\Maps_KMZ 文件夹中。现在,我需要对同一源文件夹中的大约 20 个 FME 文件执行相同的操作。是否可以同时执行每个文件并在两次执行之间添加特定的时间范围,比如说它们之间的 2 分钟暂停,因为我不能同时运行 2 个或更多转换,它会使 Windows 崩溃。
非常感谢您的帮助!
regex - 试图为字符串创建一个正则表达式
我有一个像 Taxi:[(h19){h12}], HeavyTruck :[(h19){h12}] 这样的字符串,其中我想在“:”之前保留信息,即出租车或重型卡车。有人可以帮我吗?