Lost in KLAUS Junhee Park Unkyong Lee College of Computing Georgia Institute of Technology Atlanta, GA, 30332-0280 USA College of Computing Georgia Institute of Technology Atlanta, GA, 30332-0280 USA jhpark@gatech.edu uk.a.lee@gatech.edu ABSTRACT Each year, tens and hundreds of GPS related product appear in retail market and the functions are still improving to meet users need. However, among these huge selections there is almost no product considering in-door navigation system. Today’s modern malls, theme parks, buildings are huge and have various paths so people might get lost very easily. In our project, we introduce the in-door navigation system by applying Klaus Advanced Computing Building scenario. Using our mobile application, users can locate their current location either by ‘Where Am I’ [1] or by entering nearby room number. Also by sending start and end position to server via web service, users can receive shortest route to the desired location. 2. PROJECT DISCUSSION 2.1 Project Goals z Construction of Maps z Shortest Path Searching z Navigation z Display Current Position z Show Route in Multiple Story Building 1. INTRODUCTION 2.2 Design Widely available these days, GPS Navigation systems and electronic maps such as Google Maps plays a significant role in helping users moving one place to another by providing detail maps or showing routes. Also the recent growth in mobile devices caused various mobile applications to have boundless potentialities and indispensable to our lives. We used ArcGIS tool, a retail software that provides various shared, GIS-based services, to construct our map, to search shortest path, and to develop the navigation system. For the mobile side we used C# .NET combined with vendor specific APIs called as ArcGIS SDK. These technologies enabled users to access maps from wherever they want. These maps, however, are created only for huge public area. Although some relatively small places such as theme parks, shopping malls, or large buildings would be better to have electronic maps, these places currently use board or paper maps. The paper based maps often make users confused because they provide limited information – no sign of current position. Therefore having electronic maps for small particular area can be very useful to everyday people’s lives. In this project, we proposed to build the mobile application name “Lost in KLAUS”, a prototype of Location-Based Service to help students to find their way to their destination without much of a hassle. Most students who have classes in the Klaus building have hard time finding their classrooms on the first day. This application will guide not only students to find their class rooms but also help visitors find their destination in Klaus building. 3. RELATED WORK Google Mobile Maps and Weybridge are electronic maps serviced on mobile phones. Both of them are general world map to travel cities but they contain similar functionalities required the Lost in Klaus system such as showing image maps, finding shortest paths, providing information related with each location, and input and output methods for hand-held devices. Google Mobile Maps is based on internet and Weybridge is based on stand-alone application. The Lost in Klaus, the navigation system we propose, provides both methods for users. ArcGIS. Each point has various information such as the value of latitude, the value of longitude, the type of a point whether it is a room or a path, the name of a person who is in charge, and the capacity. This layer also has a coordinate system which allows us to get latitude and longitude values easily by creating a point on the ArcGIS Map. The ArcGIS Map has a function to add values of latitude and longitude automatically by matching the coordinates with the positions in the map. We had to play tricks on several points which have same (similar) latitude and longitude but different altitude. Since The ArcGIS only support 2-dimensional network dataset, Network Analysis Tool could not distinguish difference of the altitude value. For example, if the two points have same latitude and longitude then even if they are in different altitude, Network Analysis Tool treats them as a same point. In that case we decide to place the points to slightly different location with each other. 4. IMPLEMENTATION 4.1 Technologies Used The project was implemented using C#, ArcGIS SDK, and Web Services. The Web Service was deployed on Microsoft Internet Information Services-ArcGIS server and was built using C#. This section describes the implementation of the components of our system; namely, map creation, mobile application, web service, ArcGIS server. 4.2 System Component Overview z Map Creation Layers - We used ArcGIS, which is one of the most well-known GIS programs in the world, to construct the map. The map basically has 4 layers: footprint, room shape polygons, points, and paths. To find the shortest path, we made network analysis dataset using Network Analysis Tools, and not only added layers which are related to the datasets but also included junction and path data to the map. Footprint layer and room shape polygons layer The footprint layer has shape of Klaus building. The room shape polygons layer has shapes and locations of every room in Klaus. Since they do have actual coordinate system but do not have data except ArcGIS features, these two layers are not used in finding the shortest path or anywhere else. However, those layers helped us creating the map intuitively because it showed location and shape of the building or the rooms. In that case we already have the footprint, and draw each room shape polygon using raster images which are floor plans of the Klaus building. Actually the shape of the footprint is slightly different with that of raster image, but fortunately this difference is small enough to be ignored. Points layer - This layer has all nodes (rooms, elevators, stairs, and routes) as a point feature of z Paths layer - Every path in the paths layer exactly connects from one point to another point. It has a length field and uses it as a standard in finding the shortest path which means that the length of a line is considered to be the weight of an edge in shortest path finding algorithm. For example, if there are many routes to go from a source to a destination, a route having small amount of lengths is a more efficient route. Path is an instance of ArcGIS Polyline. Polyline feature originally includes information of a length, but there was no information of it in a data table. In this case, Network Analysis Tool uses ‘shape’ as a standard to decide the shortest path which could make a lot of confusion and lead to a wrong decision. So we decide to use Hawth’s Tool, a pluggable 3rd party tool, to make a length field and added values. Mobile Application Displaying / Browsing maps - The hand-held device itself has simple map images, so users can browse it without internet connection. Each floor map had drawn in different colors in order for users can easily recognize current floor whenever they change floor level. At the same time, we indicated current floor on the screen and made elevator and stair in green color because those structures have different characteristic from others. Mobile application also provides map browsing function. Since this application is targeting Pocket PC, we can use pen to drag map image to view the desired location and there are zoom in/out function to help users to have more detailed view. Current position - Users current location is marked as red dot on the map image. Users can set their current location either by entering nearby room numbers or by selecting “Where am I” menu which will automatically retrieve the coordinates and entering the floor level. If the user chooses to use the nearby room number then the handheld device retrieves current location (latitude, longitude) from mobile application’s room data and show the image on the screen. It could also be done by using web service, but to support least functionality even if there is no network connection, we decided to store relevant information. For the “Where am I”, it takes latitude and longitude values in XML format. Although it sends altitude values, if we use lawn from KLAUS building the value is always same so it really do not mean for our application. The received real latitude and longitude values are changed to fit into the small mobile device coordinates using maximum and minimum value of the latitude, longitude and map image’s width and height. Routing service - Mobile application provides room number, people’s name, and lab name lists. This list can either exist in mobile application or receive from server through ArcGIS web service. Currently since the web service is not fully functioning as it meant to be, we have tested and used by manually inserting simple list in the mobile application. The items in this list can also have their real latitude and longitude value either from the server or mobile application itself. If the users select an item from this list, then it will show the route from current location to desired location. This shortest path is received via web service. When sending latitude and longitude of the starting and ending points as parameters to web service using http request, then the server calculates the shortest path and returns the result in XML format. This result contains latitude, longitude, type, and floor information of each point which makes up the route. By analyzing this result, the mobile application shows the route from starting point to end. If the route is comprised of several floors, the mobile application will show current floor first then show rest of the route when you switch floors. Switching floor event is called either by using current position set-up menu or by clicking end of the route in that particular floor. If that end of route is the final destination point then the routing service is finished. z Web Service Publishing a map which was developed from ArcGIS Desktop (Map, Catalog, etc) on ArcGIS server, other computers or mobile devices can access the map information via network. ArcGIS server provides various methods for accessing the map information from remote client. We have chosen to make web service of ArcGIS. This enables us to send query using HTTP connection and receive result in XML format. To be more specific, after developing web service and running it on server, mobile devices could make HTTP connection to corresponding address and send latitude and longitude value of start and end point as parameters. The web service receives the two points uses Network Analysis APIs to find the shortest path; then responses back to the mobile devices with XML format of each point in the route. 5. EVALUATION Figure 1: Map of 1st floor (blue) and default location is marked with red dot. Figure 2: Map of 2nd floor (yellow) and default location is marked with red dot. Map image has been zoom-in for users to see more clearly. Figure 3: Map of 3rd floor (red) and default location is marked with red dot. Figure 4: Map image on Server side. Since server needs to do shortest path calculations, it has all information such as node, path, latitude, longitude, and etc. Figure 5: This figure shows examples that users can search using room numbers and professor’s name. It will help both students and visitors to find their way to desired location. latitude, altitude, floor, type from this object and make new class object. 6. FUTURE WORK z Since each point in points layer has floor information, we can represent altitude by using this information in ArcGlobe or ArcCatalog. z We failed to make the web service work due to the lack of references. We succeeded getting the route information stored in INAcontext class object; however we failed to extract the information that we needed. We need to extract z We have to build module for the mobile devices that connects the web service and retrieve the XML data. 7. CONCLUSION In this project, we introduce the in-door navigation system which is targeting the Klaus Advanced Computing Building. This project can be very useful and readily adaptable since in many huge complexes such as shopping malls, theme parks people have hard time finding their way through and it is pretty easy to see a lot of people staring paper maps have difficulty in figuring out their current location and direction. Although we could not completely finish what we have proposed; however we have built the most fundamental part of this whole project and showed the feasibility. We leave the remainder in the future work 8. ACKNOWLEDGEMENT [1] Where Am I project page http://rnoc.gatech.edu/whereami/ [2] Maps for mobile phone. http://vision.eng.shu.ac.uk/mediawiki/index.php/Maps_for _Mobile_Phones [3] Google Mobile Map. http://www.google.com/gmm [4] ESRI Developer Network http://edn.esri.com/ [5] Microsoft Developer Network We take this opportunity to thank Matt Weber for his ideas on improving and focusing our design and motivation. We are grateful for his feedback and helpful ideas. 9. REFERENCES http://msdn.microsoft.com/ [6] The Code Project http://www.codeproject.com/ [7] Jason P. Nottingham, Steven Makofsky, Andrew Tucker. 1999, Sams teach yourself Windows CE programming in 24 hours, Indianapolis, IN : Sams [8] Youngkwan Choi, 2006, Novel C#, JABOOK