西班牙
斯潘4
本文的目的是向用户展示如何使用FME创建额外的元数据,以便GeoMedia可以与本机交互SQL Server空间桌子。
这适用于SQL Server 2012及更高版本。
查克在积分图上的一个注记:不推荐在相同的本地空间数据上混合GoMeDyx 2015和早期版本。GeoMedia 2015使用的二进制格式与2014年及更早版本不同,它基于Microsoft的binary for SQL Server 2012或更高版本。一旦在2015年编辑了一个功能类,就不能在GeoMedia 2014这样的GeoMedia早期版本中使用它。
使用“GeoMedia SQL Server仓库“FME中的作者:
当FME在SQL服务器数据库FME能够生成必要的GeoMedia元数据,从而使新表能够从GeoMedia应用程序中读/写。
使用“Microsoft SQL Server空间“FME中的writer:要写入SQL Server本机空间表,FME会创建空间表,但不会为GeoMedia生成必要的元数据,因为此格式是Microsoft SQL Server空间数据库本机格式。
为了使GeoMedia具有读/写功能,有必要向GeoMedia元数据表(GFeatures等)添加额外的元数据。默认情况下,FME不会这样做。
SQL Server Spatial-本机空间数据类型
如果您最近迁移到了SQL Server Spatial,或者正在考虑它,并计划将本机空间数据与GeoMedia一起使用,那么您将需要知道一些额外的步骤。
当您尝试为新的SQL Server本机空间那张桌子数据库实用工具不会在对话框中显示“几何体”选项卡。基本上数据库实用工具不知道几何体类型并忽略它。您仍然可以将表添加到元数据表中,但是GeoMedia不会显示表中的地理数据,因为它不知道与表一起存储的几何数据。您将能够使用GeoMedia中的“New Data Window”以表格视图查看该表,而其他第三方应用程序可能会识别该空间表并按预期显示它。
这表示空间表缺少一个附加的可变长度
列(GeoMedia要求)。这是对地理媒体的独特要求。
FME创建了新表,但我在GeoMedia中看不到它们
FMESQL Server空间作者没有能力创建
使GeoMedia了解任何SQL Server空间桌子。
查看“GeoMedia SQL Server空间用户指南“那是伴随着GeoMedia 2014的SQL Server Spatial加载项.它包含一个名为“使用现有的本地空间数据“这包括了所需的步骤。以下说明就是从这里来的,我将向您介绍该文档以获取更多信息。
1)GeoMedia要求在新表中添加一列。。。
从MS SQL Server Studio中运行以下脚本(请编辑表名和列以匹配表名和列名)例如:注意:以下脚本假定本机SQL Server空间几何列称为GEOM,而GeoMedia几何列称为GEOM_GDO,[ID]列是指表的标识列。
ALTER TABLE[schema].[tablename]添加GEOM_GDO VARBINARY(MAX);转到然后,在此表上创建两个新触发器。。。前任:
在插入后的[schema].[tablename]上创建触发器[tablename]AS BEGIN SET NOCOUNT ON;如果存在(从插入位置选择空。[GEOM]为空并插入。[GEOM_GDO]不为空)开始RAISERROR('不支持。无法仅为GDO列指定值,还必须提供本机列值。“,0,1)回滚事务结束;结束;在更新为BEGIN SET NOCOUNT ON后,在[schema].[tablename]上创建触发器[tablename_UPG];如果更新([GEOM])开始如果不更新([GEOM_GDO]),则开始更新[schema]。[tablename]设置[GEOM_GDO]=存在的空值(从插入的位置选择空值。[ID]=[tablename]。[ID]如果更新,则结束ELSE()BEGIN RAISERROR('不支持。无法仅为GDO列指定值,还必须提供本机列值',0,1)回滚事务结束端;去吧
如图所示用户指南从鹰图公司-一旦列和触发器就位,就可以运行数据库实用工具加载GeoMedia的元数据。你得确保你能跑数据库实用工具从一个系统中SQL Server Spatial软件加载项已安装来自Intergraph的。
这已经用SQL Server 2008、GeoMedia 2014和FME 2015进行了测试。
我们已经建立了一个工作区(附加-geom-gdoforgeomedia.zip公司这将有助于您更新现有的SQLServer空间表。此工作区将添加可变长度
列和本地空间表所需的2个触发器。工作区读取包含现有表和列的列表的CSV文件。
关于CSV文件:CSV文件可以在创建新空间表的FME工作区(使用文本行编写器)中创建,然后在第二个工作区(如附加的工作区)中使用来更改空间表。或者,如果您正在处理现有表,则可以使用SQL返回空间表的列表,然后可以将其保存到文本文件中并在该工作区中使用。
不幸的是,仍然有必要使用
数据库实用工具将表添加到GeoMedia的元数据表中,以便与元数据交互。
Intergraph现在有一些损益表有助于自动化和添加必要元数据以允许GeoMedia交互的工具(在可变长度
列和触发器已添加到表中-请参见上文)。
这在SQL Server 2008及更高版本上受支持。
“GMP空间实用程序-与GeoMedia的SQL Server本机空间数据服务器一起使用的存储过程”从Intergraph下载六角支承.下载包含数据库包。
这些数据库包需要安装在存储本机空间表的SQL Server数据库中。
*在发布时,链接正在工作。如果链接断开,请使用下面的评论部分通知我们。
或者,访问Hexagon支持并搜索标题“GMP Spatial Utilities-用于GeoMedia的SQL Server本机空间数据服务器的存储过程”。
安装包后,可以让FME工作区调用GMPSetMetadataFor的
打包并填充与GeoMedia交互所需的元数据。
如果你有什么困难,请告诉我们。
希望这能帮助别人!祝你幸福。
?2019安全亚搏在线软件公司|合法的