span8
span4
这个示例演示了FME服务器数据下载服务以及将其与web地图(如谷歌maps和ArcGIS Server)集成的能力。这个示例应用程序提供了一个界面,用户可以通过绘制一个多边形来选择一个研究区域。绘制完多边形后,用户可以通过选择想要下载的图层、格式和返回数据的坐标系统来继续构建请求。然后将请求发送给FME服务器,由FME服务器处理请求并将数据返回给用户。
网络地图数据(包含网络地图文件,地理数据库和工作区)
这个例子有几个显着特点:
工作区和所有代码都是可用的从GitHub下载.
下载了这个演示程序的源文件之后,您需要完成以下步骤来配置它,使其与您自己的FME服务器安装一起运行。
1.上传源数据集
登录到FME服务器Web用户界面,浏览到资源菜单,然后进入资源中的数据文件夹。在那里,点击右上角的上传,并选择过境。gdb geodatabase。
上传过境。gdb到FME服务器的Resources下的Data文件夹
如果您使用的是Chrome,选择选项“上传文件夹”并上传Transit.gdb数据集。如果您没有访问到Chrome浏览器,把Transit.gdb数据集压缩成zip文件,然后再选择选项“上传文件”,并上传与Transit.gdb里面的zip文件。
2.更改datadowloadservice中的源参数。逐步的工作区
在FME工作台中,打开datadowloadservice。Fmw,可以在下载文件的fme文件夹中找到。
打开Feature Reader参数,调整数据集指向Transit。您上传到FME服务器的gdb文件。
如果您以文件夹的形式上传数据集,请将路径更改为:
(FME_SHAREDRESOURCE_DATA) Transit.gdb美元
如果你上传了包含geodatabase的zip文件,请使用以下路径:
$ (FME_SHAREDRESOURCE_DATA) < zipfileName > . zip / Transit.gdb
featureereader参数,确保数据集设置为$(FME_SHAREDRESOURCE_DATA)Transit。GDB(或zip文件变体)
3.发布到FME服务器
将所做的更改保存到工作区,然后单击File > Upload to FME Server。在“发布到FME服务器”向导中,设置连接参数,请参见此文章以获取如何做到这一点的信息。
对发布到服务器对话框的第二页上,选择要发布的工作空间的存储库和名称。注意使用在第6步改变的JavaScript文件时,您将需要此信息的存储库和工作区的名称。
完成发布到服务器向导,确保向数据下载服务和作业提交服务注册工作空间。
4.移动目录文件
从下载包复制的“www”文件夹复制到Web访问的根位置。它可以通过如IIS或Apache Web服务器托管。此外,可以使用一种服务的像亚马逊S3主办的页面。要了解更多有关Web托管和FME Server签出此文章.
注意:如果您在现场使用FME服务器,您可以从其web服务器根目录托管web页面。尽管出于安全原因不推荐使用此方法,但在开发更安全的方法时,这是启动并运行此演示的一种简单方法。复制“www”文件夹到
5.建立一个FME Server的令牌
我们需要设置一个FME服务器令牌能够连接javascript与一个FME服务器。要创建令牌,请转到FME服务器Web用户界面,在右上角,单击您的用户名打开下拉菜单,然后选择Manage token。
在管理令牌对话框中,单击新令牌开拓参数,请输入您的用户名和密码,然后改变你的持续时间不过长,你会喜欢这个令牌是活跃的,在这个例子中,标记设置为30天。然后,您也可以选择重新使用令牌,这是一个好主意,如果你已经创建了一个令牌,并在其他地方使用它。有关FME Server的令牌的更多信息,请访问文件.复制此令牌,以便在步骤7中使用。
创建和复制一个FME服务器令牌用于实施步骤7
6.修改Javascript以指向您的存储库和工作区
打开下面的文件作为一个文本编辑器的管理员:\ WWW \ JS \ datadistribution.js确保您从文件夹中通过托管Web服务器的ROOT打开它。
根据dataDist功能,存储库工作区名和变量点更改为自己FME Server安装。
更改存储库和工作空间名以反映您的工作空间信息
7.修改Javascript以指向您的FME服务器和令牌
下一步,我们将修改dataDist.init功能参数。注释掉(由每行前加//)或删除以下3条线路,如果你想用你自己的FME Server的参数:
注释掉或删除运行我们的现场演示的JSON行,以输入您自己的参数
然后取消注释(删除//)以启用以下3行,然后修改Server和Token变量以反映您的FME服务器名称和步骤5中复制的Token。
当您第一次下载该数据时,这段代码将被注释掉,删除//使其生效。
8.保存更改
保存您对datadistribution.js所做的更改,如果在保存javascript文件时出现错误,请确保您以管理员身份打开了文本编辑器。
9.设置CORS(仅当使用您自己的web服务器托管时)
你只需要,如果你使用的是自己的Web服务(阿帕奇,IIS,S3)来承载您的演示来完成这个步骤。早在侧菜单栏上的FME Server的Web用户界面,点击歌珥.一旦你在配置跨域资源共享(CORS)页面,在加载模板右上角点击,然后点击允许所有主机。对于更高级的用户,您可以设置特定的主机。
如果你在外部服务器上托管你的网络地图,在FME服务器上设置CORS。
10.运行演示
要运行现场演示,请在web浏览器中输入以下URL并输入您的FME服务器名称:
谷歌地图背景:
http:// < yourServerHost > / www / index . html ? =谷歌地图
ESRI ArcGIS的背景:
http:// < yourServerHost > / www / index . html ? = arcgis地图
注:此URL假定您会将整个的“www”文件夹到你的Web服务,相应地更改URL如果文件夹或文件的名称已更改。
故障排除
如果你加载了演示,但没有看到你的参数,或什么都没有发生,当你创建一个多边形。再次检查您是否使用URL加载了演示,而不是仅仅打开HTML文件。如果您正确地打开了演示,右键单击页面上的任何地方,并打开Developer Tools/Inspect,然后检查控制台的任何错误消息,通常,这只是CORS没有正确设置的情况。
检查URL或Developer Console以确定参数不能工作的原因。
关于部署网站的更多信息
一个使用GitHub, AWS S3, Deploy和FME云的简单Web应用架构
数据属性
这里使用的数据来源于由温哥华的城市, 不列颠哥伦比亚省。它包含了开放政府许可协议进行许可信息 - 温哥华。
我试过在我自己的服务器(2015)上这样做,我可以得到网页加载一个地图,我可以画一个多边形,但参数框出现空,所以我不能选择主题,CRS或格式,因此它失败了。谁能帮忙吗?
嗨@baznewman07出现这种情况的原因有很多,但在大多数情况下,如果你使用web浏览器中的开发工具查看web应用程序向服务器发出的请求,你应该能够看到出现错误消息。如果这还不能帮助你缩小范围,请随时通过支持联系我们www.亚搏在线safe.com/supportrequest我们可以帮你仔细看看这个。
劳拉,我现在有它的工作,我甚至设法使用我自己的地图服务,而不是谷歌或esri。我想问你的问题是,我能把它用在数据流服务上吗?例如,当我点击请求时,我可以得到数据绘制在屏幕上的地图,而不是放在下载链接?如果我能的话,会很有用的。
你好,
我让这个例子与我自己的数据一起工作,并且工作得非常好。今天谷歌的背景地图不再出现,但ESRI选项仍然显示。你的演示站点似乎没有同样的问题。你知道我是否需要更新HTML代码中的链接https://maps.googleapis.com在某种程度上,如果我打开开发工具的所有错误涉及googleapis,我没有改变任何东西它停止工作,所以我不知道这个问题的根源做。一切还在工作,我可以下载数据我不能看到背景地图!
谢谢你!
你好,
你还在纠结这个吗?我的建议是尝试使用谷歌网站的一个例子,看看它是否对你有效,然后比较在那里发生的事情,在显示错误的页面上发生的事情,这可能有助于缩小问题的原因:https://developers.google.com/maps/documentation/javascript/examples/map-simple
嗨@yakker。我会试着帮你联系一位同事。如果我理解正确的话,您下载了这个演示程序的源文件,并完成了配置它以在您自己的FME服务器安装中运行的步骤。然而,问题是你没有一个内部网络服务器?
嗨@yakker那
你将需要一个web服务器能够运行这个html文件,因为它不会正常运行,如果你直接打开html文件。如果你只是需要一些东西来测试这个,我找到了一个很好的快速和简单的方法来让内部web服务器暂时运行,就是使用Python。以下是一些相关信息:https://docs.python.org/2/library/simplehttpserver.html
我通常只是运行命令
蟒蛇-m SimpleHTTPServer 8000
从HTML页面所在目录的命令行。然后可以在web浏览器中使用http:\\localhost:8000进行测试。
©2019安全亚搏在线软件公司|法律