1

我有一个 CouchDB,其中每个文档都代表地图上的一个点。此外,每个文档都有一个 id 列表,每个 id 代表地图上链接的目标。我想知道是否可以创建一个 GeoCouch 空间索引,其中键是链接的 GeoJSON 表示(例如 LineStrings)。我在下面举一个例子。

假设我有这两个文件:

{
  _id: "doc1",
  latlng: [52.52, 13.13],     // geoposition of doc1
  links: ["doc2", "doc3"]     // links to doc2 and doc3
}

{
  _id: "doc2",
  latlng: [53.53, 14.14],     // geoposition of doc2
  links: ["doc1"]             // link to doc1
}

我想要的是一个空间索引,我可以在其中查询给定边界框中的所有链接。但是,在为 doc1 运行的 CouchDB/GeoCouch 地图功能中,我无权访问 doc2 的地理位置。

在上述情况下,有没有人看到另一种实现链接空间索引的方法?

4

1 回答 1

0

在 Apache CouchDB 中,您可以将链接发送_id,使用 _list 函数对其进行查询include_docs=true并使用 _list 函数将其转换为您想要的任何内容。

可悲的是 GeoCouch 不支持该include_docs参数,因此它不会在那里工作。对于 GeoCouch,您需要提出两个请求。首先获取链接,然后使用keys=[the-ids]. 您可以选择对 View 执行第二个请求,并使用 _list 函数从中获取 GeoJSON。

于 2013-04-28T19:50:12.953 回答