Supported in: Batch
Inner joins left and right datasets together based on the distance between point geometries. The geometries must represent points, and may optionally include a z-coordinate. Internally converts geometries into the given projected coordinate reference system prior to the join and back to WGS84. Non-point geometries are ignored, and the entire right dataset must be able to fit into driver and executor memory. A 3 gb executor should be able to handle up to 4 million points in the neighbors dataset.
Transform categories: Geospatial, Join
Argument values:
geometryColLhs, geometryCol)Inputs:
ri.foundry.main.dataset.left
| geometryColLhs | lhs-1 |
|---|---|
| {"coordinates": [0.0, 0.0, 0.0], "type":"Point"} | 42.0 |
| {"coordinates": [0.0, 0.0, 5.0], "type":"Point"} | 43.0 |
| {"coordinates": [0.0, 0.0], "type":"Point"} | 44.0 |
ri.foundry.main.dataset.right
| geometryCol | col1 | arrayCol |
|---|---|---|
| {"coordinates": [0.0, 0.0, 2.0], "type":"Point"} | rhsVal1 | [ 0.0, 1.0 ] |
| {"coordinates": [0.0, 1.0], "type":"Point"} | rhsVal2 | [ 0.0, 1.0 ] |
Output:
| geometryColLhs | lhs-1 | rhs_geometryCol | rhs_arrayCol |
|---|---|---|---|
| {"coordinates": [0.0, 0.0, 0.0], "type":"Point"} | 42.0 | {"coordinates": [0.0, 0.0, 2.0], "type":"Point"} | [ 0.0, 1.0 ] |
| {"coordinates": [0.0, 0.0, 0.0], "type":"Point"} | 42.0 | {"coordinates": [0.0, 1.0], "type":"Point"} | [ 0.0, 1.0 ] |
| {"coordinates": [0.0, 0.0, 5.0], "type":"Point"} | 43.0 | {"coordinates": [0.0, 0.0, 2.0], "type":"Point"} | [ 0.0, 1.0 ] |
| {"coordinates": [0.0, 0.0, 5.0], "type":"Point"} | 43.0 | {"coordinates": [0.0, 1.0], "type":"Point"} | [ 0.0, 1.0 ] |
| {"coordinates": [0.0, 0.0], "type":"Point"} | 44.0 | {"coordinates": [0.0, 0.0, 2.0], "type":"Point"} | [ 0.0, 1.0 ] |
| {"coordinates": [0.0, 0.0], "type":"Point"} | 44.0 | {"coordinates": [0.0, 1.0], "type":"Point"} | [ 0.0, 1.0 ] |
Argument values:
geometryColLhs, geometryCol)Inputs:
ri.foundry.main.dataset.left
| geometryColLhs | lhs-1 |
|---|---|
| {"coordinates": [0.0, 0.0, 0.0], "type":"Point"} | 42.0 |
| {"coordinates": [0.0, 0.0, 5.0], "type":"Point"} | 43.0 |
| {"coordinates": [0.0, 5.0], "type":"Point"} | 44.0 |
ri.foundry.main.dataset.right
| geometryCol | col1 | arrayCol |
|---|---|---|
| {"coordinates": [0.0, 0.0, 2.0], "type":"Point"} | rhsVal1 | [ 0.0, 1.0 ] |
| {"coordinates": [1.0, 1.0, 6.0], "type":"Point"} | rhsVal2 | [ 0.0, 1.0 ] |
| {"coordinates": [0.0, 0.0, 3.0], "type":"Point"} | rhsVal3 | [ 0.0, 1.0 ] |
| {"coordinates": [0.0, 0.0], "type":"Point"} | rhsVal4 | [ 0.0, 1.0 ] |
Output:
| geometryColLhs | lhs-1 | rhs_geometryCol | rhs_arrayCol |
|---|---|---|---|
| {"coordinates": [0.0, 0.0, 0.0], "type":"Point"} | 42.0 | {"coordinates": [0.0, 0.0, 2.0], "type":"Point"} | [ 0.0, 1.0 ] |
| {"coordinates": [0.0, 0.0, 5.0], "type":"Point"} | 43.0 | {"coordinates": [0.0, 0.0, 3.0], "type":"Point"} | [ 0.0, 1.0 ] |
| {"coordinates": [0.0, 0.0, 5.0], "type":"Point"} | 43.0 | {"coordinates": [1.0, 1.0, 6.0], "type":"Point"} | [ 0.0, 1.0 ] |
Argument values:
geometryColLhs, geometryColRhs)Inputs:
ri.foundry.main.dataset.left
| geometryColLhs | lhs-1 |
|---|---|
| {"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"} | 42.0 |
| null | 43.0 |
ri.foundry.main.dataset.right
| geometryColRhs | rhs-1 |
|---|---|
| {"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"} | rhsVal1 |
| {"coordinates": [-112.11796760559083,33.440895931474124], "type":"Point"} | rhsVal2 |
Output:
| geometryColLhs | lhs-1 | geometryColRhs | rhs-1 |
|---|---|---|---|
| {"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"} | 42.0 | {"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"} | rhsVal1 |
Argument values:
geometryColLhs, geometryCol)Inputs:
ri.foundry.main.dataset.left
| geometryColLhs | lhs-1 |
|---|---|
| {"coordinates": [15.0, 5.0], "type":"Point"} | 42.0 |
| {"coordinates": [55.0, 5.0], "type":"Point"} | 43.0 |
ri.foundry.main.dataset.right
| geometryCol | col1 | arrayCol |
|---|---|---|
| {"coordinates": [15.0, 5.0], "type":"Point"} | rhsVal1 | [ 0.0, 1.0 ] |
Output:
| geometryColLhs | lhs-1 |
|---|---|
| {"coordinates": [15.0, 5.0], "type":"Point"} | 42.0 |
Argument values:
geometryColLhs, geometryCol)Inputs:
ri.foundry.main.dataset.left
| geometryColLhs | lhs-1 |
|---|---|
| {"coordinates": [15.0, 5.0], "type":"Point"} | 42.0 |
| {"coordinates": [55.0, 5.0], "type":"Point"} | 43.0 |
ri.foundry.main.dataset.right
| geometryCol | col1 | arrayCol |
|---|---|---|
| {"coordinates": [55.0, 5.0], "type":"Point"} | rhsVal1 | [ 0.0, 1.0 ] |
Output:
| rhs_geometryCol | rhs_arrayCol |
|---|---|
| {"coordinates": [55.0, 5.0], "type":"Point"} | [ 0.0, 1.0 ] |
Argument values:
geometryColLhs, geometryCol)Inputs:
ri.foundry.main.dataset.left
| geometryColLhs | lhs-1 |
|---|---|
| {"coordinates": [15.0, 5.0], "type":"Point"} | 42.0 |
| {"coordinates": [55.0, 5.0], "type":"Point"} | 43.0 |
| {"coordinates": [[[20.0, 10.0], [27.0, 10.0], [27.0, 17.0], [20.0, 17.0], [20.0, 10.0]]], "type": "Polygon"} | 44.0 |
| null | 45.0 |
ri.foundry.main.dataset.right
| geometryCol | col1 | arrayCol |
|---|---|---|
| {"coordinates": [15.0, 5.0], "type":"Point"} | rhsVal1 | [ 0.0, 1.0 ] |
| {"coordinates": [[[21.0, 21.0], [27.0, 21.0], [27.0, 27.0], [21.0, 27.0], [21.0, 21.0]]], "type": "Polygon"} | rhsVal2 | [ 0.0, 1.0 ] |
| {"coordinates": [[[20.0, 10.0], [27.0, 10.0], [27.0, 17.0], [20.0, 17.0], [20.0, 10.0]]], "type": "Polygon"} | rhsVal3 | [ 0.0, 1.0 ] |
| null | rhsVal4 | [ 0.0, 1.0 ] |
Output:
| geometryColLhs | lhs-1 | rhs_geometryCol | rhs_col1 | rhs_arrayCol |
|---|---|---|---|---|
| {"coordinates": [15.0, 5.0], "type":"Point"} | 42.0 | {"coordinates": [15.0, 5.0], "type":"Point"} | rhsVal1 | [ 0.0, 1.0 ] |