网站方案策划,酷特智能服装定制,郑州做网站哪家最好,美食网站设计风格layout: post title: postgres与osm初步使用 date: 2016-9-20 categories: blog tags: [地图开发]
description:地图开发
本文主要包括以下内容
postgreSQL数据库#xff0c;用来存放地图原始数据osm2pgsql 用来将osm地图数据导入到postgreSQL OSM数据
OpenStre…
layout: post title: postgres与osm初步使用 date: 2016-9-20 categories: blog tags: [地图开发]
description:地图开发
本文主要包括以下内容
postgreSQL数据库用来存放地图原始数据osm2pgsql 用来将osm地图数据导入到postgreSQL OSM数据
OpenStreetMap简称OSM是一个网上地图众筹crowd sourcing项目目标是创造一个内容自由且能让所有人编辑的世界地图
osm数据特点
数据来源多样海量数据但数据质量参差不齐错误、不一致需要大量的后续数据处理按照数据的类别用不同的标签标示数据类别将数据进行汇编按进行全球Planet OSM, OSM或区域发布文件大XML variant over 600GB uncompressed, 50 GB bz2 compressed and 30GB for PBF
OpenStreetMap包括空间数据以及属性数据。其中空间数据主要包括三种点Nodes、路Ways和关系Relations这三种原始构成了整个地图画面。其中Nodes定义了空间中点的位置Ways定义了线或区域Relations可选的定义了元素间的关系, 属性数据Tags用于描述上述矢量数据基元
node通过经纬度定义了一个地理坐标点。同时还可以height标示物体所海拔通过layer 和 level可以标示物体所在的地图层面与所在建筑物内的层数通过place and name*来表示对象的名称。同时way也是通过多个点node连接成线面来构成的。
通过2-2000个点nodes构成了way。way可表示如下3种图形事物非闭合线Open polyline 、闭合线Closed polyline、区域Area 。对于超过2000 nodes的way可以通过分割来处理。
OSM分类Features和标签Tag
各feature都通过tag来记录数据信息,通过‘key’ and a ‘value’来对数据进行记录。例如可以通过highwayresidential来定义居住区道路同时可以使用附加的命名空间来添加附加信息例如maxspeed:winter*就表示冬天的最高限速
postgressql数据库安装
开源免费数据库PostgreSQL下载安装教程_百度经验
OSM数据提取
下载osmhttp://dev.openstreetmap.org/~bretth/osmosis-build/osmosis-latest.zip 下载中国地图数据 http://download.geofabrik.de/asia/china.html
数据裁剪
区域裁减,把中国地图裁剪成武汉地图
osmosis --read-pbf filechina-latest.osm.pbf --used-node --bounding-box left113.9502 right114.4762 top30.7643 bottom30.4291 clipIncompleteEntitiestrue --write-pbf Wuhan.pbf
提取武汉地图的高速公路数据
osmosis --read-pbf filewuhan.pbf --tf accept-ways highway* clipIncompleteEntitiestrue --write-pbf Wuhan_highway.pbf
将数据导入postgres数据库
create extension hstore;create extension postgis;create extension pgrouting;运行数据库ddl pgsnapshot_schema_0.6.sql导入数据osmosis –read-pbf file”wuhan_highway.pbf” –wp hostlocalhost databaseosm userpostgres passwordpostgres 首先在postgres中添加3个扩展 再运行osmosis-latest\script文件夹下的 pgsnapshot_schema_0.6.sql脚本运行导入指令即可
安装QGIS并连接postgres可以在地图上看到导入的数据