Articles of postgis

用于Postgers空间索引的Nodejs ORM(如PostGIS)

Postgres是使用PostGIS或其他要素的空间索引良好性(top-k-nearest-points)的首选数据库。 看起来像Node.js ORMs不直接支持空间索引,那么哪一个需要最less量的黑客攻击呢? Sequelize和node-orm-2似乎需要一些黑客来使其工作。 有什么build议么?

Geojson to node.js中的Topojson

我有一个形状文件在我的postGIS数据库。我已经通过使用下面的代码检索到node.js中的geojson。 var moisql = 'SELECT *, (ST_AsGeoJSON(geom)) from xxx;' 工作正常..但我的要求是我必须将这个geojson文件转换为“ TOPOJSON ”。 所以我有这个代码: topojsonOutput = topojson.topology({'collection': geojsonString}); 但仍然我检索geojson文件作为输出。请指导我做到这一点..预先感谢。 另外当我GOOGLE了我得到这个代码: var collection = {type: "FeatureCollection", features: […]}; // GeoJSON var topology = topojson.topology({collection: collection}); // convert to TopoJSON console.log(topology.objects.collection); // inspect TopoJSON 但完全我不明白这个..我必须给予什么,以取代function[..]和collections..

通过nodejs和websockets保存从openlayers到postgis的function

我正在尝试通过websockets将创build在vector图层(openlayers)上的特性保存到postgreSQL 9.1 / postGIS 2.0中。 我正在使用websockets,因为我正在插入表单数据,以及几何。 我的服务器是NodeJS 0.10.12和pg模块。 我正在尝试将一个要素的几何体转换为一个string,将其从字母和括号中除去,并只将数字发送给服务器。 我在服务器端获得有关几何的语法错误。 尽pipe尝试了很多东西和不同的语法,我仍然无法解决这个问题。 客户端(片段) //create websockets var so = new WebSocket("ws://localhost:8000"); //error report for websockets so.onerror=function (evt) {saveMSG.textContent = evt;} //open websockets so.onopen = function(){ //get geometry var jak=map.layers[2].features[0].geometry; //make it a string var as=new String(jak); //keep the numbers var hul=as.substring(11,as.length-1); //make it WKT var god=hul.toString(); //send […]

在同一应用程序中使用多个数据库

我目前在node.js开发一个应用程序。 我有一个Postgres / PostGIS数据库来存储地理空间信息,并将其呈现为SVG。 迄今为止工作正常。 另一方面,我有一个CouchDB数据库充满了以前项目的数据。 我想将这些数据与来自postgis的地理空间数据通过node.js结合起来,但是我不知道如何处理数据库的结构。 在一个应用程序中使用两种不同的数据库types(甚至范例)是一个好主意吗? 或者是将数据从一个数据库转换到另一个数据库更好? 顺便说一句:这纯粹是一个爱好项目。

如何在Sequelize ORM中插入PostGIS几何点?

我想在Sequelize.js ORM中有一个几何列的表中插入一行。 我有纬度,经度和高度,需要先将它转换为一个点,然后才能将其作为几何体插入。 执行转换的PostGIS存储过程是 ST_MakePoint( longitude, latitude, altitude ) 插入一行我正在使用sequelize model.create函数 models.Data.create({ location: "ST_MakePoint("+request.params.lon+", "+request.params.lat+", "+request.params.alt+")", // PSUEDO code, How can I call this function? speed: request.params.spd, azimuth: request.params.azi, accuracy: request.params.acc }); 现在我想要做的是当我插入字段location返回"ST_MakePoint("+request.params.lon+", "+request.params.lat+", "+request.params.alt+")"该行。 我怎样才能做到这一点?