• Save
SHOULD HAVE MADE A LEFT TURN AT ALBUQUERQUE: BUILDING MAPS IN DRUPAL
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
749
On Slideshare
707
From Embeds
42
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
0
Likes
1

Embeds 42

https://twitter.com 42

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Building Bridges, Connecting CommunitiesBrandon Morrison, Patrick Hayes, Josef Dabernig,Pol Dell’Aiera, Tom Nightingale, Rik De Boer,Nate ParsonsSHOULD HAVE MADE A LEFTTURN AT ALBUQUERQUE:BUILDING MAPS IN DRUPALThursday, 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$*31$4%&4/5+(674/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(/07895-*3-:3-+//*-;7895-49+-:3-89</-;=5:)/0-:3-49+->(4?@!! 5.9*(5(3+9)1-+9<(,95(3+9)! 9.5:! *959-<(09)(095(3+-A-9+9):0(0B/95./0-:3-69:-C9+5@! 953DE336-53-F(5-9))-69.?/.0! 953D4/+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*)/0DM3-48+N5-436O(+/-8+9-!"#$-P(5>-8+9-!"%!DQ3*)/0-8./-85-K8.(30-)/K/)0-3B-436A85(O()(591-685.(591-B/85./-0/50-8+*-)/+,5>0-3B-(00/-R//0DSI-TThursday, May 30, 2013
  • 5. 05/23/13 Building Bridges, Connecting Communities5! "#$%#&% ()*+),-./)+-012.34,,056),-.3477(,)6)0189:.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%+?EEEK"+"3%+?EEE4%"5/,!"#890LThursday, May 30, 2013
  • 6. 05/23/13 Building Bridges, Connecting Communities6! "#$%#&% ()*+),-./)+-012.34,,056),-.3477(,)6)01869/60/.79:1.;<.=0**4>.?/(:9*0/1869**.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"+(62971&"/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(17(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)018049)0*+:)0;1<=.804*45>6)4,.:)0;1.?.@>A1B0>9*06>,+C!"#$%"&()*"(#+,!"#$%"&(#*-"*.%/,&"*DE>6F1.,46.64.*)G0H"#,0&)+/&&)1"&2"*31*"#&$"#&/*","&3)+&454,"6$)*5)74%"3,/++)*&,#88)&#&"65#*-"*,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#66AI++/011J)0*+.K.80454+0/@)*7/%-45+)*&)$%)=#&4)8,B"C1C,+*"#6,2""&D#66A.J00+1..........L>1M.7>A.16>/60/.G)6Thursday, May 30, 2013
  • 8. 05/23/13 Building Bridges, Connecting Communities8Thursday, May 30, 2013
  • 9. 05/23/13 Building Bridges, Connecting Communities9Thursday, May 30, 2013
  • 10. 05/23/13 Building Bridges, Connecting Communities10Thursday, May 30, 2013
  • 11. 05/23/13 Building Bridges, Connecting Communities11Thursday, May 30, 2013
  • 12. 05/23/13 Building Bridges, Connecting Communities12Thursday, May 30, 2013
  • 13. 05/23/13 Building Bridges, Connecting Communities13Thursday, May 30, 2013
  • 14. 05/23/13 Building Bridges, Connecting Communities14Thursday, May 30, 2013
  • 15. 05/23/13 Building Bridges, Connecting Communities15Thursday, May 30, 2013
  • 16. 05/23/13 Building Bridges, Connecting Communities16Thursday, May 30, 2013
  • 17. 05/23/13 Building Bridges, Connecting Communities17Thursday, May 30, 2013
  • 18. 05/23/13 Building Bridges, Connecting Communities18Thursday, May 30, 2013
  • 19. 05/23/13 Building Bridges, Connecting Communities19Thursday, May 30, 2013
  • 20. 05/23/13 Building Bridges, Connecting Communities20Thursday, May 30, 2013
  • 21. 05/23/13 Building Bridges, Connecting Communities21Thursday, May 30, 2013
  • 22. 05/23/13 Building Bridges, Connecting Communities22Thursday, May 30, 2013
  • 23. 05/23/13 Building Bridges, Connecting Communities23Thursday, May 30, 2013
  • 24. 05/23/13 Building Bridges, Connecting Communities24Thursday, May 30, 2013
  • 25. 05/23/13 Building Bridges, Connecting Communities25Thursday, May 30, 2013
  • 26. 05/23/13 Building Bridges, Connecting Communities26Thursday, May 30, 2013
  • 27. 05/23/13 Building Bridges, Connecting Communities27Thursday, May 30, 2013
  • 28. 05/23/13 Building Bridges, Connecting Communities28Thursday, May 30, 2013
  • 29. 05/23/13 Building Bridges, Connecting Communities29Thursday, May 30, 2013
  • 30. 05/23/13 Building Bridges, Connecting Communities30Thursday, May 30, 2013
  • 31. 05/23/13 Building Bridges, Connecting Communities31Thursday, May 30, 2013
  • 32. 05/23/13 Building Bridges, Connecting Communities32Thursday, May 30, 2013
  • 33. 05/23/13 Building Bridges, Connecting Communities33Thursday, May 30, 2013
  • 34. 05/23/13 Building Bridges, Connecting Communities34Thursday, May 30, 2013
  • 35. 05/23/13 Building Bridges, Connecting Communities35Thursday, May 30, 2013
  • 36. 05/23/13 Building Bridges, Connecting Communities36Thursday, May 30, 2013
  • 37. 05/23/13 Building Bridges, Connecting Communities37Thursday, May 30, 2013
  • 38. 05/23/13 Building Bridges, Connecting Communities38Thursday, May 30, 2013
  • 39. 05/23/13 Building Bridges, Connecting Communities39Thursday, May 30, 2013
  • 40. Thursday, May 30, 2013
  • 41. Thursday, May 30, 2013
  • 42. Thursday, May 30, 2013
  • 43. The ProblemYou need an interactive map with millions ofdatapoints and these datapoints are continuouslybeing updated. The map should be searchable andfilterable.Thursday, May 30, 2013
  • 44. Now you have two problemsThe first problem is cartographic. How do yougraphically show a user a map with millions ofdatapoints?Thursday, May 30, 2013
  • 45. Thursday, May 30, 2013
  • 46. The second problem is technical. How do you scale tomillions of datapoint while keeping the map fullysearchable and filterable?Thursday, May 30, 2013
  • 47. (Or Elastic Search)Thursday, May 30, 2013
  • 48. GeohashImage Credit: http://www.bigdatamodeling.orgExample Geohash: U4PRUYDQQVJThursday, May 30, 2013
  • 49. Solr index field Countss_geohash_1: U 876,984ss_geohash_2: U4 59,365ss_geohash_3: U4P 2,567ss_geohash_4: U4PR 753ss_geohash_5: U4PRU 156ss_geohash_6: U4PRUY 34ss_geohash_7: U4PRUYD 4ss_geohash_8: U4PRUYDQ 1ss_geohash_9: U4PRUYDQQ 1Use 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 groupingFaceting on ss_geohash_5Facet CountU4PRU 1565WP7U 78DDY0R 566SQ2S 238E8RG 17KEV66 1Thursday, May 30, 2013
  • 51. Translate the geohash facets back to latitude andlongitude and map them.Map the facetsFacet Latitude LongitudeU4PRU 57.6 10.45WP7U -55.6 -12.1DDY0R 15.5 -58.76SQ2S -21.0 -58.58E8RG 21.1 -157.0KEV66 -23.5 30.0Thursday, May 30, 2013
  • 52. (Live demo later)Thursday, May 30, 2013
  • 53. Thursday, May 30, 2013
  • 54. Thursday, May 30, 2013
  • 55. Thursday, May 30, 2013
  • 56. Thursday, May 30, 2013
  • 57. Thursday, May 30, 2013
  • 58. Thursday, May 30, 2013
  • 59. Thursday, May 30, 2013
  • 60. 05/23/13 Building Bridges, Connecting Communities60Who Else?Lev Tsypin - levelosLeaflet module maintainerReinier Battenberg - batjeWMS module maintainerJeff Schuler - jeffschulerViews GeoJSON module maintainerHi! My Name is Lev, and I loveMaps!!!Thursday, May 30, 2013
  • 61. 05/23/13 Building Bridges, Connecting Communities61What Else?- Starter kit modules- Mo’better documentation(end user and developer)- Module evaluation matrix(Consistent and objectiveways to rate usefulness/relevancy of modules)Thursday, May 30, 2013
  • 62. 05/23/13 Building Bridges, Connecting Communities62It takes a village, morethan just seven dudes...We Need You!- Need people to document the solutions that areworking for them- Need people to help maintain & expand existingmodules- Need people to help mange issue queues andtrain others on the “way of the mapping.”Thursday, May 30, 2013
  • 63. 05/23/13 Building Bridges, Connecting Communities63YES!!! How Can I Help?http://groups.drupal.org/location-and-mapping- Reach out and TOUCH!(Everyone mentioned here wouldlove to hear from you)- Download some modules andbuild something- Dive into the issue queuesThursday, May 30, 2013
  • 64. Building Bridges, Connecting CommunitiesEvaluate this session at:portland2013.drupal.org/schedule.Thank you!What did you think?Thursday, May 30, 2013