使用osm2pgsql工具将osm数据导入postgis中(图解)
目录
弄了好长一段时间,终于顺利地将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面板中查看数据表:
导入完成后,就可以进行下一步的工作啦!!!
转载自:https://blog.csdn.net/qq_31598891/article/details/49539211