使用osm2pgsql工具将osm数据导入postgis中(图解)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_31598891/article/details/49539211

弄了好长一段时间,终于顺利地将osm数据导入到postgis中了,在这期间问题百出,现在将整个过程梳理总结一遍,也希望所有人不要再出现我这种低级错误了啊。。。

准备工作

安装软件:postgreSQL,并且要安装好postgis拓展;
注意:postgis安装完成后,会在pgAdmin面板左侧出现自带的模板数据库(如下图)
这里写图片描述
postgis_22_sample就是自带的模板
下载数据:在OpenstreetMap网站上可以下载osm数据(http://www.openstreetmap.org/#map=13/32.0376/118.7807)在此,将下载的数据命名为map.osm

创建空间数据库

在这里创建空间数据库的方式有多种:

依据使用工具来分:可以分为使用dos命令行创建使用SQL语句创建

现在分别使用不同的方式来进行创建:

dos命令行创建:
创建一个简单的postgreSQL数据库:

createdb nanjing
这里写图片描述
注意:要在postgresSQL安装目录下进行!
在pgAdmin面板中刷新即可出现创建的数据库nanjing
这里写图片描述
由于我们所创建的只是一般的数据库,所以还要添加一些空间拓展

添加空间信息

1.添加pl/pgsql语言:createlang plpgsql nanjing
(多数情况下,会自动添加好该语言)

这里写图片描述

2.加载postgis对象和函数定义(postgis.sql)
存放在C:\Program Files\PostgreSQL\9.4\share\contrib\postgis-2.2

psql -d nanjing -f postgis.sql
这里写图片描述
加载成功后出现的情况如下图:
这里写图片描述

3.加载EPSG坐标系统定义(spatial_ref_sys.sql)
存放在C:\Program Files\PostgreSQL\9.4\share\contrib\postgis-2.2

pgsql -d nanjing -d spatial_ref_sys.sql
这里写图片描述
加载成功后出现的情况如下图:
这里写图片描述

运用SQL语言创建

1.打开pgAdmin面板这里写图片描述使用SQL工具
2.创建数据库:create nanjing;
3.添加空间拓展:可根据需要添加一些空间拓展在此不一一举例了

导入空间数据

准备工作:

下载osm2pgsql软件:http://customdebug.com/osm/osm2pgsql.zip
default.style文件:https://github.com/openstreetmap/osm2pgsql

注意:在下载default文件的时候千万不要直接在网页中点击下载,这样下载后的内容全部都是网页而不是真正的代码,正确的做法是在网页中打开这个文件,并且将代码复制到里面去即可!!!
https://github.com/openstreetmap/osm2pgsql/blob/master/default.style

osm数据导入postgis

1.解压osm2pgsql之后,在dos命令下转到其安装目录:
这里写图片描述
2.使用osm2pgsql命令将数据导入:
这里写图片描述
3.导入成功后出现如下结果:
这里写图片描述

终于将数据导入成功,在pgAdmin面板中查看数据表:
这里写图片描述
这里写图片描述

导入完成后,就可以进行下一步的工作啦!!!

阅读更多

没有更多推荐了,返回首页