Pollmaps - 2011 Esri UC Presentation

611 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
611
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • We want to point out that you don’t need to take lots of notes because we’ll be posting this presentation on our Mapping Center Web site on the Other Resources page. The bottom notes will have everything we are going to say.So, in this session, you can sit back and focus on the concepts and demos about mapping with ArcGIS. And maybe you will think of a few questions you want to ask us.We’ll show these URLs again at the end of this talk. But now, let’s get started.
  • Intro (5 minutes) { Jim }IntroCrowd surveyBackgroundHow the project(s) came aboutLong-term: Build a voting template for local govShort-term: Try to make something viral and crowd-sourced for the superbowlEssence of user experience: plant a flag in your backyard, put yourself and your allegiance on the mapWhat, why, how[Endgame was to create a template for building voting apps]
  • This project began as a hallway conversation about various maps we’d seen which represent public opinion. In many cases, the aggregation unit (e.g. states or counties) obscures the actual voting patterns that exist at larger scales, such as at the neighborhood level or even city level.
  • How the project(s) came aboutLong-term: Build a voting template for local governmentShort-term: Try to make something viral and crowd-sourced for the superbowlEssence of user experience: plant a flag in your backyard, put yourself and your allegiance on the mapHow can the cartography enhance the user experience (move beyond “dots on maps” approach)?
  • Jim passes things along to Alex
  • Key to a successful web project is a diverse team with distinct roles and responsibilities. http://www.flickr.com/photos/americanistadechiapas/5504689399/
  • Our team consisted of: a customer (Charlie) who went to the Project Manager (Jim) and asked for a web map that could take votes and show them on a map. Jim then found a developer (Alex). Jim knew he could handle all the data work, but needed someone to build the application itself. We then assembled a team of other people to handle the remaining pieces: maps and design (Mamata) and server deployments and maintenance (Kenny).
  • The whiteboard was instrumental during the requirements phase, helping us sort out what was possible vs. what was essential.
  • Here is the basic spec we came up with after our preliminary planning meeting. Most important here are the first two items: our audience and the core functionality.
  • NowMamata and I will continue the FanMap story with some more juicy details about the production process…
  • First up is Mamata, who will delve into the aesthetic side of the application
  • Mamata passes off to Alex
  • Demo
  • Everything on one serverVote Symbology: Client-side+ Great for dynamic, algorithmic cartography+ Easy to add interactivity- Slow to draw once you get a few thousand featuresSummarization: Client-sideSlow once you get a few thousand features, locks up UISymbology – Feature ServiceShow symbol renderer codeExplain advantages of using client-side renderingClient-side color ramps, manual classing, proportional symbolsSymbol scaling can depend on the current number of votesExample: if votes > 50 && votes < 75: symbol size = maxTotalVotes/4Or if maxTotalVotes > 1000: use renderer A otherwise user renderer BLimitations: 3-4k features for Flex APITODO: research or ask and see when the JS api maxes out?Working on this now with JS people…Reporting – Client-side via Feature ServiceAdvantages (simplicity, speed at low feature counts)Already have all the features in the client for symbolization, just loop through and calculate your statsDrawbacks (slowness at large feature counts, UI lockups)Looping through large feature sets locks the UI in most web clients (Flex in this case)
  • {Alex takes over here?}Now that we’ve talked a little bit about the basemap, let’s talk a little bit about the vote symbology. On a basic level, the colors represent each team that was in a specific match-up and the size of the symbol represents number of votes for a given team. BUT there is more to the story.
  • Symbology – Feature ServiceShow symbol renderer codeExplain advantages of using client-side renderingClient-side color ramps, manual classing, proportional symbolsSymbol scaling can depend on the current number of votesExample: if votes > 50 && votes < 75: symbol size = maxTotalVotes/4Or if maxTotalVotes > 1000: use renderer A otherwise user renderer BLimitations: 3-4k features for Flex APITODO: research or ask and see when the JS api maxes out?Working on this now with JS people…Reporting – Client-side via Feature ServiceAdvantages (simplicity, speed at low feature counts)Already have all the features in the client for symbolization, just loop through and calculate your statsDrawbacks (slowness at large feature counts, UI lockups)Looping through large feature sets locks the UI in most web clients (Flex in this case)
  • Everything on one serverVote Symbology: Client-side+ Great for dynamic, algorithmic cartography+ Easy to add interactivity- Slow to draw once you get a few thousand featuresSummarization: Client-sideSlow once you get a few thousand features, locks up UISymbology – Feature ServiceShow symbol renderer codeExplain advantages of using client-side renderingClient-side color ramps, manual classing, proportional symbolsSymbol scaling can depend on the current number of votesExample: if votes > 50 && votes < 75: symbol size = maxTotalVotes/4Or if maxTotalVotes > 1000: use renderer A otherwise user renderer BLimitations: 3-4k features for Flex APITODO: research or ask and see when the JS api maxes out?Working on this now with JS people…Reporting – Client-side via Feature ServiceAdvantages (simplicity, speed at low feature counts)Already have all the features in the client for symbolization, just loop through and calculate your statsDrawbacks (slowness at large feature counts, UI lockups)Looping through large feature sets locks the UI in most web clients (Flex in this case)
  • Incremental Voting: Client-side+ Uses the new FeatureLayer for easy-peazy feature editing- Vote collisions when using incremental voting- Requires ArcSDEWhy it didn’t work hereClient A loads the map, pulls current vote count: xClient B loads the map, pulls current vote count: xClient A and B both send votes for zip code z:votesLayer.applyEdits(votes=x+1)Vote count gets updated twice, but both times with the same value, and ends up at x+1 even though two votes were submitted!http://www.flickr.com/photos/viriyincy/2535350990/
  • Demo the app Summarization extent saving voting social media capabilities panes
  • The spec for our second FanMap is much the same as the Superbowl version with a few key differences:ConfigurabilityDifferent platform (JS)Higher expected user load and multi-tier architecture
  • Importance of architecture before deployment
  • As you’ll recall, theSuperbowlFanMap was based on a very simple, Client/Server architecture with lots of functionality delegated to the web app itself, for the NCAA FanMap we moved to a multi-tier architecture to isolate each major functional area
  • Starting at the top, we have one server dedicated entirely to serving and storing our data, which is stored in an ArcSDE-enabled MS SQL database.Next, we have two client-facing tiers:-one made up of two web/map servers covered by a load-balancer to serve up all the maps and the application itself, -and one GP server to handle the core application logic of voting and summarization, which are served as geoprocessing services
  • http://www.flickr.com/photos/kristinausk/2245209899/
  • http://www.flickr.com/photos/kristinausk/2245209899/
  • I am going to take a little time to talk about some of the specific decisions that went into designing the base map and symbology that is in the FanMap.
  • Now that we’ve talked a little bit about the basemap, let’s talk a little bit about the vote symbology. On a basic level, the colors represent each team that was in a specific match-up and the size of the symbol represents number of votes for a given team. BUT there is more to the story.
  • To symbolize each vote, we used Quantities>Graduated Symbols. There were six custom classes created ranging from 1 vote to 800 votes. Anyone wondering why the symbol size ranges from 3.56 to 15? Well, let’s take a look and get into some more specifics about why we see that odd minimum size symbol and what we found out about what symbol types are best to use for this dynamic map service.
  • As alex mentioned, for the SuperbowlFanMap, all of the vote symbology was drawn on the client side. Even though the votes were slow to draw, we got a really good graphic representation and that’s what we were aiming for with this app as well.So first, let’s talk about the symbol type that we are using.
  • Typically, when you opt to symbolize your data using Quantities>Graduated Symbols, ArcMap defaults to using Simple Marker Symbols. What we found is if we used Character Marker Symbols is that we got better rendering of symbols. This also gave us better control over the look of the outline. With Simple Marker Symbols, the outline is a fixed part of the symbol. On the other hand, with Character Marker Symbols you are using fonts and have better control over sizing each part of the multi-layer symbol. Another reason we are using Character Marker symbols is because these symbols when displayed render more like circles compared to Simple Marker Symbols.But we also had to manipulate one other property of the symbol…
  • Now let’s talk about these interesting numbers you see for symbol size… especially the minimum sized one. It took a bit of trial and error, but what we found is that by setting the minimum size of the symbol to a non-integer value, that all of the symbols looked more like symbols.All of these pieces combined gave us very similar results to the client side rendering achieved with the Superbowl application.
  • Also, the vote symbology is a multi-scale operational overlay. As you can see here, each team’s mxd had three group layers: very small scales, small scales, and large scales. For each one of the group layers, the symbol sizes representing a specific vote class was increased depending on the viewing scale in the application.We also had two sets of symbology we were using one for many votes, and one for fewer votes (when the application was first releasedWhen the application was first released, we had one set of classifications and symbol sizes as you can see, the TOC shot on the right, uses larger symbol sizes at all of the scale ranges while the second shot of the TOC uses smaller symbol sizes.You’ll also notice that our largest number was 100, and then we increased that to 800 once more people started voting for team preferences.
  • The cloud offers us convenient access and control over any number of pre-configured servers Eliminates the need to have to request for new hardware or software You can get a machine up and running with ArcGIS software in as little as 10 minutesYou can save images of your machines that you can use to start up new machines or use as backups in case you mess something upAll the data in the cloud can be replicated or backed up using volumes or snapshotsVolumes are virtual harddrives which you can attach or detach at anytimeSnapshots are images of these harddrives which you can use as backupsSo even if you have problems with your machine, you can start up a new machine and attach your volume to it very quicklyWhen we realized how popular our app was getting, we switched to using higher configuration machines that had more memory and processing powerWe made sure to regularly create images of our machines so that we could revert to previous versions when we encounter problemsThis also gives us the ability to easily add or remove machines to deal with spikes or drops in traffic
  • The biggest advantage of using the cloud for a large scale deployment is the ability to replicate your servers.For the FanMap, we had daily updates made to the servers whether it was to update the code or the map services. We had two map servers which we updated one by one so that there was always one running and service would not be interrupted. We simply made an image of the main instance, launched it, remove the previous version from the load balancer, and added the new version.And then we have the load balancer. Even with peak traffic, our map servers were never overwhelmed because the load balancer did a good job distributing the workload between them.Finally, we made sure our two map servers were located in different physical regions so that the app would still be running even if there was an outage in one region.To make sure we could handle the amount of traffic that our servers had to deal with, we also made sure to regularly monitor our server performances. We set up Performance Monitor logs that kept track of how much resources was being used for specific functions on each serverWe constantly checked to make sure that our CPU usage wasn’t going off the charts in the Task Manager
  • Deploying our app in the cloud allowed us to learn a few things, unfortunately, the hard way.While creating images of machines, the machines are inaccessible for about 10-15 minutes (depending on size of machine)The main problem with using virtual machines is transferring files over to them. We transferred our cache over to our machines via FTP and it took a long time. One option for avoiding this is to copy your data over and cache it on the cloud. You can cache using a more powerful caching machine there and then transfer the volume over to a less powerful and cheaper machine.Finally, the most important thing that we realized is the need to plan out our security settings in advance because security groups cannot be changed once an instance is started. Security groups determine access permissions for the machines and play a big role in safeguarding your servers from getting hacked.
  • When we first developed this app, we had all the servers in just one security group but we realized that we wouldn’t be able to modify the settings for individual machines and if one machine was compromised, the others would be compromised as well.
  • So we switched to a multi-tiered security system, with each server type getting assigned its own security group.This way we would be able to set the security settings for each individual machine. For example, we allowed HTTP access to the web servers, but not to the other two.Having multiple security groups also makes it much harder for the servers to get hacked since there are three different levels of protection.
  • One version of the PollMap Template is available on ArcGIS.com right now. Enter “pollmap” in the search box (may need to switch “Show:” option at the top of the screen to “All Content”)
  • Unzip the file to your wwwroot directory, under /WaterPoll (or any other name desired – this documentation assumes /WaterPoll. You can use anything you want, but fair warning: you won’t want to change this later unless you absolutely have to.
  • The cloud offers us convenient access and control over any number of pre-configured servers Eliminates the need to have to request for new hardware or software You can get a machine up and running with ArcGIS software in as little as 10 minutesYou can save images of your machines that you can use to start up new machines or use as backups in case you mess something upAll the data in the cloud can be replicated or backed up using volumes or snapshotsVolumes are virtual harddrives which you can attach or detach at anytimeSnapshots are images of these harddrives which you can use as backupsSo even if you have problems with your machine, you can start up a new machine and attach your volume to it very quicklyWhen we realized how popular our app was getting, we switched to using higher configuration machines that had more memory and processing powerWe made sure to regularly create images of our machines so that we could revert to previous versions when we encounter problemsThis also gives us the ability to easily add or remove machines to deal with spikes or drops in traffic
  • Label and Title appear to the user on theVoteWindow page and on the chartrespectivelyValue is the field name this choice is linked to in the map serviceColor is the chart color, fill first, then outline.
  • The cloud offers us convenient access and control over any number of pre-configured servers Eliminates the need to have to request for new hardware or software You can get a machine up and running with ArcGIS software in as little as 10 minutesYou can save images of your machines that you can use to start up new machines or use as backups in case you mess something upAll the data in the cloud can be replicated or backed up using volumes or snapshotsVolumes are virtual harddrives which you can attach or detach at anytimeSnapshots are images of these harddrives which you can use as backupsSo even if you have problems with your machine, you can start up a new machine and attach your volume to it very quicklyWhen we realized how popular our app was getting, we switched to using higher configuration machines that had more memory and processing powerWe made sure to regularly create images of our machines so that we could revert to previous versions when we encounter problemsThis also gives us the ability to easily add or remove machines to deal with spikes or drops in traffic
  • This sample from Ireland shows a “Happiness Index” discussed on a radio broadcast from time to time.North American postal codes are replaced by a mixture of Irish cities and townlandsOpted for a basemap which showed more small towns at scales 144k and below, for local patterns
  • This sample from Ireland shows a “Happiness Index” discussed on a radio broadcast from time to time.North American postal codes are replaced by a mixture of Irish cities and townlandsOpted for a basemap which showed more small towns at scales 144k and below, for local patterns
  • The biggest advantage of using the cloud for a large scale deployment is the ability to replicate your servers.For the FanMap, we had daily updates made to the servers whether it was to update the code or the map services. We had two map servers which we updated one by one so that there was always one running and service would not be interrupted. We simply made an image of the main instance, launched it, remove the previous version from the load balancer, and added the new version.And then we have the load balancer. Even with peak traffic, our map servers were never overwhelmed because the load balancer did a good job distributing the workload between them.Finally, we made sure our two map servers were located in different physical regions so that the app would still be running even if there was an outage in one region.To make sure we could handle the amount of traffic that our servers had to deal with, we also made sure to regularly monitor our server performances. We set up Performance Monitor logs that kept track of how much resources was being used for specific functions on each serverWe constantly checked to make sure that our CPU usage wasn’t going off the charts in the Task Manager
  • The biggest advantage of using the cloud for a large scale deployment is the ability to replicate your servers.For the FanMap, we had daily updates made to the servers whether it was to update the code or the map services. We had two map servers which we updated one by one so that there was always one running and service would not be interrupted. We simply made an image of the main instance, launched it, remove the previous version from the load balancer, and added the new version.And then we have the load balancer. Even with peak traffic, our map servers were never overwhelmed because the load balancer did a good job distributing the workload between them.Finally, we made sure our two map servers were located in different physical regions so that the app would still be running even if there was an outage in one region.To make sure we could handle the amount of traffic that our servers had to deal with, we also made sure to regularly monitor our server performances. We set up Performance Monitor logs that kept track of how much resources was being used for specific functions on each serverWe constantly checked to make sure that our CPU usage wasn’t going off the charts in the Task Manager
  • Pollmaps - 2011 Esri UC Presentation

    1. 1. Poll Maps: Concept, Planning, Design and Implementation<br />Alex Yule, Jim Herries, Mamata Akella, Kenny Ling<br />Esri Mapping Center Team<br />July 2011<br />
    2. 2. mappingcenter.esri.com<br />
    3. 3. Jim Herries<br />Poll Maps: Intro<br />
    4. 4. The FanMap/PollMap Project<br /><ul><li>How do people represent their opinions?
    5. 5. Often opinions are represented on the map at a scale and aggregation level convenient to the database
    6. 6. Can the map itself encourage participation through better representation?</li></li></ul><li>The FanMap/PollMap Project<br /><ul><li>Long term goal: a template that allows people to put their opinions on the map
    7. 7. Short term goal: build something for a specific event
    8. 8. What kind of map and application would encourage people to vote on a topic?
    9. 9. Can it be something they would pass along to others?</li></li></ul><li>The Plan<br />Intro<br />SuperbowlFanMap<br />Basketball FanMap<br />Earth Day PollMap<br />Configuring the PollMap Template<br />Superbowl<br />Basketball<br />Earth Day<br />8 Weeks<br />2 Weeks<br />1 Week<br />
    10. 10. Alex Yule, Mamata Akella<br />FanMap: SuperbowlEdition Demo<br />
    11. 11. Building a Team<br />Photo credit: americanistadechiapas @ flickr<br />
    12. 12. Building a Team<br />Customer (Charlie Frye)<br />Lead Developer (Alex Yule)<br />Project Manager/Data Guru (Jim Herries)<br />Cartographer/Designer (MamataAkella)<br />Sysadmin (Kenny Ling)<br />Friends for testing, UI advice, moral support (Mapping Center Team & Co.)<br />
    13. 13. Conceptual Planning<br />Audience: General Public (sports fans)<br />Functionality:<br />Vote submission<br />Vote display<br />Vote reporting<br />Geolocation<br />Look and feel: Dark, minimalist slate basemap with slick UI<br />
    14. 14. SuperbowlFanMap: Conceptual Planning<br />Audience: General Public (sports fans)<br />Functionality:<br />Vote submission<br />Vote display<br />Vote reporting<br />Geolocation<br />Look and feel: Dark, minimalist slate basemap with slick UI<br />Platform: Flex<br />User load: Low with slight potential for virality<br />Deployment target: Single rack server<br />
    15. 15. SuperbowlFanMap: Production<br />
    16. 16. Mamata Akella<br />SuperbowlFanMap: Aesthetics<br />
    17. 17. SuperbowlFanMap: Basemap Design<br />Less is more<br />Features<br />Labels<br />Color<br />Supports better visualization of thematic content<br />
    18. 18. SuperbowlFanMap: “Map Sandwich”<br /><ul><li>How it works
    19. 19. The ‘basemap’ is split into two map services:
    20. 20. Reference (top)
    21. 21. Base (bottom)
    22. 22. Combined with thematic content (middle)
    23. 23. Client-side Votes layer</li></li></ul><li>SuperbowlFanMap: Special Effects<br />Participating city<br />Large city<br />Medium city<br />Small city<br /><ul><li>Label hierarchy
    24. 24. Cities with participating teams highest</li></li></ul><li>SuperbowlFanMap: Special Effects<br />Projection<br />Winkel-Tripel<br />Modified central meridian<br />
    25. 25. SuperbowlFanMap Production: Web Client<br />
    26. 26. FanMap Production: Superbowl Story<br />
    27. 27. SuperbowlFanMap: Architecture<br />Client<br />Web/Map Server<br />Basemap<br />Application<br />Feature Service<br />SDE<br />GDB<br />Voting Logic<br />Vote Symbolization<br />Summarization<br />
    28. 28. SuperbowlFanMap: Vote Symbology<br /><ul><li>Symbolized in the client
    29. 29. Color
    30. 30. Classed, based on team colors
    31. 31. Transparent!
    32. 32. Size
    33. 33. Number of total votes
    34. 34. Outline
    35. 35. Better visibility for overlapping symbols</li></li></ul><li>SuperbowlFanMap: Tech Vocab<br />SDE<br />Spatially-enables an RDBMS such as Microsoft SQL Server and enables access from ArcGIS clients<br />Required for publishing editing-enabled services<br />FeatureService<br />Type of data service that allows client to access and edit features<br />Allows editing if used with a FeatureLayer and ArcSDE<br />Web/Map Server<br />Basemap<br />Application<br />Feature Service<br />SDE<br />GDB<br />
    36. 36. VIRAL: A nice problem to have<br />Sports Illustrated:<br />
    37. 37. SuperbowlFanMap: Architectural Issues<br />Client<br />High Server Load<br />Slow response time for app, maps<br />High Client Load<br />High number of features result in slow drawing, panning<br />UI lockup during vote summarization<br />Web/Map Server<br />SDE<br />GDB<br />Basemap<br />App<br />Feature Service<br />Voting<br />Vote Symbolization<br />Summarization<br />
    38. 38. SuperbowlFanMap Production: Vote Collisions<br />Photo credit: viriyincy @ flickr<br />
    39. 39. Alex Yule, MamataAkella, Kenny Ling<br />Basketball FanMap: Demo<br />
    40. 40. Conceptual Planning<br />Audience: General Public (sports fans)<br />Functionality:<br />Same as Superbowl app<br />Configurability<br />Look and feel: Dark, minimalist slate basemap with slick UI<br />Existing codebase: SuperbowlFanMap<br />Platform: Javascript<br />User load: Moderate with potential for large viral spikes <br />10 concurrent users<br />Deployment target: 4-tier Amazon cloud<br />
    41. 41. Basketball FanMap<br />Architecture<br />Production<br />Prototyping<br />Building<br />Designing<br />Deployment<br />
    42. 42. Basketball FanMap: Architecture<br />Web/Map Server<br />Client<br />SDE<br />GDB<br />Basemap<br />App<br />Feature Service<br />SDE GDB<br />Voting<br />Vote Symbolization<br />Summarization<br />Web/Map Servers<br />GP Server<br />Maps<br />App<br />Summarization<br /> Voting<br />Load Balancer<br />
    43. 43. Basketball FanMap: Architecture<br />GP Server<br />SDE GDB<br />Web/Map Servers<br />Summarization<br /> Voting<br />Maps<br />App<br />Load Balancer<br /><ul><li> Multi-tier architecture</li></li></ul><li>Basketball FanMap: Production – Server-side!<br />
    44. 44. Basketball FanMap: Production – Server-side!<br />Vote Symbology: Dynamic map services<br />– Must create a separate map service for each game<br />– Increased server load<br />+ Can handle unlimited numbers of features<br />Voting: Geoprocessing service<br />– Harder to setup (custom python GP tool)<br />+ Simpler to deploy (ArcSDE not required)<br />+ Handles collisions automatically<br />Summarization: Geoprocessing service<br />– Harder to setup (custom python GP tool)<br />+ Handles unlimited features<br />
    45. 45. FanMap Production: Prototyping the UI<br />
    46. 46. FanMap Production: Prototyping the UI<br />
    47. 47.
    48. 48.
    49. 49. Basketball FanMap Prototyping: Voting<br />Start with the highest risk functionality (voting)<br />Get that working, then move on<br />Mock out steps for vote service<br />
    50. 50. Basketball FanMap Prototyping: Voting Service<br />SDE GDB<br />Inputs<br />User ID<br />Insert new row with all vote data:<br />User ID, DateTime, Location, Votes<br />Insert Cursor (Votes)<br />Location<br />Votes<br />where locationfield == Location<br />for vote in Votes: votefield += 1<br />Update Cursor (Places)<br />Places<br />Votes<br />
    51. 51. Basketball FanMap Prototyping: Voting<br />Start with the highest risk functionality (voting)<br />Get that working, then move on<br />Mock out steps for vote service<br />Test each step in ArcMap<br />Put steps together into script<br />Test in ArcMap as script tool<br />Publish and test as GP service<br />Integrate into App<br />
    52. 52. Basketball FanMap Prototyping: Summarization<br />Output Table<br />Inputs<br />Extent<br />Select all features in Extent <br />with at least some votes <br />for these teams<br />Select Features<br />Fields<br />(Teams)<br />Stats<br />Construct summary_stats<br />String so we get SUM<br /> for each field<br />Construct Stats String<br />Summary Stats<br />Get SUM of each field<br />In Selected Features<br />
    53. 53. Mamata Akella<br />Basketball FanMap Aesthetics<br />
    54. 54. Basketball FanMap: “Map Sandwich”<br />How it works<br />The ‘basemap’ is split into two map services:<br />Reference (top)<br />Base (bottom)<br />Combined with thematic content<br />Votes (middle)<br />
    55. 55. Basketball FanMap: Vote Symbology Basics<br /><ul><li>Color
    56. 56. Based on each university’s team colors
    57. 57. Gray = tied
    58. 58. Size
    59. 59. Total number of votes
    60. 60. Outline
    61. 61. Better visibility for overlapping symbols</li></li></ul><li>Basketball FanMap: Vote Symbology Basics<br />Quantities > Graduated Symbols<br />
    62. 62. Basketball FanMap: Vote Symbology Specifics<br />
    63. 63. Basketball FanMap: Vote Symbology Specifics<br />
    64. 64. Basketball FanMap: Vote Symbology Specifics<br />Minimum Symbol Size<br />Non integer<br />Better rendering<br />
    65. 65. Basketball FanMap: Vote Symbology Specifics<br />Low Vote<br />High Vote<br />Vote symbology<br />Multi-scale<br />Varied by time period<br />
    66. 66. ITERATE!<br />
    67. 67. ITERATE!<br />
    68. 68. Kenny Ling<br />Basketball FanMapDeployment<br />
    69. 69. FanMap – Deployment/Architecture<br />Why use it?<br />Amazon Machine Images (AMIs)<br />No need for new hardware requests or software installation<br />Start up new machines or backup<br />Data portability+reliability<br />Volumes<br />Snapshots<br />Deployment<br />Higher configuration machines<br />Machine replicas<br />
    70. 70. FanMap – Deployment/Architecture<br />Replicating your servers<br />Updating services<br />Load balancing<br />Failsafe in case Amazon servers in one region goes down<br />Monitoring your services<br />Set up Performance Monitor logs<br />Track performance in Task Manager<br />
    71. 71. FanMap – Deployment/Architecture<br />Things to be aware of:<br />Instances are inaccessible whilst creating images<br />Transferring your cache to the cloud may take a long time<br />Option: Cache in the cloud<br />Plan security settings/groups in advance<br />Security groups cannot be changed once instance is started<br />
    72. 72. FanMap – Deployment/Architecture<br />GP Server<br />SDE GDB<br />Security Group<br />Web/Map Servers<br />Summarization<br /> Voting<br />Maps<br />App<br />Load Balancer<br />
    73. 73. FanMap – Deployment/Architecture<br />GP Server<br />Security Group 2<br />SDE GDB<br />Web/Map Servers<br />Summarization<br /> Voting<br />Maps<br />App<br />Load Balancer<br />Security Group 3<br />Security Group 1<br />
    74. 74. Jim Herries<br />Part II: Using the PollMap Template<br />
    75. 75. FanMap PollMap: Birth of a Template<br />What’s Included<br />Application source code<br />Geoprocessing source code<br />Map service MXDs<br />Data for postal codes in the U.S. and Canada<br />URLs to basemaps you can use during development<br />Simple documentation<br />http://bit.ly/pollmaptemplate<br />
    76. 76. Superbowl<br />Basketball<br />Earth Day<br />Earth Day PollMap: the FanMap Goes Green!<br />8 Weeks<br />2 Weeks<br />1 Week<br />
    77. 77. Download the PollMap Template<br />W<br />
    78. 78. Download the PollMap Template<br />Download .ZIP file <br />Unzip to a convenient folder<br />Read the “Getting Started” document<br />
    79. 79. Copy Application folder contents<br />Open the Application folder<br />Copy PollMap folder over to c:/inetpub/wwwroot (or equivalent)<br />
    80. 80. Set up you Question First in VoteWindow.html <br />Getting the question right takes iteration<br />This template is best for multiple A vs. B types of questions<br />
    81. 81. Set up choices in the config.js file<br />Simple choices <br />
    82. 82. Set up maps and services in the config.js file<br />Follow the Getting Started document<br />
    83. 83. Sample from Ireland<br />
    84. 84. Sample from Ireland<br />
    85. 85. Conclusion<br />
    86. 86. Thank You!<br />Alex Yule - ayule@esri.com - twitter: @yuletide<br />Jim Herries: jherries@esri.com - twitter: @jherries<br />MamataAkella: makella@esri.com<br />Kenny Ling: kling@esri.com<br />Mapping Center Team<br />http://mappingcenter.esri.com<br />twitter: @mappingcenter<br />

    ×