# [GRASS-user] v.net.centrality closeness

Markus Metz markus.metz.giswork at gmail.com
Fri Sep 12 09:02:08 PDT 2014

```On Thu, Sep 11, 2014 at 3:44 PM, Moritz Lennert
<mlennert at club.worldonline.be> wrote:
> On 10/09/14 16:31, Will Fields wrote:
>>
>> I'm using v.net.centrality to do some calculations, and I had a question
>> about how closeness centrality is calculated by the module:
>> Is the value for closeness centrality actually "farness" (the sum of the
>> distance from a site in a network to all other sites in the network)?
>> v.net.centrality is returning large values for closeness in a data
>> set rather than a decimal between 0 and 1.  I tried to look through the
>> C code for the module, but I wasn't able to make sense of it.
>
>
> I think you are right. In its current form, it seems to be more of a measure
> of "farness".
>
> By inverting the "closeness" variable with a simple
>
> 1 / closeness
>
> I get a result that seems more adequate.
>
> But I also don't really understand the calculations in the code. Notably, if
> farness of a node is (according to the Wikipedia article referenced in the
> man page) "the sum of its distances to all other nodes", shouldn't it be the
> sum of the distances of the node to all other nodes, i.e. you should be able
> to calculate farness using v.net.allpair and then summing the distances by
> from_node ?
>
> When I use v.net.centrality on a network combining streets_wake and
> schools_wake from the NC dataset and I calculate the "closeness" (aka
> farness), I get this for the nodes with the highest values:
>
>  cat |     dist
> -----+--------------
>   39 | 39769.319852
>  128 | 39316.769189
>  159 | 38730.565742
>   38 | 34311.673453
>   59 | 33649.126805
>  112 | 33406.022609
>  131 | 33080.405319
>  140 | 33062.412818
>   33 | 32580.971836
>  135 | 32183.519299
>   77 | 32059.527469
>  158 | 32039.010031
>  129 | 31501.214954
>  103 | 31327.647516
>   42 |  31283.00064
>
> But when I calculate all distances with v.net.allpairs and the sum the
> distances by from_cat, I get
>
>  from_cat |    dist
> ----------+-------------
>        39 | 6254233.946
>       128 | 6175455.627
>       159 | 6080808.494
>       140 |  5498739.16
>        33 | 5403162.189
>        38 | 5336049.601
>       158 | 5322613.245
>       112 | 5241168.562
>       131 | 5211368.296
>        59 | 5201325.561
>       103 |  5182372.74
>       156 | 5171904.939
>       157 | 5116144.746
>       143 | 5065893.211
>        77 | 5047493.908
>
> i.e. both the values _and_ the order of nodes are different.

According to the code, closeness is the average distance to all other
nodes reachable from the current node, i.e. something like average
farness.

Markus M

>
> Maybe you should file two bugs against v.net.centrality:
>
> 1) make closeness the real closeness, i.e. the inverse of farness
>
> 2) improve the documentation of the module by explaining the exact
> calculations of each variable, instead of just referencing a Wikipedia
> article
>
> Moritz
>
>
>
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-user
```