获取OSM数据,并通过osm2pgsql导入postgreSQL数…

2018-06-17 20:04:40来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

  本文是对自己学习过程的一个记录和汇总,作为自己的一个总结性的文档,并随着进度更新完善。作为一个初学者,文章若有不妥之处还请各位读者提出来,大家共同交流进步,谢谢!

 

OSM地图数据下载:

  osm是一个开放式在线地图平台,Open Street Map(简称 OSM)是一个存储海量XML 数据的数据库(在本文中简称原始 OSM 数据),只要注册账号,

任何人均可以对其后台数据库进行编辑,从而被称为世界的维基地图。尽管众源地图的编辑过程难以监控管理,但通过近年来的完善和修订,OSM的质量

已经得到众多学者的认可。

我们可以在网址(http://download.geofabrik.de/)下载各国的OSM地图,可根据各自的需要下载,下载完成之后将文件改为osm格式。

第一步.工具准备:

  1.数据库postgreSQL

    可以选择压缩版zip自行解压安装配置环境变量,也可以选择程序版根据提示安装:   

      压缩版:https://www.enterprisedb.com/products-services-training/pgbindownload                     

      安装程序版:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

      选择需要安装的版本,点击download now(有些较老的版本开发已经不再支持,建议尽量选取较高版本吧)

      

    postgreSQL程序版安装教程网上很多,在此不再细说。注意:因为要用到postGIS扩展,在安装postgreSQL程序版时就顺带装上,在对应32/64位前面打勾:

       

  2.OSM数据导入工具osm2pgsql

    osm2pgsql下载地址:http://customdebug.com/osm/osm2pgsql.zip

    下载好之后解压

       还需要准备一个文件:default.style

    default.style文件:https://github.com/openstreetmap/osm2pgsql/blob/master/default.style

      注:新建一个txt文档,将以上链接内的代码拷贝进去,重命名-> default.style->将该文件放到...\osm2pgsql\x64文件夹下


 

第二步:

  1.为数据库加载postgis对象和函数定义(postgis.sql) 

    在数据库安装位置bin文件夹下打开cmd命令窗口,postgis.sql文件在...PostgreSQL\10\share\contrib\postgis-2.4文件夹下(spatial_ref_sys.sql下同)

    cmd指令:psql -U postgres -f "此处为postgis.sql文件的路径"  (postgres为创建的数据库名字,下同)

        输入命令回车->提示输入密码->输入设置的数据库密码,等待加载完成。

     

  2.加载EPSG坐标系统定义(spatial_ref_sys.sql)

    cmd指令:psql -U postgres -f "此处为postgis.sql文件的路径"  

    输入命令回车->提示输入密码->输入设置的数据库密码,等待加载完成。

     

   3.导入OSM数据

     将下载的map.osm地图数据放到...\osm2pgsql\x64文件夹下,并在该位置打开指令窗口,(dss_database是新建的数据库,这个指令将下载的地图数据放入这个数据库)

    执行cmd指令:osm2pgsql -U postgres -d dss_database -P 5432 -S "此处为default.style的路径"  map.osm  

    回车->报错:

      

     在网上查资料,修改了文件pg_hba.conf配置,将两个md5改为trust。文件路径:...\PostgreSQL\10\data

    

    执行cmd命令:导入成功

           

       

 

下一阶段开始学习Mapnik工具如何渲染OSM数据.

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:PostgreSQL=>递归查询

下一篇:Oracle案例02——ORA-12034: "SCOTT"."U