Slide 1

Slide 1 text

RECHERCHE GÉOSPATIALE DANS MONGODB @HugoCrd

Slide 2

Slide 2 text

DE + EN + DE DONNÉES GÉOLOCALISÉES

Slide 3

Slide 3 text

QUELLES DONNÉES ICI ?

Slide 4

Slide 4 text

QUELLES DONNÉES AUTOUR D'ICI ?

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

COMBINER LA RECHERCHE À D'AUTRES CRITÈRES

Slide 7

Slide 7 text

QUELLES SOLUTIONS POUR LE DÉVELOPPEUR

Slide 8

Slide 8 text

FAIRE SOI-MÊME LES CARTES SONT PLATES, LA TERRE EST RONDE

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

SOLR HIBERNATE SEARCH INDEXENT DES DONNÉES EXISTANTES

Slide 11

Slide 11 text

NEO4J, POSTGRESQL+POSTGIS MICROSOFT SQL SERVER, MONGODB INDEXATION NATIVE

Slide 12

Slide 12 text

MONGODB NOSQL ORIENTÉ DOCUMENT

Slide 13

Slide 13 text

ORIENTÉ DOCUMENT { n a m e : ' H u m a n D u d e ' , l o v e s : [ ' c o d e ' , ' b e e r ' ] }

Slide 14

Slide 14 text

REQUÊTAGE EN JSON d b . c o l l e c t i o n . f i n d ( { n a m e : ' H u m a n D u d e ' } )

Slide 15

Slide 15 text

REPRÉSENTATION GÉOGRAPHIQUE { n a m e : ' H u m a n D u d e ' , l o v e s : [ ' c o d e ' , ' b e e r ' ] , l o c : { l a t : 4 2 . 4 3 2 , l n g : 2 . 3 2 4 } }

Slide 16

Slide 16 text

DÉFINITION DE L'INDEX d b . c o l l e c t i o n . e n s u r e I n d e x ( { l o c : " 2 d " } )

Slide 17

Slide 17 text

$NEAR ET $WITHIN / / R é s u l t a t s t r i é d b . c o l l e c t i o n . f i n d ( { l o c : { $ n e a r : [ 5 0 , 5 0 ] , $ m a x D i s t a n c e : 5 } } ) / / R é s u l t a t s n o n t r i é d b . c o l l e c t i o n . f i n d ( { l o c : { $ w i t h i n : { $ c e n t e r : [ 5 0 , 5 0 ] , 5 ] } } } ) d b . c o l l e c t i o n . f i n d ( { l o c : { $ w i t h i n : { $ b o x : [ [ 4 0 , 5 0 ] , [ 1 0 , 2 0 ] ] } } } ) d b . c o l l e c t i o n . f i n d ( { l o c : { $ w i t h i n : { $ p o l y g o n : [ [ 1 0 , 2 0 ] , [ 1 0 , 4 0 ] , [ 3 0 , 4 0 ] , [ 3 0 , 2 0 ] ] } } } )

Slide 18

Slide 18 text

LA TERRE EST RONDE L es di s t a nces s ont a l or s en r a di a ns d b . c o l l e c t i o n . f i n d ( { l o c : { $ n e a r S p h e r e : [ 0 , 0 ] } } ) d b . c o l l e c t i o n . f i n d ( { l o c : { $ w i t h i n : { $ c e n t e r S p h e r e : { [ 0 , 0 ] , 1 0 } } } } )

Slide 19

Slide 19 text

AVANTAGES O ut of t he box Sha r di ng M ul t i - l oca t i on

Slide 20

Slide 20 text

CAS D'UTILISATION HUMAN MAP

Slide 21

Slide 21 text

@HugoCrd http://humanmap.cloudfoundry.com https://github.com/HugoCrd/HumanMap