span8
span4
在PostGIS中,每当一个特性(行)在表中被更改时,Node.js都会接收关于该特性的信息。在javascript文件中,当Node.js从PostGIS接收到一个特性时,它使用请求模块向FME服务器发出GET请求,请求一个令牌。使用返回的令牌,Node.js能够向FME服务器发出POST请求,将有关创建、删除或修改功能的信息发送到主题。
var pg = require ('pg');var请求= require('request');var pgConString = "postgres://username:password@server:port/database";pg.connect(pgConString, function(err, client) {if(err) {console.log(err);}客户端。on('notification', function(msg) { db_body = JSON.parse(msg.payload);request.get (http://FMEserver/fmetoken/generate?user=username&password=password&update=false' , {json:true}, function (error, response, body) { console.log(response.body);令牌= response.body;主题URL = ' http://FMEserver/fmerest/v3/notifications/topics/SAMPLE_TOPIC/message?fmetoken=' +令牌控制台。log("topic url body is " + topicURL);请求。post(topicURL , {body:db_body, json:true}, function (error, response, body) { if(response.statusCode == 201){ } else { console.log(db_body);控制台。log('Status Code: '+ response.statusCode);}});});});var查询= client。query("LISTEN watchers2");/ / PostGIS通道});
有关需求的更多信息,请参见教程的开始页面。
在FME服务器中,创建一个可以接收关于数据库表更改通知的主题。
修改postgis2topic.js文件以满足您的数据库需求。
在命令提示窗口中,导航到节点可执行文件所在的文件夹。在命令窗口中键入:node
如果什么都没发生,那很好。代码中的任何错误都会在这里报告。
在FME服务器中,导航到主题监视选项卡并开始监视主题。
现在您需要编辑被监视表中的数据。您可以使用FME或GIS包来实现这一点。当数据被保存或写入数据库时,您应该会看到主题消息出现在FME服务器Web UI中。
当在PostGIS中编辑一个特性时,您应该会看到主题消息。
你可以观看视频演示在这里.
©2020安全亚搏在线软件公司|法律