斯潘8
斯潘4
这个例子演示了FME服务器数据下载服务,以及它与网络地图(如谷歌地图和Arcgis服务器)集成的能力。这个示例应用程序提供了一个界面,用户可以通过绘制多边形来选择一个研究区域。一旦画出多边形,用户可以通过选择要下载的层以及返回数据的格式和坐标系来继续构建请求。然后,请求被发送到FME服务器,由该服务器处理并将数据返回给用户。
网络地图数据 (包含Web地图文件,地理数据库和工作区)
这个例子有几个显著的特点:
工作区和所有代码都可用于从GitHub下载.
下载完本演示的源文件后,您将需要完成以下步骤,以配置它与您自己的FME服务器安装一起运行。
1。上载源数据集
登录到FME服务器Web用户界面,浏览到资源菜单,然后转到资源中的数据文件夹。曾经在那里,单击右上角的“上载”,然后选择transit.gdb地理数据库。
将transit.gdb上传到FME服务器资源下的数据文件夹
如果你用的是铬合金,选择“上载文件夹”选项并上载transit.gdb数据集。如果你不能使用Chrome,首先将transit.gdb数据集放入zip文件,然后选择“上载文件”选项,并使用transit.gdb上载zip文件。
2。更改datadownloadservice.fmw工作区中的源参数
在FME工作台中,打开datadownloadservice.fmw,可以在下载的文件中的FME文件夹中找到。
打开功能读卡器参数,并调整数据集以指向上传到FME服务器的transit.gdb文件。
如果将数据集作为文件夹上载,将路径更改为以下路径:
美元(fme_sharedesource_data)transit.gdb
如果上载了包含地理数据库的zip文件,改为使用以下路径:
美元(fme_sharedesource_data).zip/过境.gdb
FeatureReader参数,确保数据集设置为$(fme_sharedesource_data)transit.gdb(或zip文件变体)
三。发布到FME服务器
保存对工作区所做的更改,然后单击文件>上传到FME服务器。在“发布到FME服务器”向导中,设置连接参数,看到这个文章有关如何执行此操作的信息。
在“发布到服务器”对话框的第二页上,为要发布的工作区选择存储库和名称。注意您使用的存储库和工作区名称,因为在步骤6中更改JavaScript文件时需要这些信息。
完成“发布到服务器”向导,确保向数据下载服务和作业提交者服务注册工作区。
4。移动目录文件
将下载包中的“www”文件夹复制到Web可访问的根位置。它可以由像IIS或Apache这样的Web服务器托管。此外,您可以使用类似AmazonS3的服务来承载页面。要了解有关Web托管和FME服务器的更多信息,请查看文章.
注:如果您在本地使用FME服务器,您可以从Web服务器根目录承载该网页。尽管出于安全原因不建议使用这种方法,在开发更安全的方法的同时,这是一个简单的方法来启动和运行这个演示。将“www”文件夹复制到
5。设置FME服务器令牌
我们需要设置一个FME服务器令牌,以便能够将JavaScript连接到一个FME服务器。要创建令牌,请转到FME服务器Web用户界面,在右上角,单击您的用户名打开菜单下拉列表,然后选择管理令牌。
在管理令牌对话框中,点击New token打开参数,输入您的用户名和密码,然后将您的持续时间更改为您希望此令牌处于活动状态的时间,对于这个例子,令牌设置为30天。然后您还可以选择重用令牌,如果您已经创建了一个令牌并在其他地方使用它,那么这是一个好主意。有关FME服务器令牌的更多信息,请访问文档.复制此令牌以在步骤7中使用。
创建并复制用于步骤7的FME服务器令牌
6。修改javascript以指向存储库和工作区
以管理员身份在文本编辑器中打开以下文件:\www\js\datadistribution.js请确保从Web服务器承载的根文件夹中打开该文件。
在datadist函数下,更改repository和workspacename变量以指向您自己的FME服务器安装。
更改存储库和工作区名称以反映工作区信息
7。修改javascript以指向您的FME服务器和令牌
下一步,我们将修改datadist.init函数参数。如果您想使用自己的FME服务器参数,请在每行之前添加//注释或删除以下3行:
注释掉或删除运行我们的实时演示的JSON行,以输入您自己的参数。
然后取消注释(删除//)以启用以下3行,然后修改服务器和令牌变量,以反映您的FME服务器名称和步骤5中复制的令牌。
当你第一次下载这些数据时,这段代码将被注释掉,移除//以使其生效。
8。保存更改
保存对datadistribution.js所做的更改,如果在保存javascript文件时出错,确保以管理员身份打开文本编辑器。
9。设置CORS(仅当使用您自己的Web服务器作为主机时)
如果您使用自己的Web服务(Apache,伊斯S3)主持演示。回到侧菜单栏上的FME服务器Web用户界面,点击科斯.一旦您进入配置跨源站资源共享(CORS)页面,在右上角单击加载模板,然后单击“允许所有主机”。对于更高级的用户,您可以设置特定的主机。
如果您将Web地图托管在外部服务器上,请在FME服务器中设置CORS。
10。运行演示
要运行实时演示,在Web浏览器中输入以下URL并输入您的FME服务器名称:
谷歌地图背景:
http:///www/index.html?谷歌地图
ESRI Arcgis背景:
http:///www/index.html?MAP= ArcGIS
注意:此URL假定您将整个“www”文件夹复制到Web服务,如果文件夹或文件名已更改,请相应地更改URL。
故障排除
如果您加载演示,但看不到您的参数,或者在创建多边形时什么也不会发生。再次检查是否使用URL加载了演示,而不仅仅是打开HTML文件。如果您正确地打开了演示,右键单击页面上的任意位置并打开开发人员工具/检查,然后检查控制台是否有任何错误消息,通常,这只是一个没有正确设置CORS的情况。
请检查您的URL或开发人员控制台,以确定参数不起作用的原因。
有关部署网站的详细信息
使用GitHub的简单Web应用程序体系结构,AWS S3,部署,FME Cloud
数据属性
此处使用的数据源于温哥华市,不列颠哥伦比亚省。它包含根据开放政府许可证(温哥华)获得许可的信息。
您好!@巴兹纽曼07有几个原因可能会发生这种情况,但在大多数情况下,如果使用Web浏览器中的开发人员工具查看Web应用程序向服务器发出的请求,则应该能够看到出现的错误消息。如果这不能帮你缩小范围,请随时与我们联系,通过www.亚搏在线safe.com/supportrequest我们可以帮助你更深入地了解这一点。
你好,
我用自己的数据做了这个例子,所有的工作都很好。如今,尽管ESRI选项仍在显示,但谷歌的背景地图已不再出现。您的演示站点似乎没有同样的问题。你知道我是否需要更新HTML代码中的链接吗https://maps.googleapis.com网站在某种程度上,如果我打开开发人员工具,所有错误都与googleapis相关,我没有改变任何东西让它停止工作,所以我不知道这个问题是从哪里来的。其他一切都还在工作,我可以下载数据,我只是看不到背景地图!
谢谢你
你好,
你还在这方面有问题吗?我建议的一件事是尝试使用谷歌网站上的一个例子,看看这是否对你有用,然后比较在那里发生的事情和在显示错误的页面中发生的事情,这可能有助于缩小故障原因:https://developers.google.com/maps/documentation/javascript/examples/map-simple
?2019安全亚搏在线软件公司|合法的