1

I am using GRASS GIS 7.6 on a CentOS server with 157 GB of RAM. The vector categories of the network layer that I need to run the Steiner tree algorithm on are as follows:

Layer/table: 1/network
type       count        min        max
point          0          0          0
line      364591          1     364591
boundary       0          0          0
centroid       0          0          0
area           0          0          0
face           0          0          0
kernel         0          0          0
all       364591          1     364591
Layer: 2
type       count        min        max
point       2174          1       2176
line           0          0          0
boundary       0          0          0
centroid       0          0          0
area           0          0          0
face           0          0          0
kernel         0          0          0
all         2174          1       2176

However even the 157 GB of RAM isn't sufficient and the process gets killed as follows:

GRASS 7.6.0 (srilanka):/home/asel/tmp/rds > v.net.steiner network arc_layer=1 node_layer=2 terminal_cats=0-2176 out=mysteinerSL
Number of terminals: 2172
Number of Steiner points set to 2170
Killed

I understand that this is due to the fact that the Steiner tree algorithm, at least at present, isn't very memory efficient. So I was wondering if I were to divide my network into segments and run v.net.steiner on each of them individually if I'd still get the desired output.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.