Design and Implementation of a POI Collection and Management System Based on Public Map Service Yuanrong He1,2 , Yuanmao Zheng1, Jian Deng 1 , Huoping Pan 1 1
Total Page:16
File Type:pdf, Size:1020Kb
IEEE UPINLBS'2016 Nov. 3~4, 2016, Shanghai, P.R. China Design and Implementation of a POI collection and management system based on public map service Yuanrong He1,2 , Yuanmao Zheng1, Jian Deng 1 , Huoping Pan 1 1. College of Computer and Information Engineering, Xiamen University of Technology,Xiamen361024, China 2. Key Laboratory of Urban Environment and Health Institute of Urban Environment,Chinese Academy of Sciences, Xiamen361021, China *Corresponding Author.Email:[email protected] Abstract—In this study, the Application Interface (API) of Currently, the POI collection methods include but not Baidu map service was took as an example to establish a POI limit to: (1) filed collection [7, 8], (2) indoor production [9], (3) (Point of Interest) collection and management system (POI-CMS) combination of yellow page and geocoding service[10-12], (4) based on GeoServer, PostgreSQL and PostGIS via visual studio voluntarily generated POI collection[13], (5) third-party POI 2010 and C# language. The newly developed POI-CMS offers service[1]. All these methods have their advantages and one-stop POI service, including POI collection, storage, disadvantages. For instance, filed collection may cost a lot of management and dissemination. The successful design and manpower and financial resources, this method may also have implementation of the POI-CMS indicates that the concept of difficulty in collecting detailed and comprehensive data and construction of POI-CMS with open source software and public information update. Over the past decade, POI data collection map service is feasible and can significantly shorten the through we media had developed rapidly, but this method only development cycle and reduce monetary cost. focused on collecting POI of particular type. As these POIs do Keywords—Baidu Map API, POI, GeoServer, PostgreSQL, not validated by any authority, thus the accuracy of POI is not PostGIS guaranteed as well. Combination of yellow page and geocoding service can be very efficiency, which is an advantage that other POI collection methods usually lack of. But these method also I. INTRODUCTION suffer from low accuracy of the position of POI, Thus accuracy POI (Point of Interest) is a point geographic entity that a of POIs can hardly meet the demand of users. However, third- considerable group of people find useful or interesting. POI party platform, such as Google Map, Baidu Map, Mapbar and usually consists of two parts: spatial and attribute parts[1]. so on, offering reliability POI information, are not fully Spatial part, including the coordinate and metadata information utilized. This is because these platforms do not explicitly open (coordinate system, collection time, update time, etc.), is these services to public. essential to POI entity. Attribute part generally includes other In this study, we design and develop a POI collection and information, such as name of the place, category and address. dissemination system that efficiently collection POI POI can be referred to as government agencies, enterprises, information from public map service and manage these POI schools, hotels, entertainment and tourist places, gas stations, information in the spatial database Taking Baidu map API as banks and so on. In the past two decades, with the rapid an example, we present the method to build such a system via development of LBS-based applications (such as Foursquare, Visual Studio 2010 and C# language. Facebook Places and Google Latitude) and location aware The rest of this paper is organized as follows. Section 2 social network applications[2-5], such as Wechat and Sina describes the software and APIs used to integrate the POI Weibo, the map information services focusing on POI collection and management system. Section 3 presents an information retrieval have grown accordingly. These services overall systematic diagram of the POI-CMS. In Section 4, the provide functionalities from simple local search, to geocode procedures and some of key functionalities was introduces. The and to other more complex service. Many of these map final section concludes the paper. services have targeted to provide POI information [6], which is rich in content and closely bound up to our life. POI II. SYSTEM INTEGRATION COMPONENTS information is core to these applications and services. As a result, improving the data quality, richness and the search A. Baidu Map API experience are essential to its survival and prosperity. Like Google Map API, Baidu Map API is a set of Therefore, how to address the collection, storage, management JavaScript application programming interface. Using the API, and optimized utilization of mass POI data has become a big developers can easily create interactive, efficient and powerful challenge in the development of LBS and electronic map. web map applications. This API not only provides user basic map services, but also some high-level functionality, such as This research is supported by program of Natural Science Foundation of Chin a (No.41574011), Fujian Provincial Natural Science Foundation of China (No. the location search, the surrounding queries, Geocoding, 2016J01199) and Fujian Provincial Surveying and Mapping Geographic Infor travelling route planning service, etc. mation Science and Technology Innovation Projects of China (No.2015J14). 978-1-5090-2879-5/16/$31.00 ©2016 IEEE 197 B. PostgreSQL and PostGIS PostgreSQL is a free and open source object-relational database management system (ORDBMS) based on POSTGRES, which pioneered many concepts that only became available in some commercial databases much later. PostgreSQL supports a large part of the SQL standard and offers many modern features, such as complex queries, foreign keys, triggers, updatable views, etc. PostGIS is a spatial database extender for PostgreSQL. It adds support for geographic objects allowing location queries to be run in SQL. In addition to basic location awareness, PostGIS offers many features rarely found in other competing spatial databases such as Oracle Spatial and SQL Server Spatial and IBM DB2 Spatial. C. GeoServer GeoServer is a map server that allows users to publish and Fig. 1. System architecture of POI collection and management system share geospatial data with minimum efforts. With GeoServer, developers can quickly establish map services and thus allow IV. SYSTEM IMPLEMENTING others to incorporate your data into their websites and This section introduces some of implementation details of applications, without a single line of code. In addition, POI-CMS. The whole processes of POI-CMS can be divided GeoServer conforms to open map standards, such as the Web into four steps (Fig. 2), including map initiation, POI Feature Service [15] (WFS), the Web Coverage Service collection, POI ETL (Extract-Transform-Load) and POI (WCS), and the Web Map Service (WMS), etc., which were set dissemination. Each of these steps is described as follows. up by the Open Geospatial Consortium (OGC). These features lend GeoServer great flexibility in map creation and data sharing. Moreover, GeoServer is free and powerful, thus increasingly used to substitute commercial mapping software. III. SYSTEM DESIGN The POI-CMS is developed in light of the Service- Oriented Architecture[14]. To fulfill the requirement of Fig. 2. Flow chart of POI collection and management system technical regulation like interoperability, transportability and Map initiation. This step includes configuring BMA and efficiency, an overall systematic diagram of POI-CMS is initiating map controls. Before this step a key for using BMA outlined as Figure 1. In general, POI-CMS consists of three must obtain from the portal of Baidu map service. Next BMA parts: POI database, POI collection sub-system, and POI and the key were embedded into custom web application via dissemination sub-system. Each of these sub-systems is “script” tag. Then, a map control and other relate controls were described as follows. created. Finally, the map was set to navigate to zoom to certain (1) Using the Baidu Map API, POI collection module was point and scale level (Fig. 3). The implementation code of this established to collect the POI information from Baidu map step is shown as follows: service via HTTP protocol. After the POI data was retrieved, these data was extracted, transformed and analyzed, and then Code 1. Baidu Map API initiation was inserted into PostgreSQL by using Npgsql, which is a .Net <head> Data Provider for the PostgreSQL Database Server. <script…src="http://api.map.baidu.com/api?v=2.0&ak=you key"></script> (2) In POI-CMS, PostgreSQL database server was </head> employed to store, manage and retrieve POI information. PostGIS was also adopted to extend the PostgreSQL to add <div id="divMap" style="…"></div> support for geographic objects storage and retrieval. For every var map = new BMap.Map("divMap"); //creating maps layer or table stored in PostgreSQL, spatial indices were //add translation and zoom controls created to increase the search efficiency of POI data set. map.addControl(new BMap.NavigationControl()); (3) POI publication module is designed to publish POI data on Internet to improve the reuse degree of POI data. There are map.addControl(new BMap.ScaleControl()); //add map scale control three methods to publish POI data set in POI-CMS. One is used //set map extent GeoServer to publish POI data through WFS standard. The map.centerAndZoom(new BMap.Point(118.142483, 24.497396), 13); second is to publish POI data as spread sheets, such as CSV and Excel. The third is to publish these POI data via a light weight Web Service Interface (REST). 198 published via WFS in GeoServer. WFS requests/sends spatial objects on the Web. Unlike WMS, which returns a map in the form of an image, on which are not supported any modifications or analysis, WFS provides operations for manipulation of spatial objects. To publish geospatial data in GeoServer, three operations are required. First step is to create a workspace for the data, which is a container used to group similar data set.