7!1 8b&ective 8b&ective measurementsmeasurements
7ach <'ery as r'n 10 t!es on each "aa5ase an" e8ec'ton t!es ere !eas're" in secon"s $s%. The 7ach <'ery as r'n 10 t!es on each "aa5ase an" e8ec'ton t!es ere !eas're" in secon"s $s%. The longes an" shores t!es ere "roppe" an" he re!aining eigh t!es ere aerage". The res'ls o he longes an" shores t!es ere "roppe" an" he re!aining eigh t!es ere aerage". The res'ls o he ess he!seles can 5e o'n" in #ppen"i8 K an" he !eas're" t!es can 5e o'n" in #ppen"i8 KI. No ess he!seles can 5e o'n" in #ppen"i8 K an" he !eas're" t!es can 5e o'n" in #ppen"i8 KI. No a:e!ps ere !a"e o opt!i9e he =aa KM, he +osgreSQL "aa5ase serice or he SQL <'eries. The a:e!ps ere !a"e o opt!i9e he =aa KM, he +osgreSQL "aa5ase serice or he SQL <'eries. The 5en
5ench!ch!ar(ar(s s or Neoor Neo; ; an" +osan" +osgregreSQL ill SQL ill 5e r'n 5e r'n 3o'3o' o o he 5o83he 5o83, , iih h a a 3na3na'r'ral al synsyna8a83, an" 3, an" 3as3as "oc'!ene"3 or all ypes o <'eries.
"oc'!ene"3 or all ypes o <'eries.
Beore operatng on +osGIS or Neo;, each "aa5ase ha" a 3ar!ing 'p3 proce"'re r'n on i. In +osGIS, a Beore operatng on +osGIS or Neo;, each "aa5ase ha" a 3ar!ing 'p3 proce"'re r'n on i. In +osGIS, a 3S7L7/T b @-M geo!a5les3 as e8ec'e" an" all o he res'ls ere ierae" hro'gh. In Neo;, eery 3S7L7/T b @-M geo!a5les3 as e8ec'e" an" all o he res'ls ere ierae" hro'gh. In Neo;, eery ere8 in he graph as ierae" hro'gh an" he o'going e"ges o each ere8 ere reriee". The ess ere8 in he graph as ierae" hro'gh an" he o'going e"ges o each ere8 ere reriee". The ess ere r'n in he olloing se<'ence sar operatng syse! J sar "aa5ase J ar!ing 'p J r'n es J ere r'n in he olloing se<'ence sar operatng syse! J sar "aa5ase J ar!ing 'p J r'n es J sh'"on operatng syse!. This as "one o ens're ha any caching or syse! process actiy o'l" no sh'"on operatng syse!. This as "one o ens're ha any caching or syse! process actiy o'l" no a4ec he t!ings.
a4ec he t!ings.
7!1!1
7!1!1 Storing Storing 8S* 8S* datadata
@o'r -SM "aases are i!pore" in Neo;6Spatal an" +osGIS. Bac(gro'n" inor!aton a5o' he ac<'ire" @o'r -SM "aases are i!pore" in Neo;6Spatal an" +osGIS. Bac(gro'n" inor!aton a5o' he ac<'ire" "aases, he soare 'se" an" he pro;ecton chosen is "escri5e" in paragraphs
"aases, he soare 'se" an" he pro;ecton chosen is "escri5e" in paragraphs C.2.2C.2.2,, C.2.1C.2.1 an"an" D.2.1 D.2.1. The. The res'l
res'ls o he i!por is s'!!ari9es o he i!por is s'!!ari9e" in" in Ta5le 1F.Ta5le 1F. The i!por ool or +osGIS is opt!i9e" an" operaes The i!por ool or +osGIS is opt!i9e" an" operaes <'ic(ly he res'ltng sorage space is accepa5le. The i!porer or Neo; is less opt!i9e", less as an" he <'ic(ly he res'ltng sorage space is accepa5le. The i!porer or Neo; is less opt!i9e", less as an" he t!e o i!por -SM "aa a(es longer as co!p'er poer is no eRcienly 'tli9e".
t!e o i!por -SM "aa a(es longer as co!p'er poer is no eRcienly 'tli9e". Table 1<: Resuls i!portng B$ /le
Table 1<: Resuls i!portng B$ /le "
"aammee 22$$ SSyysstteemm 99iimmee 99ooppoollooggyy 6S2->le
6S2->le "eo)*"eo)* Post+,SPost+,S "eo)*"eo)* Post+,SPost+,S "eo)*"eo)* Post+,SPost+,S
7nty
7nty $MB%$MB% $MB%$MB% $MB%$MB% $s%$s% $s%$s% $s%$s% $s%$s%
Me"e!5li(
Me"e!5li( 1D1D F,F, ,0,0 C,EDC,ED 1,012D1,012D
#!ser"a!
#!ser"a! 10H10H 21F21F 12F12F H00,DH00,D E,FE,F CD1,12DCD1,12D 2F,ED2F,ED
Norh6ollan"
Norh6ollan" 122F122F 2CCE2CCE 112112 1CHD,D1CHD,D HHC,1HHC,1 2,D2,D 2E1F0,CED2E1F0,CED
Neherlan"s
Neherlan"s 10HF110HF1 1DCH01DCH0 20C,H20C,H
I!por
I!portng he Neherlantng he Neherlan"s "aase ih Neo; oo( !ore "s "aase ih Neo; oo( !ore han 1 han 1 ho'rs an" res'leho'rs an" res'le" in " in a "aa5ase haa "aa5ase ha gre o !ore han H0
gre o !ore han H0 giga5ygiga5ye $GB%. &ih +osGIS, i!pore $GB%. &ih +osGIS, i!portng oo( appro8i!tng oo( appro8i!aely ho'rs, res'ltaely ho'rs, res'ltng in ng in aa "aa5ase si9e o 1D GB. The si9e o he Norh6ollan" "aase see!s o 5e he li!i or Neo;, a leas "aa5ase si9e o 1D GB. The si9e o he Norh6ollan" "aase see!s o 5e he li!i or Neo;, a leas r'nning in his har"are eniron!en. )sing larger "aases, a (non pro5le! ih he L'cene in"e8 as r'nning in his har"are eniron!en. )sing larger "aases, a (non pro5le! ih he L'cene in"e8 as enco'nere" as "isc'sse" on heir or'!s $Neo; /o!!'niy 6 More spatal <'estons 2011%. The secon" enco'nere" as "isc'sse" on heir or'!s $Neo; /o!!'niy 6 More spatal <'estons 2011%. The secon" sage o he i!por consiss o rein"e8ing he "aa5ase an" 5'il"ing a L'cene in"e8. This process slos sage o he i!por consiss o rein"e8ing he "aa5ase an" 5'il"ing a L'cene in"e8. This process slos "on e8ponentally or larger "aases, a4ectng he scala5iliy o he i!porer.
"on e8ponentally or larger "aases, a4ectng he scala5iliy o he i!porer.
D1 D1
NoSQL spatal NoSQL spatal
+aragraph
+aragraph H.1.H.1. $page$page D D% ill "isc'ss in so!e !ore "eail he correlaton 5eeen he -SM fle an" he% ill "isc'ss in so!e !ore "eail he correlaton 5eeen he -SM fle an" he har"are nee"e". Beca'se he i!por oo( so long an" creae" an 'naccepa5ly si9e" "aa5ase, he har"are nee"e". Beca'se he i!por oo( so long an" creae" an 'naccepa5ly si9e" "aa5ase, he Neherlan"s "aase as no incl'"e" in he oher ess. &hen -SM fle si9es re!ain s!aller han 1 GB, Neherlan"s "aase as no incl'"e" in he oher ess. &hen -SM fle si9es re!ain s!aller han 1 GB, 5oh "aa5ases 'ncton accepa5ly as o si9e an" spee". +osGIS has clear a"anages i!portng larger 5oh "aa5ases 'ncton accepa5ly as o si9e an" spee". +osGIS has clear a"anages i!portng larger -SM fles he i!por t!e is shor an" he "aa5ase si9e is s!aller.
-SM fles he i!por t!e is shor an" he "aa5ase si9e is s!aller.
7!1!#
7!1!# Creating Creating a a routing routing network network topolog+topolog+
#s e8plaine" in paragraph
#s e8plaine" in paragraph D.D. $page $page 22%, a ro'tng opology nee"s o 5e creae" or 5oh "aa5ases. The%, a ro'tng opology nee"s o 5e creae" or 5oh "aa5ases. The res'l is he opposie o soring -SM "aa Neo; is aser in creatng he sa!e ro'e neor( han +osGIS. res'l is he opposie o soring -SM "aa Neo; is aser in creatng he sa!e ro'e neor( han +osGIS. #gain, he "i4erences are larges 'sing he Norh6ollan" "aase, an" he Neherlan"s "aase is no #gain, he "i4erences are larges 'sing he Norh6ollan" "aase, an" he Neherlan"s "aase is no incl'"e" in he !eas're!ens.
incl'"e" in he !eas're!ens. #s shon in
#s shon in Ta5le 1FTa5le 1F, he s!alles "aase ro! Me"e!5li( shos an a"anage or +osGIS. @or larger, he s!alles "aase ro! Me"e!5li( shos an a"anage or +osGIS. @or larger "aases, Neo; 5enefs ro! aser ro'e neor( creatng t!es.
"aases, Neo; 5enefs ro! aser ro'e neor( creatng t!es. @ig're 22@ig're 22 is'ali9es he t!e in secon"sis'ali9es he t!e in secon"s in a col'!n char.
in a col'!n char.
#pparenly he graph "aa5ase nee"s less t!e o fn" he correspon"ing sar no"es an" en" no"es. The #pparenly he graph "aa5ase nee"s less t!e o fn" he correspon"ing sar no"es an" en" no"es. The "i4erences are o'n" in he sage ha fn"s he correspon"ing no"es. #s e8plaine" in paragraph
"i4erences are o'n" in he sage ha fn"s he correspon"ing no"es. #s e8plaine" in paragraph D.D. $page $page 2
2%, he pgo'tng SQL proce"'re%, he pgo'tng SQL proce"'re assignverteidassignverteid flls in he so'rce an" arge col'!ns o he neor( flls in he so'rce an" arge col'!ns o he neor( a5le in s'ch a ay ha connece" geo!eries share ere8 i"s. This sage o he SQL scrip is hrea"6 a5le in s'ch a ay ha connece" geo!eries share ere8 i"s. This sage o he SQL scrip is hrea"6 inensie an" !a(es 'p F0 o processing t!e.
inensie an" !a(es 'p F0 o processing t!e.
D2 D2
Figure #1: easure!ens I i!portng B$ daa Figure #1: easure!ens I i!portng B$ daa
Figure ##: easure!ens I creatng a roue opology Figure ##: easure!ens I creatng a roue opology
Me
Medemdemblik blik AmstAmsterderdam am NoNorthrth-H-Hollaolland nd NetNetherherlalandsnds 0 0 2000 2000 4000 4000 6000 6000 8000 8000 10000 10000 12000 12000 14000 14000 16000 16000 Datastore size (MB) Datastore size (MB) !M-"ile !M-"ile Neo4# Neo4# $ost%&! $ost%&! M
Mededememblb li k ik A mA ms ts tere rdadam m NoNor tr th-h -HoHol ll lanandd 0'0 0'0 2000'0 2000'0 4000'0 4000'0 6000'0 6000'0 8000'0 8000'0 10000'0 10000'0 12000'0 12000'0 14000'0 14000'0 &mort time (s) &mort time (s) Neo4# (s) Neo4# (s) $ost%&! (s) $ost%&! (s) M
Meeddeemmbblli k i k AAmmsstteerrddaam m NNoorrtthh--HHoollllaanndd 0 0 000 000 10000 10000 1000 1000 20000 20000 2000 2000 *0000 *0000 +
+oolo, .reation oolo, .reation time (s)time (s)
Neo4# Neo4# $ost%&! $ost%&!
7!1!)
7!1!) Spatial Spatial operationsoperations
The aera
The aerage" res'lge" res'ls s o o he spatahe spatal l opeoperatratons ons are s'!!aare s'!!ari9ri9e" e" in in he a5le he a5le 5e5elolo. . a a resres'l'ls s areare presene" in #ppen"i8 KI. The olloing sectons ill "isc'ss he res'ls o eery partc'lar es in "eail. presene" in #ppen"i8 KI. The olloing sectons ill "isc'ss he res'ls o eery partc'lar es in "eail. Table #): Resuls spatal operatons
Table #): Resuls spatal operatons "
"aammee BBmmppttyy ccaallll CCoo ccoouunntt C/ C/
C
Coo ggmml l ++// ;;lloosseesstt ppooiinnt t ;;// SShhoorrtteesstt ppaatthhPP//
"eo)*
"eo)* Post+,SPost+,S "eo)*"eo)* Post+,SPost+,S "eo)*"eo)* Post+,SPost+,S "eo)*"eo)* Post+,SPost+,S "eo)*"eo)* Post+,SPost+,S
7nty
7nty $s%$s% $s%$s% $s%$s% $s%$s% $s%$s% $s%$s% $s%$s% $s%$s% $s%$s% $s%$s%
Me"e!5li(
Me"e!5li( 0,020,02 0,0C0,0C 0,FC0,FC 0,00,0 C,1CC,1C 0,DH0,DH 0,120,12 0,00,0 0,10,1 0,ED0,ED
#!ser"a!
#!ser"a! 0,020,02 0,0C0,0C 1,ED1,ED 1,011,01 111,0ED111,0ED 10,E010,E0 0,DC0,DC 0,D10,D1 1,21,2 C,DC,D
Norh6ollan"
Norh6ollan" 0,020,02 0,0C0,0C DE,1CDE,1C 2,HF2,HF E01,EDE01,ED 1,FH1,FH 2,012,01 0,FC0,FC D,1D,1 2F,2F,
Spa%al ounding o opera%ons Spa%al ounding o opera%ons
These operatons are "efne" o fn" all he geo!eries ihin a specifc recangle area. Tes B e8ec'es a These operatons are "efne" o fn" all he geo!eries ihin a specifc recangle area. Tes B e8ec'es a co'n operaton ihin a recangle area hile es G re<'e
co'n operaton ihin a recangle area hile es G re<'ess he "aa in GML or!a. The applie" co"e isss he "aa in GML or!a. The applie" co"e is sae" in paragraph
sae" in paragraph D.D.2 D.D.2, na!e", na!e" Tes B J 5o'n"ing 5o8 co'n Tes B J 5o'n"ing 5o8 co'n, an" paragraph, an" paragraph D.D.C D.D.C, na!e", na!e" Tes G J Tes G J 5o'n"ing 5o8 ge
5o'n"ing 5o8 ge. )n"o'5e"ly, +osGIS o'peror!s he graph "aa5ase ih 5o'n"ing 5o8 operatons. )n"o'5e"ly, +osGIS o'peror!s he graph "aa5ase ih 5o'n"ing 5o8 operatons he larger he "aase, he larger he "i4erences in operaton t!es. This es "e!onsraes he eRciency o he larger he "aase, he larger he "i4erences in operaton t!es. This es "e!onsraes he eRciency o he
he relrelatoatonal nal "a"aa5aa5ase. se. # # <'e<'ery ry on on a a s!as!alleller r "a"aasease $Me$Me"e!"e!5li5li( ( or or #!s#!serer"a!"a!% % has has co!co!parpara5la5lee operaton t!es o he sa!e <'ery on
operaton t!es o he sa!e <'ery on he larger Norh6ollan" "aase.he larger Norh6ollan" "aase. Neo
Neo; ; conconsissisenenly ly perperor!or!s s slosloer er 's'sing ing he sa!e he sa!e 5o'5o'n"in"ing ng 5o85o8es. es. ooeeer, er, in in NeNeo;o;, , hehen n aa s'5se<'en 5o'n"ing 5o8 operaton is e8ec'e" aer he inital r'n, he operaton 5eco!es !'ch aser. s'5se<'en 5o'n"ing 5o8 operaton is e8ec'e" aer he inital r'n, he operaton 5eco!es !'ch aser. @or e8a!ple, he frs6calle" 5o'n"ing 5o8 es in he #!ser"a! area a(es appro8i!aely 1D secon"s. @or e8a!ple, he frs6calle" 5o'n"ing 5o8 es in he #!ser"a! area a(es appro8i!aely 1D secon"s. 'nning he sa!e es again ill a(e a5o' secon"s. This opic ill 5e "isc'sse" o so!e e8en laer in 'nning he sa!e es again ill a(e a5o' secon"s. This opic ill 5e "isc'sse" o so!e e8en laer in his paragraph.
his paragraph.
The "i4erences in 5o'n"ary t!es are noeorhy. Boh "aa5ases 'se an 6re
The "i4erences in 5o'n"ary t!es are noeorhy. Boh "aa5ases 'se an 6ree in"e8 or aser geo!erye in"e8 or aser geo!ery selecton. So!e "aa5ase opt!i9atons ill res'l in aser operaton t!e, 5' he oerall res'ls sho'l" 5e selecton. So!e "aa5ase opt!i9atons ill res'l in aser operaton t!e, 5' he oerall res'ls sho'l" 5e ro'ghly he sa!e 5eca'se o he 6ree in"e8. The large "i4erences in <'ery t!e are "'e o he ay in ro'ghly he sa!e 5eca'se o he 6ree in"e8. The large "i4erences in <'ery t!e are "'e o he ay in hich Neo; 'ses <'eries. L'cene is he in"e8 'se" or <'erying, hich as originally "esigne" as a or" hich Neo; 'ses <'eries. L'cene is he in"e8 'se" or <'erying, hich as originally "esigne" as a or" "ens
"ensiy search engine li5rary. &hile neer ersioniy search engine li5rary. &hile neer ersions "o s "o allo n'!erallo n'!eric <'eries, 'n"er he hoo" ic <'eries, 'n"er he hoo" all "aa all "aa isis reae" as e8. 78ec'tng a <'ery on non6ineger n'!eric "aa, s'ch as "o'5les, res'ls in een orse reae" as e8. 78ec'tng a <'ery on non6ineger n'!eric "aa, s'ch as "o'5les, res'ls in een orse peror!ance or Neo;. The spee" iss'es concerning searching or n'!5ers in Neo;3s in"e8 are relae" o peror!ance or Neo;. The spee" iss'es concerning searching or n'!5ers in Neo;3s in"e8 are relae" o L'cene since conersions !'s 5e peror!e". This is a pro5le! (non o Neo;3s "eelopers an in"e8 L'cene since conersions !'s 5e peror!e". This is a pro5le! (non o Neo;3s "eelopers an in"e8 "e"icae" o n'!eric al'es is
"e"icae" o n'!eric al'es is s'ppose" o res'l in aser 5o'n"ary s'ppose" o res'l in aser 5o'n"ary operatons.operatons.
&hen 5o'n"ary <'eries are he 'se case or an applicaton, +osGIS clearly proi"es a !ore opt!al &hen 5o'n"ary <'eries are he 'se case or an applicaton, +osGIS clearly proi"es a !ore opt!al sol'ton.
sol'ton.
;losest point opera%ons ;losest point opera%ons The olloi
The olloing es is ng es is "esig"esigne" o ne" o fnfn" a " a no"e in he "aa5ase hich is closes o he no"e in he "aa5ase hich is closes o he coor"icoor"inae proi"nae proi"e",e", an" o calc'lae he "isance ro! no"e o coor"inae. The applie" co"e is e8plaine" in paragraph
an" o calc'lae he "isance ro! no"e o coor"inae. The applie" co"e is e8plaine" in paragraph D.D.D.D. an"an" na!e"
na!e" Tes / J closes no"e Tes / J closes no"e. +osGIS shos so!e oerhea" t!e in he Me"e!5li( "aase in general, he. +osGIS shos so!e oerhea" t!e in he Me"e!5li( "aase in general, he operaton o fn" hese no"es yiel"s c
operaton o fn" hese no"es yiel"s co!para5le res'ls 5eeen he o syse!s.o!para5le res'ls 5eeen he o syse!s. Shortest path opera%ons
Shortest path opera%ons
Ne8 are he shores pah operatons 5ase" on *i;(sra $1FDF%. The applie" co"e is sae" in paragraph Ne8 are he shores pah operatons 5ase" on *i;(sra $1FDF%. The applie" co"e is sae" in paragraph
DC DC
NoSQL spatal NoSQL spatal D.D.D
D.D.D an" na!e" an" na!e" Tes + J shores pahTes + J shores pah . @or hese <'eries, Neo; as clearly aser, appro8i!aely 5y a. @or hese <'eries, Neo; as clearly aser, appro8i!aely 5y a ac
acor o or o appappro8ro8i!ai!aelely y C, as C, as "e"eailaile" ine" in Ta5Ta5le le 2020 an" #ppen"i8 KI. # <'ery on a s!aller "aasean" #ppen"i8 KI. # <'ery on a s!aller "aase $Me"e!5li( or #!ser"a!% has co!para5le operaton t!es o he sa!e <'ery on he larger Norh6 $Me"e!5li( or #!ser"a!% has co!para5le operaton t!es o he sa!e <'ery on he larger Norh6 ollan" "aase. Shores pah <'eries are he ypical raersals Neo; is opt!i9e" or, hereas relatonal ollan" "aase. Shores pah <'eries are he ypical raersals Neo; is opt!i9e" or, hereas relatonal "aa5ases are no "esigne" o "o raersals. Beca'se graph "aa5ases !ainain "irec reerences 5eeen "aa5ases are no "esigne" o "o raersals. Beca'se graph "aa5ases !ainain "irec reerences 5eeen relae" "aa, hey are !os eRcien hen peror!ing his ype o local "aa analysis. Generally, relatonal relae" "aa, hey are !os eRcien hen peror!ing his ype o local "aa analysis. Generally, relatonal "aa5ases 'se ;oins in or"er o !oe 5eeen a5les ha are lin(e" 5y cerain col'!ns. Traersing a "aa5ases 'se ;oins in or"er o !oe 5eeen a5les ha are lin(e" 5y cerain col'!ns. Traersing a relatonal "aa5ase !'s 5e inerre" hro'gh a series o ;oin operatons on "i4eren a5les. &here a s'5se relatonal "aa5ase !'s 5e inerre" hro'gh a series o ;oin operatons on "i4eren a5les. &here a s'5se o he "aa !ay 5e "esire", ;oin operatons re<'ire all "aa in all <'erie" a5les o 5e e8a!ine" in or"er o o he "aa !ay 5e "esire", ;oin operatons re<'ire all "aa in all <'erie" a5les o 5e e8a!ine" in or"er o e8rac he "esire" s'5se. This li!iaton is sole" 5y he "aa sr'c're pgo'tng 'ses. The neor( ha e8rac he "esire" s'5se. This li!iaton is sole" 5y he "aa sr'c're pgo'tng 'ses. The neor( ha 'se" consiss o one a5le conaining all neor( "aa. The res'ls o pgo'tng are ery goo", 5' "o no 'se" consiss o one a5le conaining all neor( "aa. The res'ls o pgo'tng are ery goo", 5' "o no co!e near Neo;3s. This can 5e e8plaine" 5y he ac ha pgo'tng nee"s o peror!s loo('ps o he ne8 co!e near Neo;3s. This can 5e e8plaine" 5y he ac ha pgo'tng nee"s o peror!s loo('ps o he ne8 possi5le no"e in he neor(, hile raersing an e"ge in he graph "aa5ase "oes no re<'ire loo('ps a possi5le no"e in he neor(, hile raersing an e"ge in he graph "aa5ase "oes no re<'ire loo('ps a