Articles of 地理空间

使用MapReduce来处理Cloudant中的地理空间索引结果

我在Cloudant中使用地理空间索引来检索多边形内的所有文档。 现在我想为这些文件计算一些基本的静态值(例如,一个地区的平均年龄和收入总和)。 是否有可能查询地理索引,然后将结果传递给MapReduce函数? 我怎么能实现这一点,最好在数据库内? 我可以避免查询多边形中的文档ID,然后发送执行MapReduce(我正在处理大型数据集)的检索ID? 到目前为止工作的是查询索引以及使用视图(单独)。 我的地理索引 function (doc) { if (doc.geometry && doc.geometry.coordinates) { st_index(doc.geometry); } } 我的看法 function (doc) { var beitrag = doc.properties.beitrag; var schadenaufwand = doc.schadenaufwand; if(beitrag !== null && typeof beitrag === 'number' ) { emit(doc._id, doc.properties.beitrag); } } 示例geoJson文档(原始数据看起来相似) { "_id": "01bff77f642fc4249e787d2ded011504", "_rev": "1-25a9a1a15939d5b21af3fbcc5c2d6ed1", "type": "Feature", "geometry": { "type": […]

MongoDB地理空间索引,如何与数组元素一起使用?

我想让凯文酒吧点附近的特定位置。 这里是userSpots集合: { user:'Kevin', spots:[ { name:'a', type:'pub', location:[x,y] }, { name:'b', type:'gym', location:[v,w] } ] }, { user:'Layla', spots:[ … ] } 这是我试过的: db.userSpots.findOne( { user: 'Kevin', spots: { $elemMatch: { location:{ $nearSphere: [lng,lat], $maxDistance: d}, type: 'pub' } } }, }, function(err){…} ) 我收到一个奇怪的错误。 Mongo告诉我没有索引:2d在位置字段。 但是,当我检查与db.userSpots.getIndexes(),2d索引在那里。 为什么不mongodb看到索引? 有什么我做错了吗? MongoError: can't find special index: […]

节点,js – Mongoose – 无法保存地理多边形 – CastError:强制转换为编号失败

我正在尝试将地理点和地理多边形保存到Mongo。 我的testing通过点,但失败的多边形: CastError:在path“坐标”处投射数值失败,值为“0,0,3,0,3,3,0,3,0,0” 我的模式如下: var GeoSchema = new Schema({ name: String , coordinates: [Number] }); GeoSchema.index({ coordinates: '2dsphere' }); 我成功保存的testing点对象: geoPoint = new Geo({ coordinates: [2,2], type: 'Point' }); 我的testing多边形对象不能保存: geoPolygon = new Geo({ type: 'Polygon', coordinates: [[ [0,0], [3,0], [3,3], [0,3], [0,0] ]] }); 我曾尝试更改为“坐标”的typesdef到一个对象和一个数组,但然后都无法保存。 任何人都可以build议吗? *更新* 我现在可以使用以下方法传递testing: 模式: var GeoSchema = new Schema({ […]

AWS – 在DynamoDB表中放置一个GeoPoing并对其进行查询 – node.js

Amazon现在支持 DynamoDB中的地理空间索引 ,但似乎没有太多关于如何使用node.js SDK来做到这一点的文档。 我试图了解如何: 将GeoPoint(geohash)值放入DynamoDB表中的项目中 和 如何查询半径范围内所有项目的表格(lat,lng) 我看过这篇文章,但不知道它是如何应用在node.js中,找不到任何示例

用于地理空间操作的Node.js库

我正在开发一个应用程序,我有像这样的地理空间多边形: var polygon = [{"lat": -19.939323, "lng": -43.928983}, {"lat": -19.939747, "lng": -43.933103}, {"lat": -19.947291, "lng": -43.93497}, {"lat": -19.948138, "lng": -43.931451}, {"lat": -19.943882, "lng": -43.930292}] 我会收到一个坐标来说明是否在多边形内。 我在Google Maps JavaScript API的几何库中发现了一个完全相同的function: containsLocation(point:LatLng,polygon:Polygon) 但是,这必须是服务器端,使用node.js,有没有办法使用node.js这个function,或者更好的是,有一个很好的图书馆是谁呢?

在mongoose中创build和查找地理位置

我试图在我的用户模型中保存位置的经度/纬度,并用$geoNear查询它。 我已经查看了几乎所有可以find该主题的页面,但是我仍然不确定如何1)适当地创build模型以及如何查询它。 这是我的模型的一部分: loc: { //type: 'Point', // see 1 //type: String, // see 2 coordinates: [Number], index: '2dsphere' // see 3 }, @ 1:根据文档的types必须是'点',如果我想存储一个点,但它会抛出 TypeError: Undefined type `Point` at `loc` Did you try nesting Schemas? You can only nest using refs or arrays. 这是有道理的,因为我猜它应该是一个String @ 2:这不会立即抛出一个错误,但是当我尝试存储一个用户时,我得到: name: 'ValidationError', errors: { loc: { [CastError: Cast […]

Mongo DB – 具有位置和场半径的地理空间查询(内部字段比较)

在我的项目中有两个要求 第一个 :我有下面的集合 { "name": "James", "loc" : [ 12.9000, 14.6733] }, { "name": "James", "loc" : [ 54.9000, 78.6733] } 为此,我必须find与我的位置相匹配的所有位置,以便使用此查询: var myLoc = [ 13.5, 67.5 ]; var myRadius = 150; model.find({ loc : { $geoWithin : { $centerSphere : [ myLoc, myRadius ] } } } ).exec() 上述查询工作正常。 第二个 :我有下面这个集合,我面临问题。 { "name" […]