CSIS Discussion Paper No.81

User Reference for SANET:A Toolbox for Spatial Analysis on a Network

September, 2006

Shino Shiode*, Kei-ichi Okunuki** and Atsuyuki Okabe** Center for Spatial Information Science, University of Tokyo** Department of Geography, Nagoya University

PREFACE

This manual describes how to use SANET: a toolbox for spatial analysis on a network.
SANET is part of the results obtained from the six year (1998-2003) project entitled“Spatial Information Science for Human and Social Sciences” funded by the
Grant-In-Aid for Special Field Studies B provided by the Ministry of Education andScience, Japan. The leader is A. Okabe. SANET is developed by A. Okabe, K. Okunuki
and S. Shiode with Mathematical Systems Inc.

ACKNOWLEDGEMENTS

We express our thanks to Mathematical Systems Inc, in particular, C. Mizuta, K.
Okano, M. Saito and T. Ishitomi, for developing computer programs.

i

NOTICEThe authors distribute SANET only to those who agree on the following points.
1. The user will use SANET for nonprofit purposes only.
2. The authors will not bear responsibility for any trouble that the user may meet in theuse of SANET.
3. When the user uses SANET, he/she will report to the authors his/her name, affiliation,
address and e-mail address.
4. When the user publishes any results obtained by using SANET, he/she will explicitly
state in the paper that he/she used SANET. Also, he/she will send a reprint of thepaper to the authors.
5. The user will report to the authors any trouble he/she meets in the use of SANET.
(The authors will remove bugs, if any, at their earliest convenience.)

The address of the authors is:

Atsuyuki OKABE
Center for Spatial Information Science
c/o Department of Urban Engineering, University of Tokyo
7-3-1 Hongo, Bunkyo-ku, Tokyo 113-8656, Japan
atsu@ua.t.u-tokyo.ac.jpiiTABLE OF CONTENS

1. System requirements ............................................................................................................ 0
2. Installation and uninstallation of SANET ............................................................................ 0
3. General notes on SANET tools ............................................................................................ 1
4. Instructions on how to use SANET...................................................................................... 2
4.1 Preprocessing tools .......................................................................................................... 2
4.1.1 Clean polyline shapes ................................................................................................ 2
4.1.2 Continuous graph ....................................................................................................... 3
4.1.3 Create network index file from a polyline shapefile.................................................. 4
4.1.4 Insert points to a network........................................................................................... 7
4.2 Analytical tools .............................................................................................................. 11
4.2.1 Network Voronoi diagram........................................................................................ 11
4.2.2 Huff model ............................................................................................................... 15
4.2.3 Nearest neighbor distance method ........................................................................... 20
4.2.4 Conditional nearest neighbor distance method ........................................................ 23
4.2.5 K Function method................................................................................................... 26
4.2.6 Cross K function method ......................................................................................... 29
4.2.7 Interpolation............................................................................................................. 32
4.2.8 Clumping method..................................................................................................... 34
4.2.9 M Function method.................................................................................................. 36
4.3 Other independent tools ................................................................................................. 38
4.3.1 Random point........................................................................................................... 38
4.3.2 Polygon centroid ...................................................................................................... 39
4.3.3 Grid .......................................................................................................................... 40
4.3.4 Distribute point data to polylines ............................................................................. 41
4.3.5 Table arrangement.................................................................................................... 43
4.3.6 Create network index file from adjacent node table ................................................ 44
4.3.7 Edit network index file............................................................................................. 45
5. References.......................................................................................................................... 46iii

1. System requirements
OS: MS Windows NT, 2000, XP
ESRI ArcGIS: Ver.8.x, Ver.9.x

2. Installation and uninstallation of SANET
Installation
1. Save SANET3.zip in your computer.
2. Unzip SANET3.zip, then you will find five files below.
SANET_tools.dll
SANET_AG_8.dll
SANET_AG_9.dll
Uinstall_AG_8.bat
Uinstall_AG_9.bat
3. Place SANET_tools.dll under arcgis¥Bin folder.
4. Place the other files under any folder.
5. Launch ArcMap.
6. In the ArcMap menu bar, select “Tools” and proceed to “Customize”.
7. Click on “Add from file…” button in “Toolbars” tag, to locate SANET_AG_8.dll or SANET_AG_9.dll.
(If you are ArcGIS Ver.8 user, load SANET_AG_8.dll.)(If you are ArcGIS Ver.9 user, load SANET_AG_9.dll.)
8. Double click on it, then you will find “SANET” check box in “Toolbars” menu.
9. Check it, then the SANET menu bar below will appear.

10. Drag and drop it in your menu bar or view button bar on the ArcMap project window.

Uninstallation
If you are ArcGIS Ver.8 user, click Uinstall_AG_8.bat.
If you are ArcGIS Ver.9 user, click Uinstall_AG_9.bat.

03. General notes on SANET tools
SANET consists of twenty tools, each of which belongs to one of three groups, ShapeEditor, NetworkIndex,
and Analysis, divided by their function.
Analytical tools in “Analysis” group should be executed after applying some preprocessing tools.
When you are going to apply one tool, be sure to apply all the tools located upstream in the illustration below.

Preprocessing and analytical tools
Clean polyline shapes

Continuous graph

Preprocessing tools
Create network index file from a polyline shapefile

Insert points to a network

Voronoi diagram
Huff model
Nearest neighbor distance method
Conditional nearest neighbor distance method
K function method
Cross K function method
Interpolation
Clumping method
M function method

Analytical tools

Other independent tools
Random point
Polygon centroid
Grid
Distribute point data to polylines
Table arrangement
Create network index file from adjacent node table
Edit network index file1

4. Instructions on how to use SANET
4.1 Preprocessing tools
4.1.1 Clean polyline shapes
Polyline shapefiles introduced in SANET have to be free of intermediate or pseudo points.
This tool cuts a polyline into individual line segments or links. Each of them consists of a line and two end
points.

(a) A polyline(b) Individual links

Inputs1. Add the polyline shapefile on the project window.
2. Select “Clean Polyline Shapes” in ShapeEditor menu.

(1)

(2)

3. Fill in the dialogue box.
(1) Select the polyline shapefile in the drop down list.
(2) All the attribute fields in the polyline shapefile are listed in this box. If you want to get values in theattribute field(s) to be split proportional to link lengths, select them.

OutputA polyline shapefile named “polyline shapefile _d” will be created in the folder where the input shapefile islocated.
Although the entire attribute field(s) in the original network polyline will be attached to the output network
polyline, fields you did not select at step (2) will be transferred with no change in values.
In case that a file with the same filename already exists, the newly created file will be saved with a different
filename, such as <nework polyline shapefile_d1>, <nework polyline shapefile_d2>.

2

4.1.2 Continuous graph
Since network polylines in one shapefile should be connected to each other in SANET, all the isolated polylines
have to be eliminated before proceeding to the next step.
This tool checks up the connectivity of the network and extract the continuous network.

Inputs1. Add the polyline shapefile on the project window.
2. Select “Continuous Graph” in ShapeEditor menu.
3. Click and activate a link which belongs to the network that you want to extract.

4. Select the polyline shapefile in the drop down menu.

Note: As a sample dataset, we here use network polyline shapefile named “ROAD_d” consisting of 1367 links and 33kmof total length.

OutputA network polyline shapefile of the continuous graph will be created (filename: network index file name _prt).

3

4.1.3 Create network index file from a polyline shapefile
This tool converts a polyline shapefile into a dataset which consists of the following three files to identify thelink-node connectivity.
(1) Polyline point shapefile
A point shapefile created by extracting the entire points that consist a polyline shapefile, which we call“polyline points”. The attribute table of the polyline point shapefile has a field with pointer values pointing
the record number of the adjacent node table.
(2) Adjacent node table
A DBF format table with the fields of the adjacent node ID, the link length and any other attributes
field(s).
(3) Network index file
A text file which holds the filenames of (i) the input network polyline shapefile, (ii) the output polyline
point shapefile and (iii) the output adjacent node table.
Adjacent node ID

Pointer

Link length

Record number

Polyline points

Polyline parts and polyline points
Attribute table of polyline point shapefile
Adjacent node table

Inputs1. Add the polyline shapefile on the project window.

Network polyline shapefile “ROAD_d4

2. Select “Create Network Index File from Polyline Shapes” in NetworkIndex menu.
3. Fill in the dialogue box.
(1) Select the polyline shapefile in the drop down menu.
(2) If you want to transfer the attribute field(s) in the network polyline to the adjacent node table, select them.
(3) Specify the filename and the location of the output network index file by clicking

button.

(1)

(2)

(3)

Outputs(1) Polyline point shapefile ( filename: network index file name ).
A point shapefile which consists of the entire polyline points will be created.

Polyline point shapefile “N_Index”

Attribute fields of the polyline point shapefile.
FID

Record number.

NodeID

ID number of the polyline point.

head

Pointer to the record number of the adjacent node table, which is stored in the field“OID”.

X

X Coordinate.

Y

Y Coordinate.

5(2) Adjacent node table (filename: network index file name _atbl.dbf ).
OID

Record number.

AdjPoint

ID number of the adjacent node.

LengthLink length between two polyline points, one of which is in the attribute table of thepolyline point shapefile and the other is in the adjacent node table.

direc

Direction of the link. 1: forward, -1: backward.

Attribute field(s)selected at step (2).
Note: We will omit fields “FID” and “OID” for the subsequent text, as they always hold the record numbers.
Note: If the field “LENGTH” and/or “ADJPOINT” existed in the fields you selected at step (2), they will be saved in adifferent name such as “LENG_1” and “ADJ_1” respectively.

Attribute table of the polyline
Shapefile “N_Index”

Adjacent node table “N_Index_atbl.dbf”(3) Network index file (filename: network Index file name .nidx).

64.1.4 Insert points to a network
This tool assigns a point which is not on a network (we call it “an original point”) to the nearest point
on a network (we call it ”an access point”).
Applying this tool, polylines are cut at the access points and access points become new polyline points.

Original points

InputsAccess points

1. Add the following shapefiles on the project window.
(1) Network polyline shapefile.
(2) Original point shapefile.
2. Select “Insert Points to Network”
in NetworkIndex menu.

Polyline shapefile “ROAD_d” and point shapefile “BANK_STORE”

3. Fill in the dialogue box.
(1) Specify the network index file outputted in the previous tool.
Note: By clicking

icon, you can see the contentsof the network index file.

(2) If you want to get values in the attribute field(s) of the polyline to be split proportional to link lengths,
select them.
(3) If you want to get values in the attribute field(s) of the adjacent node table to be split proportional to link
lengths, select them.
(4) Select the original point shapefile in the drop down menu.
(5) Select the field of the ID number in the original point shapefile.
Note: The ID number will be reflected in “point access table” (see output files in detail) for the correspondence between
the original points and the new polyline points.

(6) Specify a new field name for the identification of the access points (The filename should be less than ten
characters).
(7) Specify the filename of the network index file.
(8) Specify the filename of the point reference index file.
7

(1)

(2)

(3)

(4)
(5)

(6)

(7)

(8)

Outputs(1) Network polyline shapefile (file name: Network Index file).
All the attribute field(s) in the original polyline shapefile will be attached to the output polyline. Fields you
did not select at step (2) will be transferred without any change in values. Field “direc” with the link direction
will also be added.
(2) Polyline point shapefile (file name: Network Index file _v ).
Point shapefile consisting of the existing polyline points and the access points.
NodeID

ID number of the polyline point.

X

X coordinate.

Y

Y coordinate.

head

Pointer to “the adjacent node table”.

rhead

Pointer to “the point reference table”.

NumberNumber of the assigned original points.

(6)

1: inserted point, 0: existing point.

(3) Point access table (file name: Point Reference Index file _r.dbf ).
File showing the ID correspondence between the original points and the new polyline points.
PointID

ID numbers of the original points stored in the field you selected at step (5).

NodeID

Corresponding polyline point ID in the new polyline point shapefile.

8

(4) Adjacent node table (filename: network index file .atbl.dbf ).
AdjPoint

ID number of the adjacent node.

LengthLink length between two polyline points, one of which is in the attribute table of the polyline point
shapefile and the other is in the adjacent node table.

direc

Direction of the link.
All the attribute fields in the input adjacent node table. Values in the field(s) you selected at step (3)are split proportional to the link length.

Note: If fields “AdjPoint”, “Length” or “direc” existed in the field you selected at step (3), they will be saved with thenames of “AdjP_1” , “leng_1” and “dire_1” respectively. Similarly, if a field “LENG_1” and/or “ADJP_1” were in thefields you selected, they will be saved with the names of “LENG_2” and “ADJP_2” respectively. Since values in those
fields are updated in fields “Length” and “Adjpoint” in the new adjacent node table, you do not need to care about values
in “LENG_1”, “LENG_2”, “ADLP_1”, “ADJP_2”.

(5) Point reference table (filename: point reference index file_ref.dbf ).
PointID

Point ID of the original point.

InsDirecDirection where a point was inserted (1: from the left of the link, 2: from the right, 0: on the link).

Point access table“Ref_PointON _r”

Attributes of the polyline point
shapefile “PointON _v”

Adjacent node table“PointON _atbl.dbf”

Point reference table “Ref_PointON _ref”

9Polyline shapefile “PointON” and polyline point

Original points and access points

shapefile “PointON _v”

As is shown in the figures above, the original point with ID number of 1 has become the new polyline point
1196, which is indicated in the field “NodeID”. In the attribute table of polyline point shapefile, polyline point
1196 is pointing the record number 2734 of the adjacent node table, which shows the polyline point 1196 isadjacent to two polyline points, 216 and 240. Polyline point 1196 is also pointing the record number 6 of thepoint reference table, which shows this point corresponds to the original point with ID number of 1 as shown in
the field “PointID”.
(6) Network index file (filename: network Index file name .nidx).

(7) Point reference index table (filename: point reference index file .pidx).
A text file with information on the input and the output data set.

10

4.2 Analytical tools
As all the point features used in each analytical tool have to be on the network, “Insert points to a network”
tool should be applied before executing each analytical tool.

4.2.1 Network Voronoi diagram
This tool constructs a Voronoi diagram on a network based on a set of points denoted by “generator points” or“generators”.

Inputs
1. Select “Network Voronoi Diagram” in Analysis menu.
2. Fill in the dialogue box.
(1) Specify the network index file.
(2) Select the reference index file.
Network shapefile “ROAD_d” and the generator

Note: (1) and (2) has been created as the output of“Insert points to a network” tool.

point shapefile “STORE”(3) Distance from a generator point to a location on the network can be measured by the physical link length or
any other weight (ex. time distance, any kind of cost). Click “Distance” and choose one. If you checked “byvalues in an attribute field”, select an attribute field in the drop down menu.
(4) Specify the filename of the output network index file.

(1)

(2)
(3)

(4)

Outputs(1) Polyline point shapefile (filename: Network Index file _v).
NodeID

Point ID.

head

Pointer to the record number of “the adjacent node table”.

11gheadPointer to the record number of “the nearest path table”.

ggheadPointer to the record number of “the generator point table”. -1: Pointer to nowhere.

x

X coordinate.

y

Y coordinate.

C_Point

1: collision point, 0: other point.

BoundPoint

1: boundary point, 0: other point.

Note: Collision points and boundary points are added in this file. A collision point is a point which has multiple different
routes of the same values of the shortest path distances toward one generator point. Boundary point is a point which has
the same values of the shortest path distances to multiple generator points.

(2) Network polyline shapefile (filename: network index file).
NN_GeneID numbers of the nearest generator point.

direc

Direction of the link.

rate

The ratio of the output polyline part length to the original polyline part length.

PartID

ID number of the input polyline.

Network polyline shapefile

You can see the . Double click on the polyline shapefile in the table of contents, and “Layer Property Box” willappear. Click “Symbol” in the menu bar and double click “Category” in the “Show” box to the left. Select“NN_Gene” in the “Field” dropdown menu. Click “Add All” and then, click “Apply”.

12Colored polylines in terms of the nearest generator(3) Adjacent node table (filename: network index file .atbl.dbf).
AdjPoint

Adjacent polyline point ID.

LengthLink length.

direc

Direction of the link.

rate

The ratio of the output polyline part length to the original polyline part length.

PartID

ID number of the input polyline.

The figure below illustrates that the polyline point 1 is pointing the record number 0 of the adjacent nodetable, which indicates three polyline points 2, 4 and 50 are adjacent to the polyline point 1.

Attribute table of polyline point shapefile “VORO_v”

Adjacent node table “VORO.atbl.dbf”(4) Nearest path table (filename: network index file _p.dbf).
NN_GeneID number of the nearest generator point.

PathDist

Shortest path distance to the nearest generator point.

PreNodePredecessor polyline point ID on the way to the nearest generator point.

13

Attribute table of polyline point shapefile “VORO_v” and the nearest path table “VORO_p.dbf”(5) Generator point table (filename: Generator point shapefile_g.gatb.dbf ).
A table showing the adjacency among generators.
Adj_Gene

ID number of the adjacent generator.

SPDistShortest path distance between two generators.

Node 1196 is incident to two generators 1208 and 1201, as is seen in the figure above.
(6) Network index file14

4.2.2 Huff modelThis tool estimates the probability that a consumer at any point on the network chooses the supply points andcalculates the total amount of demand that the supply points attract.

InputsNote: As the supply points and the demand points should have been assigned to the same network before applying
this tool, apply “Insert points to a network” tool twice on the network as shown below.

Step1: Assign the supply points to a network.

Step2: Assign the demand points to the networkthat has been derived as the output of step1.

Whereas supply points should have an attribute field of attractiveness such as a sales volume and area of eachstore, demand points should have an attribute field of a demand volume such as the number of family members.

Polyline shapefile “Road_d”, supply point shapefile “SUPPLY” and demand point shapefile “DEMAND”

15

Attribute tables of the supply point and the demand point shapefiles.
1. Select “Huff Model” in Analysis menu.
2. Fill in the dialogue box.
(1) Specify the network index file.
(2) Select the reference index file of the supply point shapefile.
(3) Select the attractiveness field in the attribute fields of the supply point shapefile.
(4) Select the reference index file of the demand point shapefile.
(5) Select the demand field in the attribute fields of the demand point shapefile.
(6) Input lambda value. (Refer to the probability function below for details).
(7) Distance from a point to another point can be measured by the physical link lengths or any other weight.
Click “Distance” and choose one. If you checked “by values in an attribute field”, select an attribute
field in the drop down menu.
(8) Specify the filename of “the demand table”.
(9) Specify the filename of “the matrix table”.
(1)

(2)

(3)
(4)
(5)
(6)

(8)
(9)

16

(7)

Note: Probability Pij that a consumer at a demand point i chooses a supply point j is represented as

Pij =Aj exp(−λ dij )∑ j Aj exp(−λ dij )where,
Aj : Attractiveness value (amount of supply) of a supply point j,
dij : Distance from a consumer i to a supply point j.
Outputs(1) Network polyline shapefile (filename: network polyline shapefile _nn).
Supply_ID

Supply point ID that the probability of being selected by a consumer located on the link
becomes the largest.

sid

Starting node on the link.

eid

Ending node on the link.

Polyline shapefile “SupplyDemandON_nn”

Links colored in terms of “Supply ID”(2) Polyline point shapefile (filename: network polyline shapefile _nnv).
Point shapefile consisting of polyline points, collision points, demand points and supply points.
NodeID

Point ID.

X

X coordinate.

Y

Y coordinate.

Demand0<: Demand point, 0: other point.

dhead-1<: Pointer to “the demand table”. -1: Pointer to nowhere.

C_Point

1: Collision point, 0: other point.

17

(3) Demand table (filename: demand table .dbf).
NodeID

Supply point ID.

Attract

The amount of attractiveness.

Dom_Demand

Total amount of demand that the supply point has attracted.

Polyline point shapefile “SupplyDemandON_nnv”

The attribute of the demand table(4) Marix table (filename: matrix table .dbf).
MultiplefieldsNodeID

Demand point ID.

Supply point ID

Shortest path distance to the supply point.

Matrix table of demand points “Huff_matrix.dbf”(5) Choice probability table (filename: network polyline shapefile _prob.dbf).
MultiplefieldsNodeID

Polyline point ID.

Supply point ID

Probability that a customer located at the point selects the supply point.

Choice probability table of the polylinepoints “SupplyDemandON_prob”

18

You can see the probability distribution of the customer on each point selecting the particular supply point by
joining the polyline point shapefile and the choice probability table.

Probability of the customer at each point selecting the supply point
1196

19

4.2.3 Nearest neighbor distance method
This tool investigates the locational tendency of one type of points and tests the randomness of that distribution
on a network by the nearest neighbor distance method. The tool derives upper and lower 5% confidence
interval by the Monte Carlo simulations.

Inputs
1. Select “Nearest Neighbor Method”
in Analysis menu.

2. Fill in the dialogue box.
(1) Specify the network index file.
(2) Select the reference index file.

Network polyline shapefile “ROAD_d” and point shapefile “BANK”(3) Put the number of the Monte Carlo simulations.
(4) Distance from a point to the nearest point can be measured by the physical link lengths or any otherweight. Click “Distance” and choose one. If you checked “by values in an attribute field”, select anattribute field in the drop down menu.
(5) Specify the interval distance to make the output frequency distribution table. Check one of two checkboxes. If you checked “regular intervals”, specify the interval distance.
(6) Specify the filename of “the nearest neighbor distance table”.
(7) Specify the filename of “the pointer table to the nearest neighbor point”.
(8) Specify the filename of “the frequency distribution table”.

(1)

(2)
(4)

(5)

(3)

(6)

(7)
(8)

20

Outputs
Tree DBF files will be created.
(1) Pointer table to the nearest neighbor point.
NodeID

Point ID.

head

Pointer to the record number in “the nearest neighbor distance table”.

(2) Nearest neighbor distance table.
NodeID

Nearest point ID.

lengthShortest path distance between two points.

Pointer table to the nearest neighbor point “NNP.dbf”

Nearest neighbor distance table “NND.dbf”(3) Frequency distribution table. (not a complete sentence)
Values which belong to the fields grouped in the expected distribution are derived by the Monte Carlosimulations.

Expected
distribution

Observed
distribution

FromDist

Starting distance of the (“OID” +1)th interval.

ToDistEnding distance of the (“OID” +1)th interval.

Max

Maximum number of points located to each other within the (“OID” +1)th interval.

Min

Minimum number of points located to each other within the (“OID” +1)th interval.

Mean

Mean number of points located to each other within the (“OID” +1)th interval.

Upper5%The number of points at the upper 5% level among the simulated number of results.

Lower5%The number of points at the lower 5% level among the simulated number of results.

CumMax

Cumulative number of “Max”.

CumMinCumulative number of “Min”.

CumMeanCumulative number of “Mean”.

CumU5

Cumulative number of “Upper5%”.

CumL5

Cumulative number of “Lower5%”.

Observed

Observed number of points located within the interval.

CumObsCumulative observed number of points located nearer than “ToDist”.

21Frequency distribution table “NNF.dbf”

You can make the observed and the expected K function curves by setting “ToDist” as x-axis, and “CumObs”,“CumMean”, “CumU5” and “CumL5” as y-axis.

Cumulative
number of
PointsDistance (m)Observed and expected nearest neighbor curves

If the observed curve comes to the left of the upper 5% nearest neighbor curve in the graph, it shows that theobserved points significantly locate near to each other. On the other hand, if the observed curve comes to theright of the lower 5% nearest neighbor curve, it shows that the observed points significantly locate apart to eachother.

22

4.2.4 Conditional nearest neighbor distance method
This tool investigates points (of Type A) are independently and randomly distributed with respect to a set of
fixed points (of Type B). We call type A points “non-basic points”, and type B points “basic points”.
Note: The basic points and the non-basic points have to be assigned to the network beforehand by applying “Insert
points to a network” tool. (See the first part of “Huff model” section for details.)

Inputs
1. Select “Conditional Nearest Neighbor Method” in Analysis menu.

Network polyline shapefile “ROAD_d”, basic point “STORE” andnon-basic point “BANK”

2. Fill in the dialogue box.
(1) Specify the network index file.
(2) Select the reference index file of the basic points.
(3) Select the reference index file of the non-basic points.
(4) Distance from a basic point to the nearest non-basic point can be measured by the physical link lengths
or any other weight. Click “Distance” and choose one. If you checked “by values in an attribute field”,
select an attribute field in the drop down menu.
(5) Specify the interval distance to make the output frequency distribution table. Check one of two checkboxes. If you checked “regular intervals”, specify an interval distance.
(6) Specify the filename of “the nearest neighbor distance table”.
(7) Specify the filename of “the pointer table to nearest neighbor point”.
(8) Specify the filename of “the frequency distribution table”.

23

(1)

(2)

(3)
(4)

(5)

(6)

(7)
(8)

Outputs(1) Pointer table to the nearest neighbor point.
NodeID

Point ID of the non-basic points.

head

Pointer to the record number of “the nearest neighbor distance table”.

(2) Nearest neighbor distance table.
NodeID

Point ID of the nearest basic point.

lengthShortest path distance between two points.

(3) Frequency distribution table.
FromDist

Starting distance of the (“OID” +1)th interval.

ToDistEnding distance of the (“OID” +1)th interval.

Prob

The ratio of the link length existing within the interval distance to the total polyline length.

CumProb

Cumulative number of “Prob”.

Mean“Cumprob” * “the number of non-basic points”.

Upper5%The number of points at the upper 5% level derived by the binomial distribution.

Lower5%The number of points at the lower 5% level derived by the binomial distribution.

CumMeanCumulative number of “Mean”.

CumU5

Cumulative number of “Upper5%”.

24

CumL5

Cumulative number of “Lower5%”.

Observed

Observed number of points located within the interval distance.

CumObsCumulative observed number of “Observed”.

Lng

The link length existing within the interval distance.

Cum Lng

Cumulative number of “Lng”.

Chi2

Chi squared value of the observed distribution.

Frequency distribution table “CNNF.dbf”

Cumulative
number of
PointsDistance (m)Observed and expected conditional nearest neighbor curves

If the observed curve is to the left of the expected curve, then it shows the non-basic points tend to locate nearto the basic points. On the other hand, if the observed curve is to the right of the expected curve, it shows thebasic points and the non-basic points tend to locate apart to each other.

25

4.2.5 K Function method
This tool investigates the locational tendency of one type of points and tests the randomness of that distribution
on a network by the K function method. The tool derives upper and lower 5% confidence interval by the Monte
Carlo simulations.

Inputs
1. Select “K Function” in Analysis menu.

2. Fill in the dialogue box.
(1) Specify the network index file.

Network polyline “ROAD_d” and point “BANK”(2) Specify the reference index file.

(3) Distance from a point to the nearest point can be measured by the physical link lengths or any otherweight. Click “Distance” and choose one. If you checked “by values in an attribute field”, select anattribute field in the drop down menu.
(4) Specify the interval distance to make the output table. Check one of two check boxes. If you checked“regular intervals”, specify an interval distance.
(5) Put the number of simulations.
(6) Specify the name of the output table.

(1)

(2)
(3)

(4)

(5)

(6)

26

Outputs(1) Observed K function table (filename: table file _o.dbf ).
FromDist

Starting distance of the (“OID” +1)th interval.

ToDistEnding distance of the (“OID” +1)th interval.

Observed

The number of points located within the interval distance.

CumObsCumulative numbers of “Observed”.

Observed K function table(2) Expected K function table (filename: table file _e.dbf).
FromDist

Starting distance of the (“OID” +1)th interval.

ToDistEnding distance of the (“OID” +1)th interval.

Max

Maximum number of points located to each other within the (“OID” +1)th interval.

Min

Minimum number of points located to each other within the (“OID” +1)th interval.

Mean

Mean number of points located to each other within the (“OID” +1)th interval.

Upper5%The number of points at the upper 5% level among the simulated number of results.

Lowe5%The number of points at the lower 5% level among the simulated number of results.

CumMax

Cumulative number of “Max”.

CumMinCumulative number of “Min”.

CumMeanCumulative number of “Mean”.

CumU5

Cumulative number of “Upper5%”.

CumL5

Cumulative number of “Lower5%”.

Links

The number of links existing within the interval distance.

Expected K function table27

Cumulative
number of
PointsDistance (m)Observed and expected K function curves28

4.2.6 Cross K function method
This tool detects the locational tendency whether points (of Type A) are independently and randomly
distributed with respect to a set of fixed points (of Type B) by the cross K function method. We call type A
points “non-basic points”, and type B points “basic points”.

InputsNote: The basic points and the non-basic points have to be assigned to the network beforehand by applying “Insert
points to a network” tool.

1. Select “Cross K function” in Analysis menu.

Network polyline “ROAD_d”, basic point ”STORE”
and non-basic point “BANK”

2. Fill in the dialogue box.
(1) Specify the network index file.
(2) Specify the reference-index file of the basic point shapefile.
(3) Specify the reference-index file of the non-basic point shapefile.
(4) Distance from the basic points to the non-basic points can be measured by the physical link lengths or
any other weight. Click “Distance” and choose one. If you checked “by values in an attribute field”,
select an attribute field in the drop down menu.
(5) Specify the interval distance to make the output table. Check one of two check boxes. If you checked“regular intervals”, specify an interval distance.
(6) Specify the filename of the output table.

29

(1)

(2)

(3)
(4)
(5)

(6)

Outputs(1) Observed K function table (filename: table file _o.dbf ).
FromDist

Starting distance of the (“OID”+1)th interval.

ToDistEnding distance of the (“OID”+1)th interval.

Observed

The number of the non-basic points located within the interval distance from the basic points.

CumObsThe number of cumulative non-basic points located within the “ToDist” distance from the basic
points.

Observed K function table(2) Expected K function table (filename: table file_e.dbf )FromDist

Starting distance of the (“OID”+1)th interval.

ToDistEnding distance of the (“OID”+1)th interval.

Prob“TotalLinks”/ (the maximum number of total links).

CumProb

Cumulative number of “Prob”.

Mean

Expected mean number of points located within the interval.

30

Upper5%

The number of points at the upper 5% level derived by the binomial distribution.

Lowe5%The number of points at the lower 5% level derived by the binomial distribution.

CumMean

Expected number of mean points located nearer than “ToDist” distance.

CumU5

Cumulative number of “Upper5%”.

CumL5

Cumulative number of “Lower5%”.

Links

The number of links existing within the interval distance.

TotalLinks

Cumulative number of (“Links” * the interval distance).

Expected K function table

Cumulative
number of
PointsDistance (m)Observed and expected Cross K function curves31

4.2.7 Interpolation
This tool interpolates an unknown attribute value at a location on a network using observed values at someother points in its vicinity, which are called “sample points”, by IDW interpolation method. The shortest-path
distances from the sample points to the unknown point are used for selecting the fixed number of nearest
sample points.
Note: The sample point shapefile should have a field for the observed value. Also, the sample point shapefile and theinterpolated point shapefile have to be assigned to the same network applying “Insert points to a network” tool.

Inputs
1. Select “Interpolation” in Analysis menu.

Observed points (blue points) with their observed
2. Fill in the dialogue box.

values and the interpolated point (red point)(1) Specify the network index file.
(2) Specify the reference index file of the observed points.
(3) Specify the reference index file of the interpolated points.
(4) Specify the field where the observed values has been stored.
(5) Specify the lambda value, which is the inversed
network distance weight.
(6) Specify the number of the sample points.

(1)

(2)

(3)

(4)
(5)

32

(6)

Outputs
Interpolated point table (filename: input network index file _z.dbf). (not sure if you need a period at the end)ID

ID of the interpolated point. The value corresponds to that in “ID field of point shapefile”
specified when “the insert points to a network” tool has been applied.

Z

Interpolated value.

33

4.2.8 Clumping method
This tool statistically detects hierarchical point clusters among the point distribution.

InputsNetwork polyline shapefile “ROAD_d” and point shapefile “BANK”

1. Select “Clumping” in Analysis menu.
2. Fill in the dialogue box.

(1)(1) Specify the network index file.
(2) Specify the reference index file.
(3) Put the number of the Monte Carlo simulations.

(2)(4) Specify the maximum number of ranks for thecluster detection.

(3)(5) Specify the interval distance to detect the clusters.
(4)

(5)

Outputs
Clumping table (filename: input polyine shapefile _clp.dbf ).
NodeID Point ID.
Multiplefieldsclp_#

The number in each cell shows the clump size, which is the number of points consisting one
clump.

The number you
specified at step
(4).

34

Note: The number in # is the distance category for the cluster detection. For example, in the field “Clp_2”, you can
see the detected clusters at the 2*50m=100m distance level (the second interval distance level). It means three sizesof clusters, 2, 3 and 8, have been detected as shown in the figure below, and points which belong to each cluster are
located within 100m to each other.

To see the detected clusters in the project window, join the output table with the access point shapefile.

Extraction the access points from the polyline point shapefile and exporting it to make a
new access point shapefile

Cluster size

Clusters detected at the first interval
distance, 1*50m=50m level.

Examples of hierarchical clusters35

4.2.9 M Function method
This tool analyses the spatial relation between two polylines, the observed polylines and the randomly
generated polylines, by applying M function method.

M function (t) = Aa(t) ∩ Ab(t) ∩ As / As
where,
t: Distance.
Aa(t): Buffer area of the polyline Aa under the buffer distance t.
Ab(t): Buffer area of the polyline Ab under the buffer distance t.
As: The area of the study region.

Inputs
1. Select “M function” in Analysis menu.
Note: No preprocessing tool has to be applied beforehand for this tool.

2. Fill in the dialogue box.
(1) Specify the polygon shapefile in which two polyline shapefiles are located.
(2) Specify the first polyline shapefile.
(3) Specify the second polyline shapefile.
(4) Specify the filename of the output table.
(5) Input “calM.exe” here.
(6) Specify the grid size.
(7) Initial distance for making buffer areas around the polylines.
(8) Incremental distance for making buffer areas around the polylines.
(9) Maximum number of iteration of the random line generation.
(10) Maximum value that the calculation is conducted (The value have to be between 0 and 1).
(11) Check if you want to see the result in the graph.

36

(12) Check if you want to display MS Dos window during the calculation.

(1)
(2)
(3)
(4)
(5)
(6)
(7)

(8)

(9)

(10)
(11)
(12)

Outputs

M func(O )M _Funcion

M func®

Observed value

Expected value

M _Func

1.2
1
0.8
0.6
0.4
0.2
0
0

200

400

60 0

80 0

1000

D istance

The observed and the Expected M function curves

Note: This tool may not work correctly for a certain type of data. This is under investigation for the moment.

37

4.3 Other independent tools
4.3.1 Random point
This tool generates random points on the network according to the Poisson point process (i.e. the probability ofa point being placed on a unit line segment on a network is the same regardless of the location of the segment).

Inputs1. Add the network polyline shapefile to the project window.

(1)

Note: “Clean” and “Continuous Graph” tools have to be applied(2)

on the polyline shapefile beforehand.

(3)
2. Select “Random Points” in ShapeEditor menu.
(4)
3. Fill in the dialogue box.
(1) Select the polyline shapefile.
(2) Put the number of random points to be generated.
(3) Distance on the network can be measured by the physical link length or any other weight. Check one oftwo check boxes. If you checked in “by values in an attribute field”, select an attribute field in the drop
down menu.
(4) Specify the filename of the output shapefile.

Outputs
Random point shapefile will be created.
RandomID

Random point ID.

X

X coordinate.

Y

Y coordinate.

1000 random points on the network38

4.3.2 Polygon centroid
This tool generates a centroid for a polygon.

Inputs1.

Add the polygon shapefile on the project window.

2.

Select “Polygon Centroid” in ShapeEditor menu.

(1)

(2)

3. Fill in the dialogue box.
(1) Select the polygon shapefile.
(2) Select ID field of the polygon shapefile. This helps connect the output table and the input polygon
shapefile.

OutputPoint shapefile named “polygon shapefile .rep” will be created.
Keycode field selected at step (2)Polygon ID.

X

X coordinate.

Y

Y coordinate.

39

4.3.3 Grid
This tool divides a polygon into grids of the designated size.

Inputs1.

Add a polygon shapefile on the project window.

2.

Select “Grid” in ShapeEditor menu.

(1)

(2)
(3)

3. Fill in the dialogue box.
(1) Select the polygon shapefile in the drop down list.
(2) Select the keycode field, which help connect the input polygon shapefile and the output polygon
shapefile.
(3) Specify the grid size.

OutputA grid polygon shapefile will be created (filename: input shapefile _grd).
keycode field selected at step (2)Original polygon ID.

rate

Ratio of the grid area to the original polygon area.

40

4.3.4 Distribute point data to polylines
This tool assigns attribute values of a point shapefile to a polyline and aggregates them in terms of each line
segment.

Inputs1. Add the following shapefiles to the project window.
(1) Point shapefile.
(2) Network polyline shapefile with a field of ID numbers.
2. Select “Distribute Point Data to Polylines” in ShapeEditor menu.

(1)

(2)

(3)

(4)
(5)

(6)

(7)

(8)

3. Fill in the dialogue box.
(1) Specify the point shapefile.
(2) Select the attribute field(s) to be assigned to the polygon shapefile.
(3) Specify the polyline shapefile.
(4) Select the ID filed of the polyline shapefile to help connect the output table and the input polyline
shapefile.
(5) If you want to assign the point attributes to the link that has the same ID number as the point feature has,even if it is not the nearest link, check in the check box. It means that the point attributes are assigned to
the link where both the link and the point feature are located (It is shown in the right figure below).
If you do not check in the box, point attributes will be assigned to the nearest links. (It is shown in theleft figure below).

41

Network

Network

Polygon A

Polygon A

Polygon B

Polygon B

Note: Leave boxes (6) and (7) blank if you did not check in the check box at step (5).

(6) Select the field storing the polygon ID in the network polyline shapefile.
(7) Select the field storing the polygon ID in the point shapefile.
Note: Since values in (6) and (7) are used to connect a point and a polyline which have the same polygon ID, both ofthe polyline shapefile and the point shapefile should have a field of polygon ID where they belong.
You can make these types of files using “intersect” function in the geoprocessing wizard installed in ArcMap.

(8) Specify the filename of the output table.

OutputA DBF file with the designated filename will be created.

MultiplefieldsKeycode field selected at step (4).

Polyline ID.

Attribute field(s) selected at step (2).

Aggretated values.

424.3.5 Table arrangement
This tool aggregates a table by the designated field.
In the case of the simple example shown below, this tool aggregates records in “Population” that have the samevalue in “Area_ID”.

Input table

Output table

Inputs
1. Select “Table Arrangement” in ShapeEditor menu.
2. Fill in the dialogue box.
(1) Specify the input file (dbf format).
(2) Select ID field in the drop down list. Records having the same value in this field become one record in
the output file.
(3) Select the field(s) to be aggregated. Values in the field(s) are aggregated in terms of the field selected atstep (2).
(4) Specify the output file name.
(1)
(2)

(3)

(4)

OutputA DBF file with the designated filename will be created.
Field selected at step (2)

ID.

(2)_c

Count number.

Field selected at step (3)Aggregated value.

Note: This tool does not work correctly at the present. The bug will be got rid of soon.

43

4.3.6 Create network index file from adjacent node table
This tool constructs a new polyline shapefile from the existing adjacent node table, the point shapefile and the
network index file.

Inputs
1. Select “Create Network Index File from Adjacent Node Table” in NeworkIndex menu.

(1)

(2)

(3)

2. Specify three files below.
(1) Adjacent node table(2) Point shapefile(3) Network index file

OutputA new polyline shapefile and a network index file will be created.

44

4.3.7 Edit network index file
This tool changes the combination of the files stored in the network index file.

Inputs
1. Select “Edit Network Index File” in NeworkIndex menu.

(1)

(2)

(3)

(4)
(5)
(6)
(7)

2. Fill in the dialogue box.
(1) Specify the network index file to be edited.
(2), (3) and (4) are automatically filled with the contents of the network index file.
You can change any of them into a different file.
(5) It is recommended to leave this box checked because it checks up the consistency of the node-linkconnectivity in the new combination.
(6) If you wish to overwrite the input network index file, check this box.
(7) If you left (6) blank, specify the filename of the new network index file.

InputsA new network index file “______.nidx” will be created.

45

5. References
Aho, A.V., Hopcroft, J.E. and Ullman, J.D. (1974) The Design and Analysis of Computer Algorithms, Reading,
Massachusetts: Addison-Wesley.
Buxton, T. (1992) GIS Expected to Micromarketing Challenge, GIS World, Vol.5, No.1, pp.70-72.
Egenhofer, M. and Franzosa, R. (1991) Point-Set Topological Spatial Relations, International Journal of Geographical
Information Systems 5 (2): pp.161-174.
Kato, T., Sadahiro, U., Shiode, S. and Okabe, A. (2003) Analysis of the spatial distribution of vending machines using GIS,
Papers and Proceedings of Geographic Information Systems Association, Vol.12, pp.355-358. (in Japanese)
Morita, M.and Okunuki, K. (2003) A study on the edge effects in analyzing a point pattern on a network, Papers andProceedings of Geographic Information Systems Association,Vol.12, pp.93-96. (in Japanese)
Morita, M., Okunuki, K. and Okabe, A. (2001) A Market Area Analysis on a Network Using GIS: A Case Study of RetailStores in Nisshin City, Papers and Proceedings of Geographic Information Systems Association, 10, 45-50. (in Japanese)
Miller, H.J. (1994) Market Area Delineation within Networks using Geographic Information Systems, Geographical
Systems, 1(2), 157-173.
Miller, H.J. (1999) Measuring Space-time Accessibility Benefits within Transportation Networks: Basic Theory andComputational Methods, Geographical Analysis, Vol.31, pp.187-212.
Okabe, A., Boots, B., Sugihara, K. and Chiu, S. N. (2000) Spatial Tessellations: Concepts and Applications of Voronoi
Diagrams, (2nd edition), Chichester: John Wiley.
Okabe, A. and Kitamura, M. (1996) A Computational Method for Market Area Analysis on a Network, GeographicalAnalysis, Vol.28, No.4, pp.330-349.
Okabe, A. and Miki, F. (1984) A Conditional Nearest-Neighbor Spatial Association Measure for the Analysis of
Conditional Locational Interdependence, Environment and Planning A, Vol.16, pp.163-171.
Okabe, A. and Okunuki, K. (2001) A computational method for estimating the demand of retail stores on a street network
and its implementation in GIS, Transactions in GIS, Vol.5, No.3, pp.209-220.
Okabe, A. and Satoh, T. (2006) Uniform network transformation for points pattern analysis on a non-uniform network,
Journal of Geographic Systems, 8, 25-37.
Okabe, A. and Yamada, I. (2001) The K-function method on a network and its computational implementation,
Geographical Analysis, Vol.33, No.3, pp.271-290.
Okabe, A., Yomono, H. and Kitamura, M. (1995) Statistical Analysis of the Distribution of Points on a Network,
Geographical Analysis, Vol.27, No. 2, pp.152-175.
Okabe, A., Okunuki, K. and Shiode, S. (2006) SANET: A toolbox for spatial analysis on a network, Journal of
Geographical Analysis, Vol.38, No.1, pp.57-66.
Okabe, A., Okunuki, K. and Shiode, S. (2006) The SANET toolbox: New methods for network spatial analysis,
Transactions in GIS, Vol.10, No.4, pp.535-550.
Okano, K. and Okabe, A. (2004) A Method for Analyzing the Spatial Relationship between Two Different Distributions ofLine Objects and the Implementation of its Software, Theory and Application of GIS, 12(2), 133-143. (in Japanese)
Shiode, S. and Okabe, A. (2004) Cell Count Method on a Network with SANET and its application, Proceedings of International
Conference on Geoinfomatics and Modeling Geographical Systems & Fifth International workshop on GIS, 27-35.
Shiode, S. and Okabe, A. (2004) A network-based spatial analytical method for detecting agglomerations in a point
distribution on a network and its implementation, Theory and Applications of GIS, 12(2), 79-87 (in Japanese).
Shiode, S. (2005) Inverse distance weighted method for point interpolation on a network, Theory and Applications of GIS ,Vol.13, No.1, pp.33-41 (in Japanese).
Spooner, P., Lunt, I.D., Okabe, A. and Shiode, S. (2004) Spatial analysis of roadside Acacia populations on a road network
using the network K-function, Landscape Ecology, Vol.19, No.5, pp.491-499.
Yamada I and Thill J-C (2004) Comparison of planar and network K-functions in traffic accident analysis, Journal ofTransport Geography Vol. 12, pp.149-58.

46