span8
span4
这篇文章的目的是让他们知道可以如何与FME创建额外的元数据的用户,这样可以GeoMedia的与本机互动SQL服务器空间表。
这适用于SQL Server 2012的高。
从查克在鹰的注意事项:不建议在相同的本地空间数据上混合GeoMedia 2015和更早的版本。GeoMedia 2015使用的二进制格式与2014年和更早的版本不同,它基于Microsoft的SQL Server 2012或更晚版本的二进制。一旦在2015年编辑了一个功能类,您就不能在GeoMedia的早期版本(如GeoMedia 2014)中使用它。
使用“GeoMedia的SQL Server的仓库FME作家:
当FME在a中创建新表时SQL Server数据库FME能够生成必要的GeoMedia元数据,这使得新表从GeoMedia应用程序启用读/写功能。
使用“Microsoft SQL Server空间“作家在FME:要写入SQL Server本机空间表,FME创建表空间,但不会生成GeoMedia的必要的元数据格式是原产于Microsoft SQL Server的空间数据库。
为了GeoMedia的已读/写能力,有必要附加元数据添加到元数据GeoMedia的表(GFeatures等)。FME默认情况下不这样做。
SQL Server空间 - 原生空间数据类型
如果你最近搬到了SQL Server空间或正在考虑这个问题,并计划使用与GeoMedia的原生空间数据,你需要知道的一些额外的步骤。
当您尝试添加GeoMedia的元数据为新的您可能会注意到SQL Server本机空间表中数据库实用程序将不会在对话框中显示geometry选项卡。基本上数据库实用程序不知道几何类型并忽略它。您仍然可以将该表添加到元数据表中,但是GeoMedia不会显示来自该表的地理数据,因为它不知道存储在该表中的几何数据。您将能够在表格视图中查看表格,在GeoMedia中使用“新数据窗口”,而其他第三方应用程序可能识别空间表并按预期显示它。
这是一个指示,空间表缺少附加varbinary
柱(GeoMedia的需要)。这是一个GeoMedia的独特需求。
FME创建的新表,但我不能看到他们在GeoMedia的
的FME基金SQL服务器空间作家不必创建
步骤需要使GeoMedia知道任何文件中的几何图形SQL服务器空间表。
检查”GeoMedia的SQL Server空间用户指南“随附适用于GeoMedia 2014的SQL Server空间插件。它含有一种叫“节使用现有的原生空间数据这涵盖了所需的步骤。这就是以下指示的来源,我将让你查阅该文件以获得进一步的资料。
1)GeoMedia的要求被添加到新表中的列...
从MS SQL Server Studio中运行以下脚本(请编辑表名和列来匹配你的表名和列名)例:注意:下面的脚本假设原生SQL服务器空间几何列称为几何学,GeoMedia几何列叫做GEOM_GDO,列(ID)是指你表的标识列。
ALTER TABLE(模式)。[tablename]添加GEOM_GDO VARBINARY(MAX)而后进一步对这个表...前创建2级新的触发器:
CREATE TRIGGER [tablename_INS] ON [模式] [表名] AFTER INSERT AS BEGIN SET NOCOUNT ON。IF EXISTS(SELECT NULL为由插入WHERE插入。[GEOM] IS NULL并插入。[GEOM_GDO] IS NOT NULL)BEGIN RAISERROR( '不支持。不能只,还必须提供原生的列值GDO列指定的值。' 0,1)ROLLBACK TRANSACTION END;结束;。GO CREATE TRIGGER [tablename_UPG] ON [模式] [表名] UPDATE AS之后开始SET NOCOUNT ON;IF UPDATE([GEOM])BEGIN IF NOT UPDATE([GEOM_GDO])BEGIN UPDATE [模式]。[表名] SET [GEOM_GDO] = NULL WHERE EXISTS(SELECT NULL FROM INSERTED WHERE插入。[ID] = [表名]。[ID] END END ELSE IF UPDATE()BEGIN RAISERROR(,0,1 '不支持的无法为GDO列只,还必须提供本地列值指定值。')回滚事务END END; GO
正如这里所示用户指南从鹰- 一旦你有列和触发器的地方,你可以再运行数据库实用程序加载GeoMedia的元数据。你需要确保你能跑数据库实用程序从体系,其中两个GeoMedia的和SQL Server空间软件附加元件鹰图已安装。
这已经通过SQL Server 2008、GeoMedia 2014和FME 2015进行了测试。
我们把工作区放在一起(附-geom-gdoforgeomedia.zip),这将有助于你在更新现有的SQL Server Spatial表。此工作区将添加必要的varbinary
列和2个所需触发器原生空间表。工作区读取包含现有的表和列的列表的CSV文件。
关于CSV文件:CSV文件可以在创建新的空间表,然后在第二工作区(象附的)用于改变空间表相同的工作区FME(使用文本行作家)来创建。另外,如果你正在处理现有的表,那么将有可能使用SQL返回,然后可以保存到一个文本文件,并在此工作区使用的空间表的列表。
遗憾的是,仍然有必要使用
数据库实用程序将这些表添加到GeoMedia的元数据表中,以便与元数据进行交互。
鹰现在有一些PL / SQL工具,可以帮助自动化和添加必要的元数据,以支持GeoMedia交互(在varbinary
列和触发器已经被添加到表 - 见上文)。
这是支持SQL Server 2008和上方。
“GMP空间实用程序 - 存储过程使用与GeoMedia的的SQL Server的原生空间数据服务器”可以从Intergraph下载六角支持。下载包含数据库包。
这些数据库包需要安装在存储本地空间表的SQL Server数据库中。
*在张贴链接的时间工作。如果链接被打破,让我们知道使用下面的评论部分。
或者,访问Hexagon Support并搜索标题“GMP空间实用程序—用于GeoMedia的SQL Server本机空间数据服务器的存储过程”。
在安装包之后,可以让您的FME工作区调用GMPSetMetadataFor
打包和填充与GeoMedia的相互作用必需的元数据。
如果有什么困难,请告诉我们。
希望能对大家有所帮助!快乐的FME等等。
©2020安全亚搏在线软件公司|法律