[英]Filtering Vertices by Edge-Attribut in ArangoDB
我是ArangoDB的新手,請嘗試做一個時空數據庫。 對於頂點“ Parz1”,我連接了兩個GeoJSON。 我的目標是過濾幾何頂點,其邊緣中的鍵“ Ende”的值為“ 9999”。 在文檔中找不到有關如何通過邊的值過濾頂點的信息。 謝謝您的幫助!
第一個頂點:
Document: Parzelle/Parz1
_rev:83054176547
_key:Parz1
{
"Nummer": "1",
"Gmd": "Muttenz"
}
幾何頂點:
Document: Geometrie/Geom1
_rev:83050703139
_key:Geom1
{
"type": "Polygon",
"coordinates": [
[
[
600000,
200000
],
[
600000,
200002
],
[
600002,
200002
],
[
600002,
200000
],
[
600000,
200000
]
]
]
}
Document: Geometrie/Geom4
_rev:83051424035
_key:Geom4
{
"type": "Polygon",
"coordinates": [
[
[
600000,
200000
],
[
599998,
200000
],
[
600000,
200002
],
[
600002,
200002
],
[
600002,
200000
],
[
600000,
200000
]
]
]
}
和邊緣:
Edge: hatGeom/37050525987
_rev:83056470307
_key:37050525987
_from:Parzelle/Parz1
_to:Geometrie/Geom1
{
"Start": "1950",
"Ende": "2010"
}
Edge: hatGeom/37067237667
_rev:83056797987
_key:37067237667
_from:Parzelle/Parz1
_to:Geometrie/Geom4
{
"Start": "2011",
"Ende": "9999"
}
使用ArangoDB 2.8,我們提供了一個新的遍歷和模式匹配api ; 然后,您可以有效地按邊和頂點過濾:
FOR v, e, p IN
1..3 OUTBOUND 'vertexCollection/startVertex'
GRAPH 'geometryGraph'
FILTER p.edges[1].start > 1950 RETURN v
您甚至可能希望使用Geo索引來查找圖形遍歷的開始匹配項:
FOR startVertex IN WITHIN(vertexCollection, @latitude, @longitude, @limit)
FOR v, e, p IN
1..3 OUTBOUND startVertex
GRAPH 'geometryGraph'
FILTER p.edges[1].start > 1950 RETURN v
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.