我正在构建一个流程,该流程需要几何图形功能中(外部)部分的总量。我需要从一个(因此是1)或多个(2+)特征中得到的部分总数,以便进行进一步的统计分析。为了得到这个,我使用了partcounter,它会给我返回几何体中零件数的partcounter。对于多组和集料,这是零件的数量,对于路径,这是段数。否则,它是一个。
我希望,在单个功能(甜甜圈)上使用此功能时。它将返回值1,但在附加的示例中,还有我试过的其他甜甜圈,它返回甜甜圈的总量+外部零件的总量。
是否可以在不使用内部边界的情况下使用另一个变压器来获取部件计数,而不需要使用Donuholefilter来填充Donutsholes?或者只是计算一下外部边界部分?
填充甜甜圈非常耗时且占用CPU(例如,对于10000个对象,但也可以处理带有x百万的集合,这将需要几个小时的额外时间):
28.6秒。(CPU:27.3s用户,1.0s系统)对1分51.8秒。(CPU:63.4s用户,22.6S系统
简而言之,问题是:
获取值51,但希望值1(1个对象,不是内外边界)。无2无.fmwt
在同一个编写器中,不可能将多个空间列写入某些表,而将一个空间列写入其他表。
使用两个编写器(或单个和多个空间列表)可以使第一个编写器快速编写表,而第二个(以及后续的)编写器则可以保存所有功能,并在第一个编写器完成时进行编写。当两个作者都获得大量特性(例如更新basemap)。
是否可以为每个表设置单个/多个空间列,以便不需要第二个(阻塞)编写器?(在我的例子中,SQL Server和Oracle编写器,但是Postgis和其他数据库可以以相同的方式工作)
尊敬的FME社区。亚搏国际在线官网
我必须从Oracle SDO几何中提取几何,以便将它们插入到PostGIS数据库中。
PostGIS中的几何图形必须是“multilinestring”类型,但我的Oracle SDO几何图形位于“linestring”中。
我尝试以下解决方案:
Postgis中:在与Postgis函数集成之前触发转换几何图形斯塔多但那不管用。
在FME中:使用几何矫形器但所有的几何图形都是原封不动的
在FME中:使用几何细化剂没有成功
在Oracle中:转换源几何图形,但不起作用
知道吗?
你好,
我有一个公路网作为基地,我有一个起点和终点坐标,以及使用底层道路网确定的最短路径,我使用以下变压器,VertexCreator属性创建者,pointconnector和shortestpathfinder。
这似乎很好地满足了我的需要。
问题是有多个起点或终点,或者如果在创建的线的中间有其他复杂的网络,执行上述操作的选项,但创建具有多个起点和终点的线,并使用多点连接器变压器。有更简单的方法吗?
多谢
我能用sqleexecutor读取多个几何图形吗?在我看来,一张桌子上没有两个几何图形。我正在从不同的表中提取/构造多个(2)几何图形,SQL在一行中给出两个几何图形的结果集。
来自SQL结果集的两个几何图形不是来自一个表
稍后,我将分解这些几何图形,并将其用于不同的目的。
如何使用FME实现这一点?
您好!
读取形状文件并将其写入MS SQL数据库时出现问题。shapefile包含多个多边形(和多个多边形),但显然很少有只有一对lat/lon坐标的。这些是被拒绝的,不是书面的。有什么方法可以写吗?
谢谢
,你好,
我正在尝试按高度分割多路径对象,我不知道如何在FME中这样做。多路径是建筑物,每个建筑物都有嵌入的属性,包括高度(Z值)。我想用高度把这座建筑分成几层?
我在FME中尝试了不同的变压器,但没有一个真正起作用,我不确定要在这个范围内改变什么参数。
我相信把每一个物体变成固体,然后按高度把地板分开是一个解决办法。然而,我需要一些帮助来理解哪种方法最适合使用。
在这种情况下,有人能帮我/给我提个建议吗?我是否应该将多路径转换为可以处理Z拆分的不同3D格式(例如CAD)?
多谢,
戴安娜
我有一个包含lat long和英国国家电网参考的GML数据集。我只想要BNG参考。哪一个是解决这个问题的最好方法,所以我只得到一组几何图形而不是两个?
你好,
我已经完成了用四个(!)填充MS/SQL表的任务。几何列。
我看过本文,这帮我走了。到目前为止很好,这4种不同的几何图形会按原样保存,stastText()返回正确的坐标。
但是当我看到几何体的srsid时,即使用geometry::stsrid属性,它们都是零(0)。包括从源读取的原始未更改的几何图形。
是否有方法(在FME中)在每个几何体上设置单个SRSID,所以每个目标列都有自己的srsid?
干杯
拉尔斯岛
你好,我有一个关于使用线路变压器的问题。我有线条和多边形。有些线条在两端接触多边形,有些线条在一端接触一个多边形。有些线条不接触多边形。如何确定两端接触多边形的线条?
亲切的问候,
史提芬·洛斯曼
你好,
我通过ESRI地图服务发布空间数据(通过激活的数据和查询操作,以便访问这些功能。尽管故障模式与影响分析没有提供任何证据,“ESRI Arcgis服务器功能服务”-读卡器工作。然而,当我想读取一个几何类型为“多点”的层时,我收到以下错误消息:“python异常
因此,问题是,在ESRI服务中,FME是否存在多点问题?还是我错过了什么?在FME中,有没有其他方法可以从ESRI地图服务中读取功能?
问候语,
安德烈
截至FME 2016.1,Postgis编写器还不支持Oracle和SQL Server编写器上可用的“处理多个空间列”选项。因此,写入具有多个空间列的PostGIS表需要两个步骤。
注:我们已经为PostGIS多几何支持记录了pr 17730。
必须使用pgadmin预构建具有多个几何列的PostGIS表,才能获得正确的表布局。Postgis表已经为演示示例预构建,postgis-insert-update-2016.fmt.
postgis-insert-update-2016.fmwt
workspace-for-inserts-and-updates.zip
使用FME 2016 +,可以更容易地编写多个几何图形来发布地理信息系统。要编写多个几何图形,必须先用一种几何图形类型插入特征,然后用另一个更新。在此之前,必须在两个单独的工作区中进行。现在可以订购功能的运行时处理,使用连接运行时顺序,以便可以在同一个工作区中完成插入和更新。
下载postgis-insert-update-2016.fmt是完整的工作区。如果您想自己创建工作区,请下载parks.zip,然后按照下面的步骤创建它。
已完成的工作区
1。创建源表
为了准备练习,请运行createtable-city-parks.fmw以确保表设置正确。
2.第2条。添加阅读器
添加一个mapinfo(mtab)阅读器,并将数据集设置为parks.tab。
三。为多边形添加插入编写器
去作家那里,添加Writer并添加Postgis Writer。设置数据集以嵌入连接参数。在参数下…请输入:
主持人:postgis.train.sa亚搏在线fe.com
端口:5432
数据库:FMEData
用户名:fmedata
密码:fmedata
将PostGIS编写器功能类型连接到MapInfo阅读器。在插入编写器的功能类型属性中,在“常规”选项卡下,请将表限定符设置为FMEData2016。在“格式参数”选项卡中,请为“feature operation”设置“insert”,为“table handling”参数设置“truncate existing”。在这个例子中,插入编写器将处理多边形几何。
插入写入程序格式参数
第四章。创建和重新投影点
将CenterPointReplacer连接到MapInfo(MTAB)读卡器,创建另一组数据流。CenterPointReplacer创建点,然后添加一个重投影程序,将坐标系更改为LL84。最后,添加attributereMover以删除除关键字字段之外的所有属性,公园ID。只需要通过更新编写“parkid”的关键字段-可以从功能中删除所有其他属性。
5。为点添加更新编写器
去作家那里,添加Writer并添加Postgis Writer。将DataSet设置为使用与上面相同的参数嵌入连接参数。
将PostGIS编写器功能类型连接到attributereMover。在更新编写器的功能类型属性中,在“常规”选项卡下,请将表限定符设置为FMEData2016。在“格式参数”选项卡中,请为“功能操作”设置“更新”,为“表处理”参数设置“使用现有”。
更新写入程序格式参数
6。设置连接运行时顺序
在mapinfo(mitab)读卡器的输出端口上,右键单击并选择设置连接运行时顺序…请在位置1设置Parks->FMEData2016.City_Parks,在位置2设置Parks->CenterpointReplacer。
SET连接运行时顺序
7。使用pgadmin运行工作区并检查输出
请检查pgadmin中的输出,由于PostGIS阅读器也不支持多个几何列,默认情况下,FME的PostGIS阅读器将选择第一个几何列。在PGADmin中,请右击桌子,选择查看数据,然后查看所有行。
在pgadmin中查看的输出
在FME 2016之前,需要两个工作区进程,workspaces-for-inserts-and-updates.zip是演示。附加的zip文件包含两个工作区,其中显示了如何完成此操作。
1)运行none2postgis_insert.fmw工作区,将第一个几何类型插入表中。
2)然后运行另一个none2postgis_update.fmw工作区以使用第二个几何类型更新表。运行更新工作区(写入程序模式=更新)时,您必须将fme_where format属性设置为键值(在示例表中,它可以是fme_where id=1)。此外,还需要将空间列名参数更改为第二个几何图形。在上面的情况下,您将首先插入到空间列名称geom,并在更新工作区中将空间列名称更改为geom2。
如何将多曲线几何类型转换为多线几何类型?
如有任何关于以下问题的帮助,我们将不胜感激:
我有两个地图信息层,一个是点,一个是多边形。
一个多边形中可能存在多个点特征。
我在点图层的列中有数据,我想复制到多边形图层的列中。因为一个多边形中可能有多个点,所以我想将该多边形中多个点特征的数据连接到多边形层中的一列中,因此,没有从点到多边形丢失表格数据。
事先谢谢。
我试图定义一个转换过程Intergraph几何SQL Server仓库(读者)esrigeodatabase(文件geodb api)(作者)使用FME Workbench 2015。我在电子表格中定义了一个模式文件,该文件添加到工作区资源(模式-来自表)用作我的编写器的模式源。我正在阅读的功能与几何有关,如:“fme-geometry”的值为“fme-aggregate”,“fme-type”的值为“fme-point”,“fme-geometry”的值为“fme-point”,“fme-type”的值为“fme-point”。基本上,这意味着我的源包含多点特性和单点特性。在我的模式文件中,我将几何类型值定义为FME点.当进程尝试写入多点功能时,它将失败并显示消息:未能将几何图形写入几何图形类型为“EsrigeMetrypoint”的要素类…如果我手动将几何体输出设置为geodb_多点但是我想使用模式文件保持动态。有没有方法在模式文件中定义几何类型以便可以写入多点功能?