主题:“OGC”中的问题 https://knowledge.亚搏在线safe.com/questions/topics/single/19639.html网站 “OGC”主题的最新问题 在WFS阅读器中发现错误? https://knowledge.亚搏在线safe.com/questions/87937/found-a-bug-in-the-wfs-reader.html

嗨,安亚搏在线心。

我好像在WFS阅读器中偶然发现了一个错误,这也可能影响其他OGC读者。

我们的本地WFS服务通常有一些额外参数,例如“Service NeNeMe”,“登录”和“密码”,或“票”。这些都在读卡器接收到的存根中给出,通常情况下,它工作得很好。

然而,我们的一个服务在“功能”文档的服务存根中返回了这些参数,但是参数名都比较低。即。FME存根包含“login=”和“password=”,但返回的功能存根有“login=”和“password=”。

不幸的是,FME处理错误,因为它将camelcased参数附加到低位存根,由于区分大小写,因此FME认为参数名是不同的。

我说这是错误的原因,是因为OGC文档清楚地指出“参数名不区分大小写,但参数值应区分大小写。”

http://docs.opengeospatial.org/is/09-025r2/09-025r2.htmlWFS 2.0段落6.2.5.2

我们正在改变我们的服务以尊重使用过的案例,但是,FME也应该支持给定的标准,比较不区分大小写的参数名。

使用2018.1 x64

OGC WFS阅读器 标准 星期二,2019年3月5日11:57:32格林尼治标准时间 2016年
几何验证程序“OGC Simple Compliant”是什么意思? https://knowledge.亚搏在线safe.com/questions/79939/geometryvalidator-ogc-simple-compliant-meansion.html

为什么聚合特性是“OGC简单兼容”?

第一个创建者生成一个盒子多边形(0 0 10 0 10 10 8 10 0 10 0 0 0 0 0 0),第二个生成一个三角形(0 10 5 13 8 10 0 10)。我想我误解了“ogc simple”的意思。(与复杂功能相反?).“简单”似乎并不意味着“有效”。

工作空间:OGC-Test.Zip

事先谢谢。

OGC 几何验证程序 FRI,2018年10月5日15:56:23格林尼治标准时间 J4
支持在geopackage tile writer中导入esri tilecacheinfo xml文件 https://knowledge.亚搏在线safe.com/idea/67405/support-importing-esri-tilecacheinfo-xml-files-in.html

Arcgis附带了瓷砖缓存定义,例如在Pro中:

C:\程序文件\arcgis\pro\resources\tilingschemes

如果这个方案是兼容的,那么在编写地理数据包时导入这些数据会很方便。

杰克莫尔纳

OGC 瓷砖 地质填筑 星期二,2018年4月3日16:25:42格林尼治标准时间 布鲁塞哈德
如何用接触边界的孔分割多边形? https://knowledge.亚搏在线safe.com/questions/59610/how-to-split-polygons-with-holes-that-touch-the-bo.html网站

我有一个多边形数据集,该数据集应该在带有ArcSDE的PostGIS数据库中使用。空间类型是pg_几何。据我所知,在ESRI和OGC世界中,具有一个与边界接触的孔的多边形基本上是不同的:

如果我通过ArcCatalog将多边形加载到ESRI样式的PostGIS中,我从Postgis得到了形状完整性错误。如果我用fme postgis writer将多边形加载到postgis中,访问ESRI世界中的功能时,我从ArcCatalog得到了错误。

有没有办法把每个多边形分成两半?哪一个没有与边界接触的内孔?或者在SDE中有没有另一种方法可以使用Postgis和PG U几何,而在两个世界中都没有错误?

更新1

我想要的是:

该孔接触顶点A中的边界。将此多边形分割为多边形A-B-C,以及输入多边形的其余部分。然后我有两个没有孔的多边形,它们在esri和ogc/postgis意义上是有效的。

更新2

拆卸自接触孔.fmw

邮政地理信息系统 SDE OGC 多瑙河造陆机 自相交 FRI,2017年12月8日14:19:07格林尼治标准时间 奉献精神
增强WMS读卡器错误处理 https://knowledge.亚搏在线safe.com/idea/39020/enhance-wms-reader-error-handling.html

我想建议对WMS阅读器进行一些增强:

  • 如果WMS通过getCapabilities传播多个异常,则允许用户选择异常类型
  • 如果WMS服务器发送异常,FME 2017.0目前显示:
             
              为getmap操作检测到异常,请求的内容类型,“图像/PNG”,返回的内容类型,'application/vnd.ogc.se_xml;字符集=utf-8;字符集=utf-8'。
             

    如果FME能够解析异常XML并显示包含的错误消息,那就太好了。

    另外:如果服务器发送的XML内容类型不正确,甚至可以处理错误的XML;)。

  • 允许选择WMS版本1.1.1/1.3.0

错误 OGC 结婚,2017年1月25日10:41:48格林尼治标准时间 蒂诺
OGC地质包附加几何类型 https://knowledge.亚搏在线safe.com/idea/38122/ogc-geopackage-additional-geometry-types.html网站

OGC地理包似乎是共享和编辑空间数据的一种很有前景的格式。FME(2016)现在支持其核心几何类型,但是,如果FME也支持它的附加几何类型(包括弧),这将是很好的,如地质包标准:http://www.geopackage.org/spec/extension_geometry_types中所述。

OGC 地质填筑 星期二,2017年1月3日17:02:44格林尼治标准时间 蒂皮蓬
对OGC地理包扩展的FME支持http://www.geopackage.org/spec/extension_geometry_types https://knowledge.亚搏在线safe.com/questions/38102/fme-support-for-ogc-geopackage-extension-httpwwwge.html

FME OGC 地质填筑 星期二,2017年1月3日16:18:03格林尼治标准时间 蒂皮蓬
支持通用数据库(CDB)格式 https://knowledge.亚搏在线safe.com/idea/35206/support-for-common-database-cdb-format.html

开放地理空间联盟(OGC®成员)宣布,OGC批准将OGC公共数据库(CDB)规范作为OGC最佳实践。

因此,我想知道FME是否应该为CDB格式提供支持——虽然它只是有一个基于文件夹的结构,人类难以驾驭,难以航行;因此,帮助从CDB中提取和修改数据的变压器可能是有益的。

OGC 格式 清华大学,2016年10月13日07:38:04格林尼治标准时间 BTL
OGC无效-方向不一致 https://knowledge.亚搏在线safe.com/questions/35017/fails-ogc-valid-inconsisted-orientation.html(https://knowledge.safe.com/questions/35017/fails-ogc-valid-incon

嗨,大家好,

我必须转换空间数据,但在这一过程中,出现了一些导致失败的问题。为了验证这个失败,我放置了一个几何验证器,并将“要检测的问题”设置为“所有”。有些问题可以被强暴,但另一些则不行,上面有检查员的指纹。

有人要解决这个问题吗?接下来,我从工作流中放置一个图像来纠正这个问题,亚搏在线我已经处理了折线问题,但没有处理多边形。

我必须自动化这个修正,因为它大约有300个空间数据库。感谢您的帮助!

高桥 @戴维德

OGC 周一,2016年10月10日格林尼治标准时间15:43:55 弗朗西斯科卡梅尔
有没有可能在新版FME上用PostGIS编写器编写三维几何图形? https://knowledge.亚搏在线safe.com/questions/22953/postgis-writer-3d-geometrics-fme-2014-and-beyond.html

你好!

我们被困在一个3D geom linestringz导入到Postgis2.0数据库中。在2014年的FME上似乎不可能,正确的?

在新版本上可以吗?

与SQL执行器一起工作。

三维 邮政地理信息系统 OGC 结婚,2016年2月3日13:03:28格林尼治标准时间 诺诺
FME变压器的别名,类似于OGC或SQL中用于类似功能的名称 https://knowledge.亚搏在线safe.com/idea/22510/aliases-for-fme-transformers-near-like-the-names-u.html(https://knowledge.safe.com/idea/22510/aliases-for-fme-transformers-near

嗨,伙计们,

我有一个经常使用qgis和postgis和一点fme工作台的学院。每次他问我“嘿,我在找一个能做到这一点的功能,FME在哪里?”

当然,他应该经常使用FME工作台,他想到了生成类似于ogc或samefunction的sql中使用的名称的forTransformer别名的想法。那是你能做些什么的地方吗?

OGC 思想 FRI,2016年1月22日12:44:40格林尼治标准时间 海尔莫特
无效的OGC几何示例 https://knowledge.亚搏在线safe.com/articles/21674/invalid-ogc-geometry-examples.html网站

检查OGC是否符合几何验证变压器

几何验证变压器可用于检查不符合OGC几何规范的特征。可能有几个原因导致某个功能无法通过此几何检查。下面提供了一些示例:

壳体外孔

WKT示例:多边形((0 0,10 0,10 10,0 10,0 0)(15 15)15 20,20 20,20 15,15 15)

嵌套孔

WKT示例:多边形((0 0,10 0,10 10,0 10,0 0)(2 2)2 8,8 8,8 2,2 2)(3 3)3 7,7 7,7 3,3 3)

断开内部连接

WKT示例:多边形((0 0,10 0,10 10,0 10,0 0)(5 0)10 5,5 10,0 5,5 0)

自相交

WKT示例:多边形((0 0,10 10,0 10,10 0,0 0)

环自相交

WKT示例:多边形((50,10 0,10 10,0 10,0 0,5 0,3 3,5 6,7 3,5 0)

嵌套壳

WKT示例:多多边形(((0 0,10 0,10 10,0 10,0 0)()(2,2,8 2,8 8,2 8,2 2)()

复制的环

WKT示例:多多边形(((0 0,10 0,10 10,0 10,0 0)()(0,0,10 0,10 10,0 10,0 0)()

点数太少

WKT示例:多边形((2 2,8 2)

无效坐标

WKT示例:多边形((NaN 3,3 4,4 4,4 3,3 3)

环未闭合

WKT示例:多边形((0 0,0 10,10 10,10 0)

GIS 数据质量保证 OGC 几何验证程序 结婚,2015年12月23日22:24:40格林尼治标准时间 米塔特保险柜亚搏在线
如何使用FME服务器创建WMS服务 https://knowledge.亚搏在线safe.com/articles/19640/how-to-create-a-wms-service-using-fme-server.html网站

介绍

OGC Web映射服务(WMS)被设计为提供地理参考的一种手段,可配置的互联网数据图像。这些用法的示例包括在Web应用程序中将图像设置为背景地图,甚至在GoogleEarth等服务中设置图像覆盖。

OGC服务定义了开放标准,允许跨各种专有和开放源代码应用程序进行数据集成。

FME服务器提供了一种支持这些服务的方法,允许用户将工作区注册到指定的服务,以处理Web服务消息的接收和传输到客户机。本指南利用了FME服务器中的数据流服务,完成这些说明后,您将有一个功能性的WMS服务从您的FME服务器运行。以及如何从您自己的数据实现此服务。

下载

示例-wms-service.zip

技术细节

  • 有两个工作区:
    • getcapabilities.fmw是返回描述可用WMS服务所需信息的初始工作区。
    • getpng.fmw是返回所请求层和范围的图像的工作区。
  • 工作区最初是使用FME 2015.1构建和测试的,并在FME 2018.1中进行了更新。
  • 您创建的WMS服务符合OGC WMS 1.1.1和1.3.0规范。

如何在FME服务器上创建WMS服务

设置WMS服务有两个步骤:

  • 设置源数据集
  • 设置数据在输出图像中的外观样式

所附下载包已准备好发布到FME服务器,并设置为读取和呈现包含的示例空间网站数据库。在修改工作区以提供您自己的数据之前,您可能希望发布示例并在所需的WMS查看器中对其进行测试。

在FME工作台中打开getCapabilities.fmw

步骤1-加载数据

  • 打开“导航器”窗口中的“变压器”选项卡。
  • 单击第一个转换器(_data_source)在工作区中找到它。

使用导航器定位FeatureReader

  • 打开Transformer属性并仅修改读卡器设置以读取所需的源数据。


更改功能读取器中的源数据

步骤2-修改私有参数

  • 返回导航器窗口,转到用户参数>私有参数,并相应地更改这些参数:
  • 功能类型:将层设置为在您的服务中可用。这些必须与源数据中的层/要素类/表同名
  • 源SRS:可用层的坐标系。
  • 米克斯,米尼,MaxXmaxy:源数据的边界。这不需要精确。如果你愿意,你可以利用整个世界,但是适当的边界将阻止WMS查看器请求您无法提供的数据。
  • 标题:您的WMS服务的标题

更改导航器中的私有参数

步骤3-将工作区发布到FME服务器数据流服务

  • 将getcapabilities.fmw发布到您的fmeserver,选择适当的存储库。
  • 确保选择了任何必需的数据源文件进行上载。
  • 在“注册服务”窗口中,检查数据流服务属性以确保输出数据集包括文本行编写器。

在将工作区发布到FME服务器之前编辑数据流属性

步骤4(可选)-配置身份验证

  • 要允许guest访问运行工作区,您可以修改fmeguest帐户的角色权限,以允许读取/运行对存储库的访问。这将确保任何人都可以在没有用户名和密码的情况下访问您的服务。有关使用受信任用户帐户的详细信息,请参阅此处:基于角色和基于用户的访问控制.

更改安全权限以允许打开对WMS服务的访问

在FME工作台中打开getpng.fmw

注意:这个工作区包含python。为了与python 2.7兼容,FME 2019将标志着逐步淘汰过程的开始。欲了解更多信息,请阅读python 2.7折旧.

步骤5-加载数据

  • 重复上面的步骤1,在画布上找到标有“数据源”的FeatureReader。
  • 打开Transformer属性并仅修改读卡器设置以读取所需的源数据。

更改getpng.fmw中的源数据

步骤6-修改样式和渲染

  • 移动到工作区中最右侧的书签-创建图像
  • 本节包含将数据呈现到具有代表性的图像所需的逻辑。
  • 关键变压器是Mapnikrasterizer,使用您定义的规则进行实际渲染。关于mapnikrasterizer的更多信息可以在变压器上找到。帮助页面辅导的.
  • 其他变换器用于准备几何图形以进行渲染或计算适合所需坐标系的标签大小。在本节之前计算的文本大小乘数和图像分辨率将用于计算注释大小。
  • 现有的逻辑是一个简单的例子,说明了如何进行渲染。您可能希望在发布之前尝试使用此部分。

配置mapnikrasterizer属性

步骤7-将工作区发布到FME服务器数据流服务

  • 在“注册服务”窗口中,检查数据流服务属性以确保输出数据集包括PNG编写器。
  • getpng.fmw工作区必须发布到与getcapabilities.fmw工作区相同的存储库中。getcapabilities.fmw工作区包含指向getpng.fmw工作区的指针,该工作区假定它们都在同一存储库中。
  • FME目前只支持工作区输出的单一MIME类型。如果要支持其他图像格式,如jpeg或svg,您需要为每个人创建一个额外的工作区。您还需要编辑getcapabilities.fmw中的xmlTemplater,为新的图像类型添加一个新的getmap元素。


测试工作区

在发布到FME服务器之前,在本地测试工作区修改要快得多。然而,两个工作区都使用调用它们的URL来确定图像大小以及要在返回的图像上呈现的层和边界。因此,为了在FME工作台中成功地运行这些工作区,我们首先需要提供一个示例URL。

要查找示例URL,请使用将初始工作区发布到示例存储库。在FME服务器Web界面中,找到getCapabilities.fmw工作区并单击它。这将带您进入“运行工作区”页面,公开高级部分并找到直接URL示例-现在单击此处查看运行工作区时看到的XML输出。此URL将在FME工作台中用于查找getpng示例URL,因此请复制此链接。

FME服务器中的直接URL位置

getpng url更复杂,因为它包含请求的层和边界。为了得到这个,在FME工作台中打开一个新的工作区,并添加一个WMS阅读器。对于数据集,使用刚才复制的getCapabilities URL示例。

现在单击参数…然后设置图层列表,地图宽度和高度。启用搜索信封,然后为最小x,y和最大x,y提供lat/long坐标。样本数据集的一个良好起点是[-123.17,49.21,-123.11,49.26。单击“确定”将读卡器添加到工作区。

注意:如果您将工作区保存到样本以外的存储库,并且没有更改步骤4中介绍的FMEguest设置,则需要选择“使用网络身份验证”框并添加到FME服务器Web连接或使用基本登录详细信息。

WMS读卡器参数

运行工作区并检查日志窗口中以开头的行 GETMAP URL。您可以使用“查找”图标 搜索这个,或者,任何URL都将突出显示在日志中,因为它们显示为蓝色。这是用于成功运行getpng.fmw工作区的示例URL。

查找getpng.fmw工作区的get请求示例URL

在导航器窗口的用户参数>FME服务器参数>FME服务器请求URI参数中输入相应工作区的URL。工作区现在将在FME工作台中正确运行。

在导航器中设置fme-server-request-uri

验证您的WMS服务

有很多方法可以确保WMS服务正常工作。下面列出了两种方法:基于Web浏览器的简单方法和FME的WMS客户机。然而,因为WMS是一个标准,所以可以使用多个工具。例如,软件包,如Arcgis,谷歌地球,QGIS都有连接到WMS服务的方法。

FME的WMS客户:

你可以用FME测试你的WMSWMS阅读器通过FME数据检查员或FME工作台。返回到WMS阅读器创建的空白工作区。应将其设置为使用getCapabilities Direct URL,并在参数中确保选择了透明背景选项。将工作区运行到数据检查器,启用透明背景将使您能够查看覆盖在背景地图(如stamen maps)上的图像。

在工具>FME选项中设置背景图

在FME数据检查器中查看WMS输出

使用FME桌面工具进行测试意味着您可以在翻译日志中看到此服务中使用的URL,通过选择这些选项,它们将自动在Web浏览器中打开。FME通过这些日志向工作区作者提供了大量信息,因此如果您的配置有问题,任何错误都很容易识别。

浏览器:

验证WMS服务的另一种方法是使用getCapabilities请求。生成的XML流将提供有关服务可用功能的信息,包括哪些层可用。

获取getCapabilities Direct URL并将其复制到Web浏览器的地址栏中,在发出请求之前,请编辑URL以在问号(?)后包含以下定义的参数。:services=wms&version=1.1.1&request=getcapabilities。

您的URL现在应该如下所示:

http:// :端口/fmedatastreaming/ /获取能力.fmw?服务=WMS&version=1.1.1&request=getCapabilities

如果您正确设置了服务,您将收到:

       


       	
        
       

WMS服务能力

本教程创建的WMS服务包含以下操作:

  • getCapabilities:检索有关服务的元数据,包括可用的功能类型。
  • 获取地图:检索数据。

这是创建WMS的两个强制操作,有关这些操作的更多信息,请参见OGC网站:WMS标准。

数据属性

此处使用的数据源于温哥华市,不列颠哥伦比亚省。它包含根据开放政府许可证(温哥华)获得许可的信息。

其他资源:

WMS教程:启发WMS教程






光栅 网状物 数据流 OGC 结婚,2015年11月4日22:18:57格林尼治标准时间 戴维泰保亚搏在线
OGC CSW元数据查询 https://knowledge.亚搏在线safe.com/articles/897/ogc-csw-metadata-query.html

服务配置

请看CSW元数据示例有关Deegree CSW服务的设置和配置的详细信息。

csw getrecords查询

附加的查询演示工作区演示了如何使用FME执行“propertyislike”,以及“bbox”查询。每个查询都是构造的,执行,已处理以根据元数据记录创建单个FME功能。在可能的情况下,将每个元数据记录的边界框转换为特征上的FME多边形几何体。

GetRecords请求的一般形式如下:

  
       
  
        
  
         
  
          
  
          
  
         
  
        
  
       


每个GetRecords查询都需要一个可以包含潜在复杂筛选表达式的筛选元素。潜在的筛选操作包括:propertyIsEquato,财产不等于,财产不足,财产大于,财产不属于或等于,财产大于或等于,类似性质的,和Bbox。此外,逻辑运算符,如和,或者,也不支持。

此工作区包含两个自定义转换器(请参阅上面的工作区附件),可以生成与propertyislike对应的XML,和bbox过滤器操作符。

PropertyIsLike筛选器运算符

PropertyIsLike运算符对指定的属性执行通配符匹配。可以指定以下参数:

  • 属性名称:属性的名称
  • 文字:与属性值匹配的字符串。
  • wildchar:在匹配字符串中解释为“匹配多个”的字符。
  • singlechar:类似于通配符,但只匹配一个字符。
  • escapechar:当通配符或singlechar出现在匹配字符串中时,用于对其进行转义的字符,而不是用于匹配。

以下是PropertyIsLike操作的XML表示形式

  
       
  
        
         任意文本
        
  
        
         %文字百分比
        
  
       

bbox筛选器运算符

bbox运算符对其边界框由指定边界框包围的记录执行空间边界框匹配。

以下是bbox操作的XML表示形式

   
       
       
        
         阿皮索:边界框
        
       
        
           
         
          1,0,19,56
         
       
        
   
       

工作区概述

附加的查询演示工作区演示了如何使用FME执行“propertyislike”,以及“bbox”查询。每个查询都是构造的,执行,已处理以根据元数据记录创建单个FME功能。在可能的情况下,将每个元数据记录的边界框转换为特征上的FME多边形几何体。

第一个查询通过在“apiso:identifier”属性上使用“%”通配符来请求所有记录。返回记录的边界框被累积,生成一个与整个查询结果区域的边界相对应的单个边界框。然后,此边界框用作边界框查询的参数。

正如人们所期望的,在这种特殊情况下,结果记录是相同的。

工作区已经被划分为多个组件自定义转换器(link_todo),以便更容易理解工作流和设施重用。亚搏在线

注意:此工作区实现了CSW GetRecord查询选项的一个子集,并且只提取结果元数据的一个子集。当我们深入了解工作区如何工作时,它应该变得很明显,如何可以很容易地扩展为必要的。

自定义变压器

CSW属性类似于筛选器创建器



此转换器为PropertyIsLike筛选器操作生成XML,并将结果放入指定的特征属性中。除了物业名称外,和匹配的字符串,通配符,单字符也可以指定escapechar。必须指定目标属性的名称。

实施


转换器使用pythoncaller根据指定的参数生成XML片段。

CSWBBOX过滤器


这个转换器为bbox过滤器操作生成XML,并将结果放入指定的特征属性中。除了目的地属性的名称,没有参数;变压器将使用输入特征的计算边界框。

实施


变压器使用边界提取程序计算输入特征的边界框,并使用pythoncaller生成XML片段。

cswgetrecordsrequestor


此转换器生成getrecords请求,然后创建包含每个元数据记录的功能,

实施

元数据边界提取程序


从元数据记录中提取地理范围,并在特征上创建相应的多边形几何体。

实施

元数据标识符


从元数据中提取ID并创建相应的FME属性。

实施

元数据抽取器


从元数据中提取坐标系,并尝试在特征上设置坐标系。

注意:只有元数据记录和FME使用相同的CRS命名约定时,这才有效。

实施

元数据标题抽取器


从元数据中提取标题属性并创建相应的FME属性。

实施

XML 网状物 元数据 OGC 清华大学,2015年10月8日19:14:50格林尼治标准时间 DeaNAT亚搏在线SSAFE
如何使用FME服务器创建WFS服务 https://knowledge.亚搏在线safe.com/articles/649/how-to-create-a-wfs-service-using-fme-server.html

介绍

使用OGC Web Feature Service(WFS)为您的空间数据提供了可访问性,这意味着任何可以使用Web服务的应用程序现在都可以访问地理信息。WFS服务可以返回具有几何图形和属性的特征,还支持过滤器,允许用户执行空间和属性查询。运行完本指南后,您将在FME服务器上拥有一个功能性的WFS服务,并且能够为您自己的空间数据集提供服务。

技术细节

  • 工作区最初是使用FME 2015.1构建和测试的,并使用FME 2018.1进行更新。
  • 创建的WFS服务符合WFS 1.0,1.1和2.0规范。
  • 支持GET和POST。
  • 仅限于阅读功能。
  • 能够使用简单的属性过滤器和/或空间边界框过滤器。

下载

注意:这个工作区包含python。为了与python 2.7兼容,FME 2019将标志着逐步淘汰过程的开始。更多信息,请阅读python 2.7折旧.

python 2.7弃用警告,如FME Workbench 2018.1所示。

使用FME服务器创建WFS服务

对于本教程,建立WFS所需的一切,是附加的工作区和您选择的数据。您的数据可以来自各种来源,从复杂的数据库(例如postgis)到一个简单的shapefile。

所附的下载包准备发布到FME服务器,并设置为从包含的示例空间站点数据库读取和服务层。在修改工作区以提供您自己的数据之前,您可能希望发布示例并在您所需的WFS客户机中对其进行测试。

在Workbench中打开genericwfs.fmw,并执行以下步骤:

步骤1-加载数据

  • 在导航器窗口中打开变压器。
  • 单击第一个Transformer(_data_source)导航到FeatureReader。

使用导航器查找FeatureReader Transformer

  • 打开Transformer属性并修改读卡器设置以读取所需的源数据。

将数据集更改为数据所在的路径


步骤2-修改工作区专用参数

在“导航器”面板中,找到“用户参数”下的“专用参数”部分:

修改导航器中的私有参数以适合您的数据

  • 目标命名空间前缀:“mywfs”的默认值将起作用,但是您可以指定自己的名称空间(请注意,“fme”是保留的,会导致工作区失败)。
  • 目标命名空间URI:您的命名空间架构,如果从默认值更改。
  • 要服务的数据层:要服务的层,空格分隔。这些必须与源数据中的层/要素类/表具有相同的名称。
  • 要提供的默认坐标系:如果请求中未指定任何坐标系,则提供数据的默认坐标系。这只能是EPSG的四位或五位数字(即4326)必须是由FME支持的坐标系。
  • 附加坐标系:客户可以为WFS 1.1.0和2.0.0请求数据的附加坐标系。这必须是以空格分隔的epsg编号列表,从FME支持的那些。
  • 数据范围:源数据的边界。这些不需要精确。如果你愿意,你可以利用整个世界,但是适当的边界通常会提高WFS客户机中的初始缩放。
  • 服务信息:应该修改这些参数以提供服务标题,说明和提供商联系信息。

步骤3-修改层描述

  • 在导航器窗口中打开书签。
  • 单击第二个书签(_set layer title and abstract)导航到它。

使用导航器的书签部分查找工作区的一部分。

  • 打开“设置标题”转换器的属性以设置每个层的标题。任何未设置的图层都将设置为默认值,并将图层名称作为标题。
  • 打开_set_abstracts transformer的属性以设置每个层的描述。未设置的任何层都将具有空白说明。

使用attributeValueMapper设置要为每个功能显示的标题和摘要。


步骤4-将工作区发布到FME服务器数据流服务

  • 在“注册服务”窗口中,检查数据流服务属性,以确保将include writers to stream设置为textline writer,并确保将HTTP消息体发送到读卡器是useParameters[xml]。

将工作区发布到FME服务器上的数据流服务。


步骤5(可选)-配置身份验证

  • 要允许来宾访问运行工作区,您可以修改fmeguest帐户的角色策略,以允许对存储库进行读/运行访问。这将确保任何人都可以在没有用户名和密码的情况下访问您的服务。有关使用受信任用户帐户的详细信息,请参阅此处:基于角色和基于用户的访问控制。

让FMEguest在FME服务器上的角色访问WFS所在的存储库。


验证您的WFS服务

有很多方法可以确保WFS服务正常工作。下面列出的是一个基于Web浏览器的简单方法,但是由于WFS是一个标准,因此您可以使用多个工具。例如,软件包,如Arcgis,Autodesk IMS,QGIS有连接到WFS服务的方法,并且在FME工作台中也有一个WFS阅读器。

浏览器:

要验证WFS服务,请使用getCapabilities请求。生成的XML流将提供有关服务可用功能的信息,包括哪些功能类型可用。

在浏览器的地址栏中输入以下内容,必要时编辑字符串:

http:// /FME数据流/ /普通食品.fmw?服务=WFS&version=1.1.0&request=getCapabilities

如果正确设置了服务,您将收到一个XML字符串:

使用getCapabilities请求测试WFS服务是否正确运行。

测试工作区

在发布到FME服务器之前测试工作区修改要快得多。然而,在这种情况下,工作区需要一些只有FME服务器才能提供的信息。因此,为了正确测试工作区,我们可以手动向FME工作台提供这些信息。下一节将介绍如何测试GET和POST请求。

获取请求

响应GET请求时,工作区使用调用它的URL来确定要响应的请求类型,以及要返回的层和WFS版本。为了在FME工作台中成功运行此工作区,我们需要提供示例URL。

工作区响应三种不同类型的请求(getCapabilities,描述特征类型,和GetFeature)。所以我们需要每个样本来完全测试它。

步骤1-找到运行genericWFS工作区的直接URL

获取这些示例URL的最简单方法是将初始工作区发布到示例存储库,然后使用用于在FME工作台的WFS阅读器中运行此工作区的直接URL。

在FME服务器Web界面中,导航到GenericWFS工作区并单击它。在“运行工作区”页面上有一个高级部分,这是您可以找到直接URL的地方。

高级部分中的直接URL位置


步骤2-使用WFS读卡器创建工作区

返回到FME工作台并打开一个空白工作区。添加WFS读卡器,并为数据集复制位于上面的此URL。

打开参数…并在“约束>要素类型”下选中“全选”按钮。您还可以在此窗口中定义WFS版本。

在WFS读卡器参数中选择要素类型


步骤3-查找GET请求

运行工作区,然后检查日志窗口中以开始的行 .它们为WFS中使用的三个不同的GET请求指定URL。您可以使用搜索按钮在翻译日志中轻松找到这些。

搜索三个WFS GET请求URL


步骤4-测试GET请求

返回genericwfs.fmw文件。要测试工作区,可以在导航器窗口的用户参数>FME服务器参数>FME服务器请求URI下输入这些URL。

一次只能测试一个请求。此外,在URL内,您可能需要修改typename=<>参数,以仅包括源数据中可用的那些。此参数等效于在WFS读取器的约束中公开特征类型。

添加get urls作为fme-server-request-uri参数,并更改typename语法

每个请求的输出将写入与工作区相同的文件夹,文件名为return.xml。

邮寄请求

为测试目的生成POST请求有点复杂,首先需要根据在FME服务器上的作业日志文件中创建的信息创建一个XML文件。然后将使用此文件的内容,而不是上面所示的GET请求示例中的直接URL。

步骤1-创建新工作区

从一个空白画布开始,并像上面所做的那样添加一个WFS阅读器。然而,这一次在参数中…公开连接属性并检查首选HTTP POST选项。

首选启用HTTP Post


步骤2-运行工作区并查找作业日志

运行工作区,然后返回到FME服务器Web界面,选择Jobs>Completed(作业>已完成),您将看到在FME Workbench中运行WFS Reader已触发最后三个要运行的作业-三个请求中的每一个都有一个作业:getCapabilities,描述FeatureType和GetFeature,按这样的顺序。

FME服务器已完成作业网页


步骤3-创建XML文件

为了满足WFS POST请求,我们需要从日志文件中提取XML片段,并将其提取到先前创建的useParameters.xml文件中。FME总是作为GET请求提交getCapabilities,所以我们只看最后两个工作。您可以使用以下XML创建自己的post-getcapabilites请求(根据需要更改版本):

       


       

在作业日志中搜索xml片段

单击第二个作业打开作业对话框,从这里,您可以在网页的日志中搜索(ctrl+f)或下载日志文件。搜索XML片段并复制尖括号内的所有文本<>。

在文本编辑器中,选择“新建”,并将文件另存为useParameters.xml,保存位置与工作区相同。现在从日志文件中选择XML文本(这可能跨越多行),并将其复制到useParameters.xml文件中。

在useParameters.xml中保存来自describeFeatureType和getFeature的XML片段


步骤4-测试POST请求

对DescribeFeatureType和GetFeature作业日志重复此过程以测试POST请求-在原始工作区中,作业应成功运行,为每个请求生成输出文件,而无需像对GET函数那样指定FME服务器请求。

测试完成后,在将工作区发布到FME服务器之前,应删除useParameters.xml文件。

WFS服务能力

本教程创建的WFS服务包含以下操作:

  • getCapabilities:检索有关服务的元数据,包括可用的功能类型。
  • describeFeatureType:详细说明请求的功能类型架构。
  • GetFeature:检索数据。

过滤能力

筛选可用于使用GetFeature操作对WFS服务数据执行查询。此工作区支持以下筛选器:

属性筛选器:

  • 财产等同于
  • 财产不等于
  • 财产低于
  • 不动产低于或等于
  • 财产大于
  • 财产大于或等于
  • 类性质
  • 属性空
  • 财产介于

空间过滤器:

  • 盒子

genericwfs.fmw工作区中过滤选项的位置。

属性筛选语法示例:

       
        
         
          双向路径名
         
         
          海边
         
        
       

获取请求中使用的筛选器:

http:// /FME数据流/ /普通食品.fmw?service=wfs&version=2.0.0&request=getFeature&typename=mywfs:bikePaths&filter= 双向路径名 海边

空间筛选器语法示例:

bbox=-71.4,42.3,-71.1,42.6

完全请求:

http:// /FME数据流/ /普通食品.fmw?服务=WFS&version=2.0.0&request=getFeature&typename=myWFS:parks&bbox=-71.4,42.3,-71.1,42.6

笔记

以下是可以连接到WFS服务的第三方客户端列表:

  • ArcGIS
  • QGIS(WFS 2.0客户端)
  • Autodesk IMS

其他资源:

OGC网站:WFS标准

FME格式:WFS阅读器

WFS教程:启发WFS教程

故障排除:WFS错误故障排除

数据属性

此处使用的数据源于温哥华市,不列颠哥伦比亚省。它包含根据开放政府许可证(温哥华)获得许可的信息。

XML 网状物 WFS OGC 清华大学,2015年10月8日19:14:07格林尼治标准时间 布莱恩安塔尔保亚搏在线险箱