Retrieve the embedded coordinate given a node ID.
Retrieve the embedded coordinate given a node ID.
Embedded coordinate
Query the embedded distance given two node IDs.
Query the embedded distance given two node IDs.
ID of the source node
ID of the destination node
Estimated distance between source and destination
Java API for embed.
Java API for embed.
If you would like to use random selection of primary landmarks, set "primaries" to null.
All work done will be forwarded to the Scala version of embed. This method simply converts data structures to the Scala equivalent before passing it along.
A set of landmark IDs
Contains IDs of primary landmarks to embed - pass null for default
Embeds a set of distances into the coordinate system.
Embeds a set of distances into the coordinate system.
Embeds a set of distances into the coordinate system - all work is forwarded to embedLandmarks and embedNonLandmark.
DistanceStore implementation containing distance values to embed
A set of landmark IDs
Optional parameter denoting primary landmarks to embed first
Java API for embedLandmarks.
Java API for embedLandmarks.
If you would like to use random selection of primary landmarks, set "primaries" to null.
All work done will be forwarded to the Scala version of embedLandmarks. This method simply converts data structures to the Scala equivalent before passing it along.
A set of landmark IDs
Contains IDs of primary landmarks to embed - pass null for default
DistanceStore implementation containing distance values to embed
Embed the landmarks into the coordinate system.
Embed the landmarks into the coordinate system.
Embed both primary and non-primary landmarks into the coordinate system. This function should only be called once per instantiation, enforced by the LANDMARKS_EMBEDDED flag.
Primary landmarks by default are chosen randomly. The number of such primary landmarks is set by default at 16. This value can be overridden in application.conf via gcs.embed.primary-landmarks.
If the primaries parameter is passed in, it will override the configuration files.
A set of landmark IDs
Optional parameter denoting primary landmarks to embed first
DistanceStore implementation containing distance values to embed
Embeds non-landmark into the coordinate system.
Embeds non-landmark into the coordinate system.
Embeds a non-landmark into the coordinate system by randomly selecting X amount of "neighbor" landmarks to align against. By default X is set to 16. This can be overridden via config with gcs.embed.neighbors.
ID of the node to embed
DistanceStore implementation containing distance values to embed
coordinates of the embedded non-landmark
Loads a set of coordinates from a given file.
Loads a set of coordinates from a given file.
File should be formatted such that each row represents the embedding of a single node. The format for each row should look like (using the Array[Double] view):
[L/N if (non-)landmark] [Node ID] [Coordinate 1] ... [Coordinate N]
Path of the file containing the formatted coordinates.
Query the embedded distance given two node IDs.
Query the embedded distance given two node IDs.
ID of the source node
ID of the destination node
Estimated distance between source and destination
Saves the sand landmark and node embeddings of the coordinate system.
Saves the sand landmark and node embeddings of the coordinate system.
File saved will be formatted as (using the Array[Double] view):
[L/N if (non-)landmark] [Node ID] [Coordinate 1] ... [Coordinate N]
Path of the file to save the coordinates into.
Graph Coordinate System "Cake layer" to be instantiated into a concrete instance
This layer requires a sand.gcs.optimize.NonLinearOptimizer to be layered on top of it that will be used to optimize the distances between landmarks. For the sand.gcs.system.Orion and sand.gcs.system.Rigel systems, this will be sand.gcs.optimize.NelderMead. The type parameter passed into sand.gcs.optimize.NonLinearOptimizer must match the one passed into this trait.
The type parameter passed into the trait will need to have a typeclass implementation of sand.gcs.coordinate.DistanceComputable in scope upon instantiation.
A type that can be used as a coordinate via sand.gcs.coordinate.DistanceComputable