pgRouting官方教程四:准备数据

目录

一、创建数据库

二、获取实验数据

三、将数据导入数据库

3.1、使用PostGIS的数据导入工具导入数据

3.2、使用osm2pgrouting导入数据


   

     本文将介绍如何将实验数据导入数据库。

    我这里使用pgAdmin4连接Linux中安装的pgRouting,当然,也可以使用pgAdmin连接安装在Windows中的pgRouting来学习本教程。

一、创建数据库

    直接使用postgres用户创建一个名为city_routing的数据库:

pgRouting官方教程四:准备数据_第1张图片

pgRouting官方教程四:准备数据_第2张图片

    在city_routing数据库中分别添加PostGIS插件和pgRouting插件:

    pgRouting官方教程四:准备数据_第3张图片

pgRouting官方教程四:准备数据_第4张图片

    完成!

二、获取实验数据

    本教程将使用OpenStreetMap的数据,数据可以使用以下链接下载:

        http://download.osgeo.org/livedvd/data/osm/DS_TZ/DS_TZ.osm.bz2

    该数据在ArcGIS中可视化是这样的(只显示道路数据):

pgRouting官方教程四:准备数据_第5张图片

    放大(只显示道路数据):

pgRouting官方教程四:准备数据_第6张图片

    该数据是达累斯萨拉姆市的数据(Dar Es Salaam),达累斯萨拉姆市是非洲国家坦桑尼亚的原首都,在世界地图上的位置为:

pgRouting官方教程四:准备数据_第7张图片

三、将数据导入数据库

3.1、使用PostGIS的数据导入工具导入数据

    在Windows中安装PostGIS会自动安装Shapefile数据导入工具:

pgRouting官方教程四:准备数据_第8张图片

    这个工具只能将shapefile文件导入数据库,而且我们下载的文件是osm格式文件,需要将其先转换为shapfile格式,可以参考我的这篇文章:https://zhuanlan.zhihu.com/p/82456450

    由于osm数据是WGS84坐标系(EPSG:4326)的,所以还需将其转换为Web墨卡托坐标系(EPSG:3857)。

    我这里将DS_TZ.osm文件转换为如下形式的shapefile文件:

    即只保留道路数据和POI数据(兴趣点)就好。

    接下来使用PostGIS数据导入工具将数据导入city_routing数据库:

pgRouting官方教程四:准备数据_第9张图片

    点击Import导入就好。

    查看数据库就可以发现多了两张数据表:

    接下来要为道路数据创建路由拓扑,使用osm2pgrouting导入数据则会自动创建。

    首先为ways表添加source列和target列:

pgRouting官方教程四:准备数据_第10张图片

   然后调用pgr_createTopology()方法为ways表创建路由拓扑:

pgRouting官方教程四:准备数据_第11张图片

3.2、使用osm2pgrouting导入数据

    待更新。。。

你可能感兴趣的:(开源GIS,数据库)