目录
本文将介绍如何将实验数据导入数据库。
我这里使用pgAdmin4连接Linux中安装的pgRouting,当然,也可以使用pgAdmin连接安装在Windows中的pgRouting来学习本教程。
一、创建数据库
直接使用postgres用户创建一个名为city_routing的数据库:
在city_routing数据库中分别添加PostGIS插件和pgRouting插件:
完成!
二、获取实验数据
本教程将使用OpenStreetMap的数据,数据可以使用以下链接下载:
http://download.osgeo.org/livedvd/data/osm/DS_TZ/DS_TZ.osm.bz2
该数据在ArcGIS中可视化是这样的(只显示道路数据):
放大(只显示道路数据):
该数据是达累斯萨拉姆市的数据(Dar Es Salaam),达累斯萨拉姆市是非洲国家坦桑尼亚的原首都,在世界地图上的位置为:
三、将数据导入数据库
3.1、使用PostGIS的数据导入工具导入数据
在Windows中安装PostGIS会自动安装Shapefile数据导入工具:
这个工具只能将shapefile文件导入数据库,而且我们下载的文件是osm格式文件,需要将其先转换为shapfile格式,可以参考我的这篇文章:https://zhuanlan.zhihu.com/p/82456450
由于osm数据是WGS84坐标系(EPSG:4326)的,所以还需将其转换为Web墨卡托坐标系(EPSG:3857)。
我这里将DS_TZ.osm文件转换为如下形式的shapefile文件:
即只保留道路数据和POI数据(兴趣点)就好。
接下来使用PostGIS数据导入工具将数据导入city_routing数据库:
点击Import导入就好。
查看数据库就可以发现多了两张数据表:
接下来要为道路数据创建路由拓扑,使用osm2pgrouting导入数据则会自动创建。
首先为ways表添加source列和target列:
然后调用pgr_createTopology()方法为ways表创建路由拓扑:
3.2、使用osm2pgrouting导入数据
待更新。。。