SlideShare a Scribd company logo
1 of 64
Building Bridges, Connecting Communities
Brandon Morrison, Patrick Hayes, Josef Dabernig,
Pol Dell’Aiera, Tom Nightingale, Rik De Boer,
Nate Parsons
SHOULD HAVE MADE A LEFT
TURN AT ALBUQUERQUE:
BUILDING MAPS IN DRUPAL
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities2 !"#$%#&'(!)#%'*+,(-.&&*/0#&'(-.11"&#0#*+
(2#3(%*(!.*)(456789:97;,(:;;8<=7:>?
@A$#&3-.$$*/0#B*((((((((((((((((((((C$#&38/.18D"
!"#$#%&#'(')"*%+,(-!"#$%&'"()*'+(&*'('%*,-'-$./'(-'0%1$2$*.2$*3'1$4%&4/5'+(67'4/'8.$6(%.
EDB#'D0#&'(FDG$D&%
(''9''+4/$-*''7"#.-:$-''-".#$5"''-"*''+(6'';$/5%*
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities3! "#!$#%$ &'()*(+,-&.(*,/01-23++/45(+,-2366'+(5(/0
7895-*3-:3'-+//*-;
7895-49+-:3'-89</-;
=5:)/0-:3'-49+->(4?@!
! 5.9*(5(3+9)1-+9<(,95(3+9)
! 9.5:
! *959-<(0'9)(095(3+-A-9+9):0(0
B/95'./0-:3'-69:-C9+5@
! 9'53DE336-53-F(5-9))-69.?/.0
! 9'53D4/+5/.-3+-<(0(53.-)3495(3+
! )9:/.0-G/H96>)/@-I>/+J(05/K
! 69.?/.-43)3'.-*(FF/./+5(95(3+
! 69.?/.-4)'05/.(+,1-8/95-69>0
! L9))33+01-59,01-533)5(>0
! )(+/0-9+*-L3.*/.0-G>3):,3+0K
! M
! 69(+59(+/.N0->)9+0-F3.-OP-;
Q8/-63L()/-F9453.@!
! 63L()(5:
! '09L()(5:
! >/.F3.69+4/
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities4! "#$!#%! &'()*(+,-&.(*,/01-23++/45(+,-2366'+(5(/0
------73-68+9-63*')/0-:;<=:
758.5->/./?
@236A8.(03+-3B-68AA(+,-63*')/0C
>55A?##*.'A8)D3.,#+3*/#%EFGHGI
-----------J84>-63*')/-B3.60-3+/-63K(+,-A8.5-3B-93'.-68AA(+,-03)'5(3+D-
23'+5-3+->8K(+,-53-/6A)39-G-53-L-63*')/0D
M3'-48+N5-436O(+/-8+9-!"#$-P(5>-8+9-!"%!D
Q3*')/0-8./-85-K8.(3'0-)/K/)0-3B-436A85(O()(591-685'.(591-
B/85'./-0/50-8+*-)/+,5>0-3B-(00'/-R'/'/0D
SI-T
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities5! "#$%#&% '()*+),-.'/)+-012.34,,056),-.3477(,)6)01
89:.4;.89:.84+(*01
!"#$%"&'
!"#&#()*%#+,
-%"&'
!"*.#()*%#+/
.#()*%#+
01"+.)2"3/,
4%"5/
!6)1,7,89
:;,!"#,4%"5/<=)1/,7,89
!"#$%"&',=)1
.")$&"*,4%"5/
.")$&"*,7,89>,
.")$&"*==)1/
01"+.)2"3/,
7,89
!##?&",
@%&"/
0*A"3,
@%&"/
0B*1B*,CBDE,"?E
.")$&"*,=)3F"3G&B/*"3
!6)1,
.#()*%#+
.)*H.#+?,/*#3)?"
4%"5/I,J)&&##+/>
$%&*"3%+?>,("+*3%+?EEE
K"+'"3%+?EEE
4%"5/,
!"#890L
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities6! "#$%#&% '()*+),-.'/)+-012.34,,056),-.3477(,)6)01
869/60/.79:1.;<.=0**4>.?/(:9*0/1
869**.8:46.@A(,B179,9702.C0>.D09*9,+EF
!""#$%%&"'((&#)"*+)*,-%./&+)012345/.61"$4!""#$%%555*7+)5/.61"*+)8%
G/096.39*-9/<.A016)H9*1.@-9701=/9-0/2.39,9+9EF.!""#$%%621'"+'(6'2971&"/0'(&*+'%4
!"#$$#%&
C4/6I.J<,01)+0.34(,5)*.@*0H0***0/2.KLEF
!""#$%%89*,)2"!"9,1&/.1*6)0*:;%4!'()*+#($,#-)*./01*234&
MN3O.@>0;1791I2.'0*-)(7EF.
!""#$%%555*(1+'0-5*<1%"!18'&%0)(;&+'71&=7/1(.>#(''"&>#)&"+).1>0'(:1?@AAA!,56)(*78*
9:7)(;*'87*$#<8&
J9/9,64.G04;*4-.@P69*42.P69*<EF4
!""#$%%555*/"'()8'/2)*+)8%61)<()6+8&%/#B()+'"/),&B(1'7(1"
A96.J</01.Q4(,69),.')B0.R4(601.@=966</012.KLE$
!""#$%%7'""921&*+)*:;%
NS:*4/0.C4/6I.T0,,),01.@791I0/2.KLE$
!""#$%%1C#()21,)2"!#1,,/,1&*)26*:;%/,"12'+"/01B8'#
TOTNMNO.@9*-9U9/912.8:9),E$
!""#$%%555*#'#1(1'*1&%
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities7! "#$%#&% '()*+),-.'/)+-012.34,,056),-.3477(,)6)01
8049)0*+
:)0;1
<=.804*45>6)4,.:)0;1.?.@>A1
B0>9*06
>,+C
!"#$%"&'()*"'(#+,
!"#$%"&'(#*-"*.%/,&"*
DE>6F1.,46.64.*)G0H'
'''''''''"#,0'&)'+/&'&)1"&2"*3'1*"#&'$"#&/*"',"&3')+&454,"6'$)*'5)74%"3'
,/++)*&,'#88)&#&"6'5#*-"*,3'%48"9,&*481,':'+)%01)8,3
,;#+'5)6/%",'48<)/&';4&2)/&'*";)*-481'&2"'*",&')$'0)/*',)%/&4)83'
#845#&"6'=%/,&"*481')$'/+'&)'>???'5#*-"*,
'''''''''''''''@)*'+),&#%'#66*",,",'48,&"#6')$'%#&<%)81'#66A'I++/011J)0*+.K.80454+0/
@)*'7/%-'45+)*&')$'%)=#&4)8,'B"C1C',+*"#6,2""&D'#66A.J00+1
..........L>1M.7>A.16>/60/.G)6
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities8
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities9
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities10
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities11
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities12
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities13
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities14
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities15
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities16
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities17
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities18
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities19
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities20
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities21
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities22
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities23
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities24
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities25
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities26
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities27
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities28
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities29
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities30
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities31
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities32
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities33
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities34
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities35
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities36
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities37
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities38
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities39
Thursday, May 30, 2013
Thursday, May 30, 2013
Thursday, May 30, 2013
Thursday, May 30, 2013
The Problem
You need an interactive map with millions of
datapoints and these datapoints are continuously
being updated. The map should be searchable and
filterable.
Thursday, May 30, 2013
Now you have two problems
The first problem is cartographic. How do you
graphically show a user a map with millions of
datapoints?
Thursday, May 30, 2013
Thursday, May 30, 2013
The second problem is technical. How do you scale to
millions of datapoint while keeping the map fully
searchable and filterable?
Thursday, May 30, 2013
(Or Elastic Search)
Thursday, May 30, 2013
Geohash
Image Credit: http://www.bigdatamodeling.org
Example Geohash: U4PRUYDQQVJ
Thursday, May 30, 2013
Solr index field Count
ss_geohash_1: U 876,984
ss_geohash_2: U4 59,365
ss_geohash_3: U4P 2,567
ss_geohash_4: U4PR 753
ss_geohash_5: U4PRU 156
ss_geohash_6: U4PRUY 34
ss_geohash_7: U4PRUYD 4
ss_geohash_8: U4PRUYDQ 1
ss_geohash_9: U4PRUYDQQ 1
Use geohash as solr “buckets”
Thursday, May 30, 2013
Request a different geohash field (1 through 9)
depending on your zoom level.
Use solr faceting or grouping
Faceting on ss_geohash_5
Facet Count
U4PRU 156
5WP7U 78
DDY0R 56
6SQ2S 23
8E8RG 17
KEV66 1
Thursday, May 30, 2013
Translate the geohash facets back to latitude and
longitude and map them.
Map the facets
Facet Latitude Longitude
U4PRU 57.6 10.4
5WP7U -55.6 -12.1
DDY0R 15.5 -58.7
6SQ2S -21.0 -58.5
8E8RG 21.1 -157.0
KEV66 -23.5 30.0
Thursday, May 30, 2013
(Live demo later)
Thursday, May 30, 2013
Thursday, May 30, 2013
Thursday, May 30, 2013
Thursday, May 30, 2013
Thursday, May 30, 2013
Thursday, May 30, 2013
Thursday, May 30, 2013
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities60
Who Else?
Lev Tsypin - levelos
Leaflet module maintainer
Reinier Battenberg - batje
WMS module maintainer
Jeff Schuler - jeffschuler
Views GeoJSON module maintainer
Hi! My Name is Lev, and I love
Maps!!!
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities61
What Else?
- Starter kit modules
- Mo’better documentation
(end user and developer)
- Module evaluation matrix
(Consistent and objective
ways to rate usefulness/
relevancy of modules)
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities62
It takes a village, more
than just seven dudes...
We Need You!
- Need people to document the solutions that are
working for them
- Need people to help maintain & expand existing
modules
- Need people to help mange issue queues and
train others on the “way of the mapping.”
Thursday, May 30, 2013
05/23/13 Building Bridges, Connecting Communities63
YES!!! How Can I Help?
http://groups.drupal.org/location-and-mapping
- Reach out and TOUCH!
(Everyone mentioned here would
love to hear from you)
- Download some modules and
build something
- Dive into the issue queues
Thursday, May 30, 2013
Building Bridges, Connecting Communities
Evaluate this session at:
portland2013.drupal.org/schedule.
Thank you!
What did you think?
Thursday, May 30, 2013

More Related Content

More from Phase2

Phase2 Health and Wellness Brochure
Phase2 Health and Wellness BrochurePhase2 Health and Wellness Brochure
Phase2 Health and Wellness BrochurePhase2
 
A Modern Digital Experience Platform
A Modern Digital Experience PlatformA Modern Digital Experience Platform
A Modern Digital Experience PlatformPhase2
 
Beyond websites: A Modern Digital Experience Platform
Beyond websites: A Modern Digital Experience PlatformBeyond websites: A Modern Digital Experience Platform
Beyond websites: A Modern Digital Experience PlatformPhase2
 
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8Phase2
 
The Future of Digital Storytelling - Phase2 Talk
The Future of Digital Storytelling - Phase2 TalkThe Future of Digital Storytelling - Phase2 Talk
The Future of Digital Storytelling - Phase2 TalkPhase2
 
Site building with end user in mind
Site building with end user in mindSite building with end user in mind
Site building with end user in mindPhase2
 
Fields, entities, lists, oh my!
Fields, entities, lists, oh my!Fields, entities, lists, oh my!
Fields, entities, lists, oh my!Phase2
 
Performance Profiling Tools and Tricks
Performance Profiling Tools and TricksPerformance Profiling Tools and Tricks
Performance Profiling Tools and TricksPhase2
 
NORTH CAROLINA Open Source, OpenPublic, OpenShift
NORTH CAROLINA Open Source, OpenPublic, OpenShiftNORTH CAROLINA Open Source, OpenPublic, OpenShift
NORTH CAROLINA Open Source, OpenPublic, OpenShiftPhase2
 
Drupal 8 for Enterprise: D8 in a Changing Digital Landscape
Drupal 8 for Enterprise: D8 in a Changing Digital LandscapeDrupal 8 for Enterprise: D8 in a Changing Digital Landscape
Drupal 8 for Enterprise: D8 in a Changing Digital LandscapePhase2
 
Riding the Drupal Wave: The Future for Drupal and Open Source Content Manage...
Riding the Drupal Wave:  The Future for Drupal and Open Source Content Manage...Riding the Drupal Wave:  The Future for Drupal and Open Source Content Manage...
Riding the Drupal Wave: The Future for Drupal and Open Source Content Manage...Phase2
 
Site Building with the End User in Mind
Site Building with the End User in MindSite Building with the End User in Mind
Site Building with the End User in MindPhase2
 
The Yes, No, and Maybe of "Can We Build That With Drupal?"
The Yes, No, and Maybe of "Can We Build That With Drupal?"The Yes, No, and Maybe of "Can We Build That With Drupal?"
The Yes, No, and Maybe of "Can We Build That With Drupal?"Phase2
 
User Testing For Humanitarian ID App
User Testing For Humanitarian ID AppUser Testing For Humanitarian ID App
User Testing For Humanitarian ID AppPhase2
 
Redhat.com: An Architectural Case Study
Redhat.com: An Architectural Case StudyRedhat.com: An Architectural Case Study
Redhat.com: An Architectural Case StudyPhase2
 
The New Design Workflow
The New Design WorkflowThe New Design Workflow
The New Design WorkflowPhase2
 
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)Phase2
 
Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8Phase2
 
How, When, and Why to Patch a Module
How, When, and Why to Patch a Module How, When, and Why to Patch a Module
How, When, and Why to Patch a Module Phase2
 
Drupal Is Not Your Web Site
Drupal Is Not Your Web SiteDrupal Is Not Your Web Site
Drupal Is Not Your Web SitePhase2
 

More from Phase2 (20)

Phase2 Health and Wellness Brochure
Phase2 Health and Wellness BrochurePhase2 Health and Wellness Brochure
Phase2 Health and Wellness Brochure
 
A Modern Digital Experience Platform
A Modern Digital Experience PlatformA Modern Digital Experience Platform
A Modern Digital Experience Platform
 
Beyond websites: A Modern Digital Experience Platform
Beyond websites: A Modern Digital Experience PlatformBeyond websites: A Modern Digital Experience Platform
Beyond websites: A Modern Digital Experience Platform
 
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
A FUTURE-FOCUSED DIGITAL PLATFORM WITH DRUPAL 8
 
The Future of Digital Storytelling - Phase2 Talk
The Future of Digital Storytelling - Phase2 TalkThe Future of Digital Storytelling - Phase2 Talk
The Future of Digital Storytelling - Phase2 Talk
 
Site building with end user in mind
Site building with end user in mindSite building with end user in mind
Site building with end user in mind
 
Fields, entities, lists, oh my!
Fields, entities, lists, oh my!Fields, entities, lists, oh my!
Fields, entities, lists, oh my!
 
Performance Profiling Tools and Tricks
Performance Profiling Tools and TricksPerformance Profiling Tools and Tricks
Performance Profiling Tools and Tricks
 
NORTH CAROLINA Open Source, OpenPublic, OpenShift
NORTH CAROLINA Open Source, OpenPublic, OpenShiftNORTH CAROLINA Open Source, OpenPublic, OpenShift
NORTH CAROLINA Open Source, OpenPublic, OpenShift
 
Drupal 8 for Enterprise: D8 in a Changing Digital Landscape
Drupal 8 for Enterprise: D8 in a Changing Digital LandscapeDrupal 8 for Enterprise: D8 in a Changing Digital Landscape
Drupal 8 for Enterprise: D8 in a Changing Digital Landscape
 
Riding the Drupal Wave: The Future for Drupal and Open Source Content Manage...
Riding the Drupal Wave:  The Future for Drupal and Open Source Content Manage...Riding the Drupal Wave:  The Future for Drupal and Open Source Content Manage...
Riding the Drupal Wave: The Future for Drupal and Open Source Content Manage...
 
Site Building with the End User in Mind
Site Building with the End User in MindSite Building with the End User in Mind
Site Building with the End User in Mind
 
The Yes, No, and Maybe of "Can We Build That With Drupal?"
The Yes, No, and Maybe of "Can We Build That With Drupal?"The Yes, No, and Maybe of "Can We Build That With Drupal?"
The Yes, No, and Maybe of "Can We Build That With Drupal?"
 
User Testing For Humanitarian ID App
User Testing For Humanitarian ID AppUser Testing For Humanitarian ID App
User Testing For Humanitarian ID App
 
Redhat.com: An Architectural Case Study
Redhat.com: An Architectural Case StudyRedhat.com: An Architectural Case Study
Redhat.com: An Architectural Case Study
 
The New Design Workflow
The New Design WorkflowThe New Design Workflow
The New Design Workflow
 
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
 
Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8Memorial Sloan Kettering: Adventures in Drupal 8
Memorial Sloan Kettering: Adventures in Drupal 8
 
How, When, and Why to Patch a Module
How, When, and Why to Patch a Module How, When, and Why to Patch a Module
How, When, and Why to Patch a Module
 
Drupal Is Not Your Web Site
Drupal Is Not Your Web SiteDrupal Is Not Your Web Site
Drupal Is Not Your Web Site
 

Recently uploaded

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Recently uploaded (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

SHOULD HAVE MADE A LEFT TURN AT ALBUQUERQUE: BUILDING MAPS IN DRUPAL

  • 1. Building Bridges, Connecting Communities Brandon Morrison, Patrick Hayes, Josef Dabernig, Pol Dell’Aiera, Tom Nightingale, Rik De Boer, Nate Parsons SHOULD HAVE MADE A LEFT TURN AT ALBUQUERQUE: BUILDING MAPS IN DRUPAL Thursday, May 30, 2013
  • 2. 05/23/13 Building Bridges, Connecting Communities2 !"#$%#&'(!)#%'*+,(-.&&*/0#&'(-.11"&#0#*+ (2#3(%*(!.*)(456789:97;,(:;;8<=7:>? @A$#&3-.$$*/0#B*((((((((((((((((((((C$#&38/.18D" !"#$#%&#'(')"*%+,(-!"#$%&'"()*'+(&*'('%*,-'-$./'(-'0%1$2$*.2$*3'1$4%&4/5'+(67'4/'8.$6(%. EDB#'D0#&'(FDG$D&% (''9''+4/$-*''7"#.-:$-''-".#$5"''-"*''+(6'';$/5%* Thursday, May 30, 2013
  • 3. 05/23/13 Building Bridges, Connecting Communities3! "#!$#%$ &'()*(+,-&.(*,/01-23++/45(+,-2366'+(5(/0 7895-*3-:3'-+//*-; 7895-49+-:3'-89</-; =5:)/0-:3'-49+->(4?@! ! 5.9*(5(3+9)1-+9<(,95(3+9) ! 9.5: ! *959-<(0'9)(095(3+-A-9+9):0(0 B/95'./0-:3'-69:-C9+5@ ! 9'53DE336-53-F(5-9))-69.?/.0 ! 9'53D4/+5/.-3+-<(0(53.-)3495(3+ ! )9:/.0-G/H96>)/@-I>/+J(05/K ! 69.?/.-43)3'.-*(FF/./+5(95(3+ ! 69.?/.-4)'05/.(+,1-8/95-69>0 ! L9))33+01-59,01-533)5(>0 ! )(+/0-9+*-L3.*/.0-G>3):,3+0K ! M ! 69(+59(+/.N0->)9+0-F3.-OP-; Q8/-63L()/-F9453.@! ! 63L()(5: ! '09L()(5: ! >/.F3.69+4/ Thursday, May 30, 2013
  • 4. 05/23/13 Building Bridges, Connecting Communities4! "#$!#%! &'()*(+,-&.(*,/01-23++/45(+,-2366'+(5(/0 ------73-68+9-63*')/0-:;<=: 758.5->/./? @236A8.(03+-3B-68AA(+,-63*')/0C >55A?##*.'A8)D3.,#+3*/#%EFGHGI -----------J84>-63*')/-B3.60-3+/-63K(+,-A8.5-3B-93'.-68AA(+,-03)'5(3+D- 23'+5-3+->8K(+,-53-/6A)39-G-53-L-63*')/0D M3'-48+N5-436O(+/-8+9-!"#$-P(5>-8+9-!"%!D Q3*')/0-8./-85-K8.(3'0-)/K/)0-3B-436A85(O()(591-685'.(591- B/85'./-0/50-8+*-)/+,5>0-3B-(00'/-R'/'/0D SI-T Thursday, May 30, 2013
  • 5. 05/23/13 Building Bridges, Connecting Communities5! "#$%#&% '()*+),-.'/)+-012.34,,056),-.3477(,)6)01 89:.4;.89:.84+(*01 !"#$%"&' !"#&#()*%#+, -%"&' !"*.#()*%#+/ .#()*%#+ 01"+.)2"3/, 4%"5/ !6)1,7,89 :;,!"#,4%"5/<=)1/,7,89 !"#$%"&',=)1 .")$&"*,4%"5/ .")$&"*,7,89>, .")$&"*==)1/ 01"+.)2"3/, 7,89 !##?&", @%&"/ 0*A"3, @%&"/ 0B*1B*,CBDE,"?E .")$&"*,=)3F"3G&B/*"3 !6)1, .#()*%#+ .)*H.#+?,/*#3)?" 4%"5/I,J)&&##+/> $%&*"3%+?>,("+*3%+?EEE K"+'"3%+?EEE 4%"5/, !"#890L Thursday, May 30, 2013
  • 6. 05/23/13 Building Bridges, Connecting Communities6! "#$%#&% '()*+),-.'/)+-012.34,,056),-.3477(,)6)01 869/60/.79:1.;<.=0**4>.?/(:9*0/1 869**.8:46.@A(,B179,9702.C0>.D09*9,+EF !""#$%%&"'((&#)"*+)*,-%./&+)012345/.61"$4!""#$%%555*7+)5/.61"*+)8% G/096.39*-9/<.A016)H9*1.@-9701=/9-0/2.39,9+9EF.!""#$%%621'"+'(6'2971&"/0'(&*+'%4 !"#$$#%& C4/6I.J<,01)+0.34(,5)*.@*0H0***0/2.KLEF !""#$%%89*,)2"!"9,1&/.1*6)0*:;%4!'()*+#($,#-)*./01*234& MN3O.@>0;1791I2.'0*-)(7EF. !""#$%%555*(1+'0-5*<1%"!18'&%0)(;&+'71&=7/1(.>#(''"&>#)&"+).1>0'(:1?@AAA!,56)(*78* 9:7)(;*'87*$#<8& J9/9,64.G04;*4-.@P69*42.P69*<EF4 !""#$%%555*/"'()8'/2)*+)8%61)<()6+8&%/#B()+'"/),&B(1'7(1" A96.J</01.Q4(,69),.')B0.R4(601.@=966</012.KLE$ !""#$%%7'""921&*+)*:;% NS:*4/0.C4/6I.T0,,),01.@791I0/2.KLE$ !""#$%%1C#()21,)2"!#1,,/,1&*)26*:;%/,"12'+"/01B8'# TOTNMNO.@9*-9U9/912.8:9),E$ !""#$%%555*#'#1(1'*1&% Thursday, May 30, 2013
  • 7. 05/23/13 Building Bridges, Connecting Communities7! "#$%#&% '()*+),-.'/)+-012.34,,056),-.3477(,)6)01 8049)0*+ :)0;1 <=.804*45>6)4,.:)0;1.?.@>A1 B0>9*06 >,+C !"#$%"&'()*"'(#+, !"#$%"&'(#*-"*.%/,&"* DE>6F1.,46.64.*)G0H' '''''''''"#,0'&)'+/&'&)1"&2"*3'1*"#&'$"#&/*"',"&3')+&454,"6'$)*'5)74%"3' ,/++)*&,'#88)&#&"6'5#*-"*,3'%48"9,&*481,':'+)%01)8,3 ,;#+'5)6/%",'48<)/&';4&2)/&'*";)*-481'&2"'*",&')$'0)/*',)%/&4)83' #845#&"6'=%/,&"*481')$'/+'&)'>???'5#*-"*, '''''''''''''''@)*'+),&#%'#66*",,",'48,&"#6')$'%#&<%)81'#66A'I++/011J)0*+.K.80454+0/ @)*'7/%-'45+)*&')$'%)=#&4)8,'B"C1C',+*"#6,2""&D'#66A.J00+1 ..........L>1M.7>A.16>/60/.G)6 Thursday, May 30, 2013
  • 8. 05/23/13 Building Bridges, Connecting Communities8 Thursday, May 30, 2013
  • 9. 05/23/13 Building Bridges, Connecting Communities9 Thursday, May 30, 2013
  • 10. 05/23/13 Building Bridges, Connecting Communities10 Thursday, May 30, 2013
  • 11. 05/23/13 Building Bridges, Connecting Communities11 Thursday, May 30, 2013
  • 12. 05/23/13 Building Bridges, Connecting Communities12 Thursday, May 30, 2013
  • 13. 05/23/13 Building Bridges, Connecting Communities13 Thursday, May 30, 2013
  • 14. 05/23/13 Building Bridges, Connecting Communities14 Thursday, May 30, 2013
  • 15. 05/23/13 Building Bridges, Connecting Communities15 Thursday, May 30, 2013
  • 16. 05/23/13 Building Bridges, Connecting Communities16 Thursday, May 30, 2013
  • 17. 05/23/13 Building Bridges, Connecting Communities17 Thursday, May 30, 2013
  • 18. 05/23/13 Building Bridges, Connecting Communities18 Thursday, May 30, 2013
  • 19. 05/23/13 Building Bridges, Connecting Communities19 Thursday, May 30, 2013
  • 20. 05/23/13 Building Bridges, Connecting Communities20 Thursday, May 30, 2013
  • 21. 05/23/13 Building Bridges, Connecting Communities21 Thursday, May 30, 2013
  • 22. 05/23/13 Building Bridges, Connecting Communities22 Thursday, May 30, 2013
  • 23. 05/23/13 Building Bridges, Connecting Communities23 Thursday, May 30, 2013
  • 24. 05/23/13 Building Bridges, Connecting Communities24 Thursday, May 30, 2013
  • 25. 05/23/13 Building Bridges, Connecting Communities25 Thursday, May 30, 2013
  • 26. 05/23/13 Building Bridges, Connecting Communities26 Thursday, May 30, 2013
  • 27. 05/23/13 Building Bridges, Connecting Communities27 Thursday, May 30, 2013
  • 28. 05/23/13 Building Bridges, Connecting Communities28 Thursday, May 30, 2013
  • 29. 05/23/13 Building Bridges, Connecting Communities29 Thursday, May 30, 2013
  • 30. 05/23/13 Building Bridges, Connecting Communities30 Thursday, May 30, 2013
  • 31. 05/23/13 Building Bridges, Connecting Communities31 Thursday, May 30, 2013
  • 32. 05/23/13 Building Bridges, Connecting Communities32 Thursday, May 30, 2013
  • 33. 05/23/13 Building Bridges, Connecting Communities33 Thursday, May 30, 2013
  • 34. 05/23/13 Building Bridges, Connecting Communities34 Thursday, May 30, 2013
  • 35. 05/23/13 Building Bridges, Connecting Communities35 Thursday, May 30, 2013
  • 36. 05/23/13 Building Bridges, Connecting Communities36 Thursday, May 30, 2013
  • 37. 05/23/13 Building Bridges, Connecting Communities37 Thursday, May 30, 2013
  • 38. 05/23/13 Building Bridges, Connecting Communities38 Thursday, May 30, 2013
  • 39. 05/23/13 Building Bridges, Connecting Communities39 Thursday, May 30, 2013
  • 43. The Problem You need an interactive map with millions of datapoints and these datapoints are continuously being updated. The map should be searchable and filterable. Thursday, May 30, 2013
  • 44. Now you have two problems The first problem is cartographic. How do you graphically show a user a map with millions of datapoints? Thursday, May 30, 2013
  • 46. The second problem is technical. How do you scale to millions of datapoint while keeping the map fully searchable and filterable? Thursday, May 30, 2013
  • 48. Geohash Image Credit: http://www.bigdatamodeling.org Example Geohash: U4PRUYDQQVJ Thursday, May 30, 2013
  • 49. Solr index field Count ss_geohash_1: U 876,984 ss_geohash_2: U4 59,365 ss_geohash_3: U4P 2,567 ss_geohash_4: U4PR 753 ss_geohash_5: U4PRU 156 ss_geohash_6: U4PRUY 34 ss_geohash_7: U4PRUYD 4 ss_geohash_8: U4PRUYDQ 1 ss_geohash_9: U4PRUYDQQ 1 Use geohash as solr “buckets” Thursday, May 30, 2013
  • 50. Request a different geohash field (1 through 9) depending on your zoom level. Use solr faceting or grouping Faceting on ss_geohash_5 Facet Count U4PRU 156 5WP7U 78 DDY0R 56 6SQ2S 23 8E8RG 17 KEV66 1 Thursday, May 30, 2013
  • 51. Translate the geohash facets back to latitude and longitude and map them. Map the facets Facet Latitude Longitude U4PRU 57.6 10.4 5WP7U -55.6 -12.1 DDY0R 15.5 -58.7 6SQ2S -21.0 -58.5 8E8RG 21.1 -157.0 KEV66 -23.5 30.0 Thursday, May 30, 2013
  • 60. 05/23/13 Building Bridges, Connecting Communities60 Who Else? Lev Tsypin - levelos Leaflet module maintainer Reinier Battenberg - batje WMS module maintainer Jeff Schuler - jeffschuler Views GeoJSON module maintainer Hi! My Name is Lev, and I love Maps!!! Thursday, May 30, 2013
  • 61. 05/23/13 Building Bridges, Connecting Communities61 What Else? - Starter kit modules - Mo’better documentation (end user and developer) - Module evaluation matrix (Consistent and objective ways to rate usefulness/ relevancy of modules) Thursday, May 30, 2013
  • 62. 05/23/13 Building Bridges, Connecting Communities62 It takes a village, more than just seven dudes... We Need You! - Need people to document the solutions that are working for them - Need people to help maintain & expand existing modules - Need people to help mange issue queues and train others on the “way of the mapping.” Thursday, May 30, 2013
  • 63. 05/23/13 Building Bridges, Connecting Communities63 YES!!! How Can I Help? http://groups.drupal.org/location-and-mapping - Reach out and TOUCH! (Everyone mentioned here would love to hear from you) - Download some modules and build something - Dive into the issue queues Thursday, May 30, 2013
  • 64. Building Bridges, Connecting Communities Evaluate this session at: portland2013.drupal.org/schedule. Thank you! What did you think? Thursday, May 30, 2013