Tab1. Datasets: Roads, POI and Farmland of Mainland China (10-million-scale)
Name | Type | Records | Size |
---|---|---|---|
China_Mainland_Road | LineString | 21,898,508 | 163,171,928 segments |
China_Mainland_POI | Point | 20,258,450 | 20,258,450 points |
China_Mainland_Farmland | Polygon | 10,520,644 | 133,830,561 edges |
Tab2. Demo Environment
Item | Description |
---|---|
CPU | 4core, Intel(R) Xeon(R) CPU E5-2680 v3@2.50GHz |
Memory | 32 GB |
Operating System | Centos7 |
The datasets (see Tab 1) used in the demonstration are provided by map service providers. As the datasets are not open published, the raw datasets are encrypted by adding offsets. The interface of the demonstration is simple to use, choose a dataset and click the Enter button, then the visualizing results will be added to the map in real time. Fig 1-4 show the visualizing results.
Fig1. China Mainland POI
Fig2. China Mainland roads
Fig3. China Mainland farmlands
Fig4. Patterns filling for polygon objects
Software dependencies(tutorial for installing the software from source code):
Redis (recommended version 3.2.12)
hiredis (recommended version 1.0.0)
MPICH (recommended version 3.3.2)
Boost C++ Libraries (recommended version 1.72)
Geospatial Data Abstraction Library (GDAL) >=2.0 (recommended version 2.4.4)
libpng (recommended version 1.2.59)
All the source codes are included in HiVision_code. Run the following command to generate the executable programs:
cd HiVision_code # Go to source directory mkdir build # Create a build directory cd build # Move into build directory cmake .. # Configure for your system make # Generate the executable programs cd .. # Move back to source directory
Edit the following parameters in "start.sh":
indexpath: path to store the spatial indexes (default : "./indexes/")
shppath: path of the input shapefiles (default : "./datasets/alaska_OSM/")
patternpath: path of the input patterns(default : "./patterns/")
process: MPI process count (default:4)
redishost: host IP of Redis (default:"127.0.0.1")
redisport: host Port of Redis (default:6379)
serviceport: port of the service (default:10080)
Then run the following scripts to start/stop HiVision automatically:
$ sh ./start.sh
$ sh ./stop.sh
Registration (Point: type=0/ LineString: type=1/ Polygon: type=2):
http://localhost:10080/HiVision/add/{shapefile_name}/{id}/{type}
Visualization WMTS:
http://localhost:10080/HiVision/{index_id}/{R}/{G}/{B}/{A}/{z}/{x}/{y}.png
Example:
(Point) datasets/alaska_OSM/gis_osm_places_free_1.shp http://localhost:10080/HiVision/add/gis_osm_places_free_1/places/0 http://localhost:10080/HiVision/pplaces/{R}/{G}/{B}/{A}/{z}/{x}/{y}.png (LineString) datasets/alaska_OSM/gis_osm_roads_free_1.shp http://localhost:10080/HiVision/add/gis_osm_roads_free_1/roads/1 http://localhost:10080/HiVision/lroads/{R}/{G}/{B}/{A}/{z}/{x}/{y}.png (Polygon) datasets/alaska_OSM/gis_osm_buildings_a_free_1.shp http://localhost:10080/HiVision/add/gis_osm_buildings_a_free_1/buildings/2 http://localhost:10080/HiVision/abuildings/{R}/{G}/{B}/{A}/{z}/{x}/{y}.png
Mengyu Ma@ National University of Defense Technology
Email: mamengyu10@nudt.edu.cn
Tel:+8615507487344