Changes for page kg-spatial-search
Last modified by oschmid on 2023/08/22 11:23
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -29,9 +29,9 @@ 29 29 Simply use the API endpoint at [[https:~~/~~/spatial.kg.ebrains.eu/api/>>https://spatial.kg.ebrains.eu/api/]] by running queries according to the following examples: 30 30 31 31 32 -=== =Get started: Query by a "bounding box" (hyperrectangle) ====32 +=== Get started: Query by a "bounding box" (hyperrectangle) === 33 33 34 -{{code}} 34 +{{code language="bash" layout="LINENUMBERS"}} 35 35 curl -X 'POST' \ 36 36 'https://spatial.kg.ebrains.eu/spatial-search/cores/ebrains/spatial_objects' \ 37 37 -H 'accept: application/json' \ ... ... @@ -44,11 +44,11 @@ 44 44 As you can see, you're sending a POST request to the endpoint at **https:~/~/spatial.kg.ebrains.eu/spatial-search/cores/ebrains/spatial_objects **with a payload defining a geometry of interest. In this case, we're looking for all objects that are **inside **a **hyperrectangle **defined by its lowest and highest point in the coordinate system of the coordinate space **AMB-CCF_v3-RAS**. This query will return you an array of ids of the objects located within the geometry which you then can use to conveniently query the KG either through the [[Instance API>>https://core.kg.ebrains.eu/swagger-ui/index.html#/2%20Advanced/getInstancesByIds]] or the [[Query API>>https://core.kg.ebrains.eu/swagger-ui/index.html#/1%20Basic/runDynamicQuery]] to access detailed meta information. 45 45 46 46 47 -=== =Query by hypersphere ====47 +=== Query by hypersphere === 48 48 49 49 Alongside the possibility to use hyperrectangles for querying the spatial search, you can also use hyperspheres: 50 50 51 -{{code}} 51 +{{code language="javascript" layout="LINENUMBERS"}} 52 52 { 53 53 "filters": "inside(hypersphere{[50.0,146.0,227.0], 2, \"AMB-CCF_v3-RAS\"})" 54 54 } ... ... @@ -58,20 +58,13 @@ 58 58 59 59 60 60 61 -=== =Advanced use: Union geometries for complex queries ====61 +=== Advanced use: Union geometries for complex queries === 62 62 63 63 To build arbitrarily complex geometries, it is possible to combine hyperrectangles and hyperspheres via (nested) unions: 64 64 65 -{{code}} 65 +{{code language="javascript" layout="LINENUMBERS"}} 66 66 { 67 - "filters": " 68 - union( 69 - union( 70 - inside(hyperrectangle{[50.0,146.0,227.0], [51.0, 149.0, 228.0], \"AMB-CCF_v3-RAS\"}), 71 - inside(hyperrectangle{[120.0,146.0,227.0], [150.0, 180.0, 300.0], \"AMB-CCF_v3-RAS\"}) 72 - ), 73 - inside(hypersphere{[50.0,146.0,227.0], 2, \"AMB-CCF_v3-RAS\"}) 74 - )" 67 + "filters": "union(union(inside(hyperrectangle{[50.0,146.0,227.0], [51.0, 149.0, 228.0], \"AMB-CCF_v3-RAS\"}), inside(hyperrectangle{[120.0,146.0,227.0], [150.0, 180.0, 300.0], \"AMB-CCF_v3-RAS\"})),inside(hypersphere{[50.0,146.0,227.0], 2, \"AMB-CCF_v3-RAS\"}))" 75 75 } 76 76 {{/code}} 77 77