Mapreduce 在2个doc和x27之间发出链接;用CouchDB&x2B;地质沙发
我有一个CouchDB,其中每个文档代表地图上的一个点。此外,每个文档都有一个ID列表,每个ID代表地图上链接的目标。我想知道是否有可能创建一个GeoCoach空间索引,其中键是链接的GeoJSON表示(例如,LineString)。下面我举一个例子 假设我有以下两个文档:Mapreduce 在2个doc和x27之间发出链接;用CouchDB&x2B;地质沙发,mapreduce,couchdb,geocoding,geojson,Mapreduce,Couchdb,Geocoding,Geojson,我有一个CouchDB,其中每个文档代表地图上的一个点。此外,每个文档都有一个ID列表,每个ID代表地图上链接的目标。我想知道是否有可能创建一个GeoCoach空间索引,其中键是链接的GeoJSON表示(例如,LineString)。下面我举一个例子 假设我有以下两个文档: { _id: "doc1", latlng: [52.52, 13.13], // geoposition of doc1 links: ["doc2", "doc3"] // links to
{
_id: "doc1",
latlng: [52.52, 13.13], // geoposition of doc1
links: ["doc2", "doc3"] // links to doc2 and doc3
}
及
我想要的是一个空间索引,在这里我可以查询给定边界框中的所有链接。但是,在为doc1运行的CouchDB/Geocooch map函数中,我无法访问doc2的地理位置
在上述情况下,有人看到了实现链接空间索引的其他方法吗?在Apache CouchDB中,您可以发出链接,使用
include_docs=true查询它,并使用_list函数将其转换为您想要的任何内容
遗憾的是,Geoccoach不支持include\u docs
参数,因此它在那里不起作用。对于Geocooch,您需要提出两个请求。首先获取链接,然后使用键=[id]
获取所有文档。您可以选择对视图执行第二个请求,并使用_list函数从中获取GeoJSON。Thx@vmx,目前我完全按照您的建议执行。我提交了两个请求:一个是通过Geocooch索引获取边界框中具有相应链接ID的所有节点。第二个请求是一个普通的多获取请求,其中包含来自链接数组的所有ID。因此,如果这个解决方案是我能用Geocooch实现的最好的解决方案,我很满意。:)
{
_id: "doc2",
latlng: [53.53, 14.14], // geoposition of doc2
links: ["doc1"] // link to doc1
}