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

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Recently uploaded (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

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