• No results found

NetorGenerator *lassNetorGenerator *lass

In document NoSQL vs SQL Geo DB (Page 104-108)

NetorGenerator *lass

$ac/age

$ac/age gia.neo!C.tests)ite.server@ gia.neo!C.tests)ite.server@ i$ort

i$ort ... $),ic

$),ic c,assc,ass NetworkGeneratorNetworkGenerator Q Q $rivate

$rivate dita,ea2er dita,ea2er $ointsa2er$ointsa2er@@ $rivate$rivate dita,ea2er dita,ea2er edgesa2eredgesa2er@@ $rivate

$rivate 5o),e 5o),e );;er);;er@@ $rivate$rivate intint edge3ointNo)nteredge3ointNo)nter@@ $),ic

$),ic NetworkGeneratorNetworkGeneratordita,ea2er $ointsa2er7 dita,ea2er edgesa2er Qdita,ea2er $ointsa2er7 dita,ea2er edgesa2er Q tis

tis$ointsa2er7 edgesa2er7$ointsa2er7 edgesa2er7 n),,n),,@@ 

 $),ic

$),ic NetworkGeneratorNetworkGeneratordita,ea2er $ointsa2er7 dita,ea2er edgesa2er7 5o),e );;er Qdita,ea2er $ointsa2er7 dita,ea2er edgesa2er7 5o),e );;er Q tis

tis..$ointsa2er$ointsa2er = $ointsa2er@ = $ointsa2er@ tis

tis..edgesa2eredgesa2er = edgesa2er@ = edgesa2er@ tis

tis..);;er);;er = );;er@ = );;er@ 

 $),ic

$),ic intint edge%ointCo&nteredge%ointCo&nter Q Q ret)rn

ret)rn edge3ointNo)nteredge3ointNo)nter@@ 

 $),ic

$),ic voidvoid addaddS$atia,5ataaseAecord record QS$atia,5ataaseAecord record Q eoetr2

eoetr2 geoetr2 geoetr2 = = record.geteoetr2@record.geteoetr2@ i;

i; geoetr2 geoetr2 instanceo;instanceo; M),tiineString Q M),tiineString Q addM),tiineString

addM),tiineString geoetr27geoetr27 n),,n),,@@ 

 e,see,se i;i; geoetr2 geoetr2 instanceo;instanceo; ineString Q ineString Q addineString

addineString geoetr27geoetr27 n),,n),,@@ 

 e,see,se Q Q tro:

tro: ne:ne: D,,ega,Irg)entce$tion@ D,,ega,Irg)entce$tion@ 

  

$rotected

$rotected voidvoid addaddM),tiineString ,ine7 S$atia,5ataaseAecord record QM),tiineString ,ine7 S$atia,5ataaseAecord record Q ;or

;or  intint i = 0@ i < ,ine.get)eoetries@ i Q i = 0@ i < ,ine.get)eoetries@ i Q addineString

addineString ,ine.geteoetr2i7 ,ine.geteoetr2i7 record@record@ 

  

$rotected

$rotected voidvoid addaddineString ,ine7 S$atia,5ataaseAecord edge QineString ,ine7 S$atia,5ataaseAecord edge Q i;

i; edge == edge == n),,n),, Q Q edge

edge == edgesa2eredgesa2er.add,ine@.add,ine@ 

  edge.set3ro$ert2

  edge.set3ro$ert2"distance""distance"7 distance,ine@7 distance,ine@ adddge3ointedge.geteoode7

adddge3ointedge.geteoode7 ,ine.getStart3oint@,ine.getStart3oint@ adddge3ointedge.geteoode7

adddge3ointedge.geteoode7 ,ine.getnd3oint@,ine.getnd3oint@ 

$rotected

$rotected voidvoid add'dge%ointadd'dge%ointode node7 eoetr2 edge3oint Qode node7 eoetr2 edge3oint Q Dterator<S$atia,5ataaseAecord>

Dterator<S$atia,5ataaseAecord> res),ts res),ts = = eo3i$e,ineeo3i$e,ine .startearesteigoratonSearc

.startearesteigoratonSearc$ointsa2er$ointsa2er7 edge3oint.getNoordinate77 edge3oint.getNoordinate7 );;er);;er.do),eKa,)e.do),eKa,)e .toS$atia,5ataaseAecordist.iterator@

.toS$atia,5ataaseAecordist.iterator@ i;

i; Hres),ts.aset Q Hres),ts.aset Q S$atia,5ataaseAecord

S$atia,5ataaseAecord $oint $oint == $ointsa2er$ointsa2er.addedge3oint@.addedge3oint@ node.createAe,ationsi$To$oint.ge

node.createAe,ationsi$To$oint.geteoode7 teoode7 S$atia,Ae,ationsi$T2$es.S$atia,Ae,ationsi$T2$es. TBOA+TBOA+@@ edge3ointNo)nter

edge3ointNo)nter@@ 

 e,see,se Q Q :i,e

:i,e res),ts.aset Q res),ts.aset Q

node.createAe,ationsi$Tores),ts.ne

node.createAe,ationsi$Tores),ts.net.geteoode7 t.geteoode7 Ae,ationsi$T2$es.Ae,ationsi$T2$es. TBOA+TBOA+@@       $rivate

$rivate do),edo),e distancedistanceineString ,ine QineString ,ine Q do),e

do),e ,engt = 0.0@ ,engt = 0.0@ ;or

;or  intint i = 0@ i < ,ine.get)3oints - 1@ i Q i = 0@ i < ,ine.get)3oints - 1@ i Q ,engt

,engt = = ,engt ,engt   distance,ine.get3ointi7 distance,ine.get3ointi7 ,ine.get3ointi ,ine.get3ointi   1@1@ 

 ret)rn

ret)rn ,engt@ ,engt@ 

 $rivate

$rivate do),edo),e distancedistance;ina,;ina, 3oint $oint17 3oint $oint17 ;ina,;ina, 3oint $oint# Q 3oint $oint# Q 5e;a),t,,i$soid

5e;a),t,,i$soid BS8! BS8! = = 5e;a),t,,i$soid.5e;a),t,,i$soid. BS8!BS8!@@ ret)rn

ret)rn BS8!.ortodroic5istance BS8!.ortodroic5istance

  $oint1.getNoordinate.

  $oint1.getNoordinate. 7 $oint1.getNoordinate.7 $oint1.getNoordinate.2277 44,onI7 ,atI44,onI7 ,atI

  $oint#.getNoordinate.

  $oint#.getNoordinate. 7 $oint#.getNoordinate.7 $oint#.getNoordinate.22@@ 44,onE7 ,atE44,onE7 ,atE 

  

-- create net:or/ to$o,og2 ;ro OSM data -- create net:or/ to$o,og2 ;ro OSM data -- c,ean )$ eisting ta,es

-- c,ean )$ eisting ta,es 5AO3

5AO3 TIETIE DFDF ZDSTSZDSTS net:or/net:or/ NISNI5NISNI5@@ 5AO3

5AO3 TIETIE DFDF ZDSTSZDSTS verticest$verticest$ NISNI5NISNI5@@ NAIT

NAIT TIETIE net:or/net:or/gidgid seria,seria,77 OSMidOSMid DTADTA77 naenae KIAN9IAKIAN9IA77 tegeotegeo OMTAROMTAR77 so)rceso)rce DTADTA77 targettarget DTADTA77 ,engt

,engt FOITFOIT@@ NAIT

NAIT OAOA A3INA3IN FUNTDOFUNTDO createnet:or/createnet:or/ ATUASATUAS tettet ISIS JJJJ

5NIA

5NIA

streetAecord

streetAecord recordrecord@@ :a2Aecord

:a2Aecord recordrecord@@ $ointNo)nt

$ointNo)nt integerinteger@@ $ointDnde

$ointDnde integerinteger@@ geoFragent

geoFragent recordrecord@@ ED

ED -- start te transaction-- start te transaction FOA

FOA streetAecordstreetAecord DD SNTSNT :a2:a277 OSMidOSMid77 naenae FAOMFAOM $,anetos,ine$,anetos,ine

B9A

B9A ig:a2ig:a2 DSDS OTOT UU I5I5 ig:a2ig:a2 OTOT DD  'c2c,e:a2''c2c,e:a2'77';oot:a2'';oot:a2'77'$edestrain''$edestrain'77'service''service' OO3OO3

SNT

SNT   FAOMFAOM $,anetos:a2s$,anetos:a2s

B9A

B9A idid = = streetAecordstreetAecord.os.osidid DTODTO :a2Aecord:a2Aecord@@ FOA

FOA $ointDnde$ointDnde DD arra2,o:erarra2,o:er:a2Aecord:a2Aecord..nodesnodes7 1..7 1..arra2)$$erarra2)$$er:a2Aecord:a2Aecord..nodesnodes71-171-1 OO3OO3

SNT

SNT sta/e,inesta/e,inest$ointnst$ointnstreetAecordstreetAecord..:a2:a277 $ointDnde$ointDnde7 st$ointn7 st$ointnstreetAecordstreetAecord..:a2:a277 $ointDnde$ointDnde11 ISIS :a2:a2

DTO

DTO geoFragentgeoFragent@@ DSAT

DSAT DTODTO net:or/net:or/OSMidOSMid77 naenae7 tegeo7 tegeo77 so)rceso)rce77 targettarget77 ,engt,engt KIUS

KIUSstreetAecordstreetAecord.os.osidid77 streetAecord

streetAecord..naenae77 geoFragent

geoFragent..:a2:a277 :a2Aecord

:a2Aecord..nodesV$ointDndeWnodesV$ointDndeW77 :a2Aecord

:a2Aecord..nodesV$ointDnde1WnodesV$ointDnde1W77 st,engt

st,engtSTeogFroB+ESTeogFroB+EgeoFragentgeoFragent..:a2:a277 ;a,se ;a,se@@ 5 5 OO3OO3@@ 5 5 OO3OO3@@ ret)rn

ret)rn '5one''5one'@@ 5

5@@ JJ

JJ IUIIUI '$,$gsL,''$,$gsL,'@@ SNT

SNT   FAOMFAOM createnet:or/createnet:or/@@ -- c,ean )$ n),, va,)es

-- c,ean )$ n),, va,)es 5T

5T FAOMFAOM net:or/net:or/ B9AB9A T9T9 DSDS UU@@ -- ;i,, in to$o,og2 ta,e's geoetr2 -- ;i,, in to$o,og2 ta,e's geoetr2 co,)nco,)n DSAT

DSAT DTODTO geoetr2co,)nsgeoetr2co,)ns;ta,ecata,og;ta,ecata,og77 ;ta,escea;ta,escea77 ;ta,enae;ta,enae77 ;geoetr2co,)n;geoetr2co,)n77 coorddiensioncoorddiension77 srid

srid77 "t2$e""t2$e" SNT

SNT ''''77 '$),ic''$),ic'77 'net:or/''net:or/'77 'tegeo''tegeo'77 STNoord5iSTNoord5itegeotegeo77 STSAD5STSAD5tegeotegeo77 eoetr2T2$eeoetr2T2$etegeotegeo FAOM

FAOM net:or/net:or/ DMDTDMDT 1@ 1@ SNT

 Appendi/ ?

 Appendi/ ?

NetworksNetworks

Medembli 

Medembli 

Amsterdam

Amsterdam

 Appendi/ ?

 Appendi/ ?

Source code- .9=s paSource code- .9=s part rt 

The co!plee so'rce co"e o

The co!plee so'rce co"e o he assess!en syse!s is aaila5le onlinehe assess!en syse!s is aaila5le online Neo;

Neo; h:p>>gih'5.co!>5ar5aas>gi!a6neo;essh:p>>gih'5.co!>5ar5aas>gi!a6neo;ess +osGIS

+osGIS h:p>>gih'5.co!>5ar5aas>gi!a6posgisessh:p>>gih'5.co!>5ar5aas>gi!a6posgisess

Neo4j dashboard (/ava)

Neo4j dashboard (/ava)

In document NoSQL vs SQL Geo DB (Page 104-108)