Produces two tables (nodes and edges) from the geometries contained in column
columnName of table inputTable. If no column is specified, then the first
Geometry column is used. Returns true if the operation is successful.

Variable

Default value

columnName

The first geometry column found

tolerance

0.0

orientBySlope

false

If deleteTables is equal to 1, existing tables (with the same prefix inputTable) are removed.

The column must only contain LINESTRINGs.

Otherwise, the operation will fail and ST_Graph will return
false.

The inputTable must contain a Primary Key.

Otherwise, the operation will fail.

If the input table is named input, then the output tables
will be named input_nodes and input_edges

The input_nodes table contains:

an integer id node_id

a POINT Geometry representing each node

The input_edges table is a copy of the input table with three
extra integer id columns:

edge_id

start_node

end_node

The last two columns correspond to the node_ids in the
input_nodes table.

Correct data inaccuracies automatically.

When the endpoints of certain LINESTRINGs are very close together, we
often wish to snap them together. The tolerance value allows us to do that.
It specifies the side length of a square Envelope around each node used to
snap together other nodes within the same Envelope. Note:

Edge geometries are left untouched.

Coordinates within a given tolerance of each other are not
necessarily snapped together. Only the first and last coordinates of a
Geometry are considered to be nodes, and only nodes within a given
tolerance of each other are snapped together.

The tolerance works only in metric units.

Hydrologists, watch out!

By setting orientBySlope to true, you can
specify that edges should be oriented from the endpoint with greatest
z-value to the endpoint with least z-value.