nodestream icon indicating copy to clipboard operation
nodestream copied to clipboard

[REQUEST] Introduce Coordinate Types

Open zprobst opened this issue 1 year ago • 0 comments

Is your feature request related to a problem? Please describe.

Graph Databases are often paired with GeoSpacial data. It would be nice to support the creation of and storage of coordinate types in the native form for the graph database in question. This requires some design because right now we do not give an opportunity for the database connector to be part of the property creation phase. How does that work? Do they? Do we just create the coordinate and give the connector the space to map that to the database however they think is best?

We will also have to add a coordinate schema type(s).

Describe the solution you'd like I think it would be ideal if nodestream exposed a !coordinate Value Provider that worked like this:

# x, y (z) coordinates 

- type: properties
   properties:
       coordinates: !coordinate 
          x: !jmespath location.coordinate.x
          y: !jmespath location.coordinate.y
          z: !jmespath location.coordinate.z
# lat, long, h coordinates (WGS84)

- type: properties
   properties:
       coordinates: !coordinate 
          latitude: !jmespath location.coordinate.lat
          longitude: !jmespath location.coordinate.long
          height: !jmespath location.coordinate.height
# geojson encoding https://geojson.org/

- type: properties
   properties:
       coordinates: !coordinate 
          geojson: !jmespath location.coordinate

Describe alternatives you've considered The best you have the option to do now is map three properties for x,y,z which limits what can be done natively in the graph.

zprobst avatar Jan 03 '24 15:01 zprobst