1. Diverse Opportunities to Compile and Share Maps:Lessons Learned through the Esri User Conferenceblah, blah, blah… Aileen Buckley, Alex Yule, Andrew Skinner, and Craig McCabe Esri Mapping Center Team
2. The UC 2010 Map Extravaganza! Aileen Buckley, Alex Yule, Andrew Skinner, and Craig McCabe Esri Mapping Center Team
3. Outline Print maps Products Pocket agenda maps Large-format agenda maps EdUC and Homeland Security Summit maps Lunch map Image map (Hotel map) (Hallway maps) (Downtown San Diego map) Cartographic data model for interior spaces CAD to ArcGIS Multiple floor levels Functional space Online maps Products Maps Map services Cached map service for each floor level Integration with topo basemap Application Room and Route Finder Room finding functionality (client-side) Routing service Rooms -> doors Routes connecting all doors Floor transitions QC – error-sensitive GP task leads to a service crash Bells and whistles – functionality for overview map, legend, scale indicators, email, etc… 3rd party iPhone app Consumed our routing service Future work Link to conference agenda/personal scheduler Enhanced network Map of exhibitor space Automated network QC Time-sensitive Adding amenities Exterior space (downtown San Diego) Mobile client app – fully functional Mapping Center Team
5. A plethora of maps… Pocket agenda maps Large-format agenda maps Education UC and Homeland Security Summit maps Lunch map Image map* Hotel map** Hallway maps** Downtown San Diego map*** in production** for 2011 Mapping Center Team
6. Additional online maps… Map services Cached map service for each floor level Integration with topo basemap service Application Room and Route Finder Room finding functionality Routing service Bells and whistles ArcGIS for iPhone (via ArcGIS.com) Mapping Center Team
7. 3rd party iPhone app Consumed our routing service Replace with different graphic – from Mansour? Mapping Center Team
12. A closer look… Numbers for persistent features/ events Letters for temporary features/ events Symbols explained in legend (legend continued on secondpage) No superflous detail Inaccessible areas Legible labels Legible icons
29. Application Services: 8 Map Services 1 per floor for UC maps (4) Labels, topobasemap + additions (2), locator map 1 Error-Sensitive GP Service Running off cartographic-quality 3d network Built with Flex 3, ArcGIS API for Flex 2 Semi-Model/Controller/Command Custom skins & components Client-side management of levels (and graphics)
37. Future work Link to conference agenda/personal scheduler Enhanced network Map of exhibitor space Exterior space (downtown San Diego) Automated network QC Time-sensitive routing Adding amenities Mobile client Mapping Center Team
41. App flow Rudimentary de-coupled, event-driven architecture, some model/controller/command elements Classes Route Command A command class to build, issue and handle the results from our magical gp task StopsManager Parses the route segments into “stops” to display in the RouteNavigatorusing Floor/Building combinations MapViewController Listens for MapView events and responds by setting the map extent and active floor layer DrawRouteCommand Handles drawing the route segments on the proper floors, as well as route symbology (start, end floor transition points) FindRoomCommand Waits for a FindRoomEvent, then zooms the map to the room passed by event.data FloorManager Responds to FloorChangeEvents by setting the current floor and fading the overlay layer out and in to hide load delays Components FloorChooser Legend LocatorMap RouteChooser Where you input your desired route or room to find RouteNavigator Displays the route “stops”
Notas do Editor
For this year’s ESRI International User Conference we offered to compile new maps for the pocket agendas that are distributed to all attendees. This quickly mushroomed into a project that included the compilation of a number of additional maps for a mix of media. Print maps included 3.5” by 6” page maps showing multiple floor levels of the three buildings used for the conference. We then created A size (8.5” by 11”) versions of these, as well as maps at this size for two special events held during the conference. We also compiled a map of nearby restaurants offering discounts that was posted on the Web in PDF format so it could be downloaded and printed.We then began work on a Web map application that allowed users to find rooms and route between them. This was mashed up onto the world topographic map that is available on ArcGIS Online. The Web map application included scale ranges from ~1:18,000 to ~1:1,000, with interior building views at ~1:4,000, ~1:2,000 and ~1:1000 for each of the floor levels. Additionally, a 3D interior building model was created for the convention center, and an iPhone application for routing and room finding was developed in conjunction with our work.This rich set of maps in such diverse formats provided an excellent learning opportunity for us. In this presentation, we will share some of the lessons we learned about the data compilation, routing application development, Web map application creation, 3D building model construction, and more.
Spectacle, showy, extravagant, vaudevillian, exciting, awe-inspiring, excessive – an extravaganza!
The layers were also made available on arcgis.com and so were easily accessible on the iPhone via the ArcGIS application.
You may have seen the app developed for the 2008 UC. Impressive functionality, but not very usable or beautiful. We wanted to create something that was both usable and beautiful.
We laid out the functionality for our application as follows:
I’ll give a quick demo of the app, then explain a bit more how we made it.
Under the hood, the app consumes 8 map services, 1 for each floor of the UC, and 1 each for labels, topobasemap, basemap additions, and a minimal locator map. For the routing functionality, we built a GP service on top of a cartographic-quality 3d network dataset. The room-finding functionality was built into the client itself.
The old network, routed to the center of rooms
Here you can see a bit better what the network actually looks like. I connected every possible path between doors using nice curved paths. Our routing engine is unique in that it finds the optimal starting and end doors for a set of rooms, then routes between them. To create the network, we digitized hallway centerlines (or other better paths along hallways), then used the advanced editing tools in ArcGIS (endpoint arc and/or fillet) to add curves where appropriate. Curve radius was dependent on the available width of the hallway and other connected paths.
Input: Room IDsOutput: Best route between those rooms, including doorway optimization, route infoUses VBA in-memory network traversal layer hackAny failed route crashes the servicePython script to output RoomID file for reading by the app (impossible to send bad inputs to the service)OD Cost matrix to check network traversability (no routes will fail)
We wrote a python script to automate the network checking process. The script takes two inputs, a feature class (doors) and a network dataset. It then computes all possible routes between the input features (doors) along the specified network using an Origin Destination cost matrix and summary statistics. I can answer more questions about these details later if there’s interest. If any orphaned nodes (doors) are found, the script adds a “Valid_Node” field to indicate which nodes are disconnected. The user can then symbolize or select by this attribute to find and fix any problematic nodes.