Openstreatmap + osmnx库 + QGIS + PostGIS
目录
地图数据的获取
- Openstreatmap 官网提供了开源的地图数据,具体下载方法自行百度。
- python环境下的osmnx库提供了对Openstreatmap 数据的多种操作方法,无需下载,操作方便。建议使用anaconda安装osmnx库,一键安装省时省力。
下面就介绍一下osmnx库的简单使用,https://github.com/gboeing/osmnx-examples具体参考官方examples代码,http://bigdata.51cto.com/art/201701/527207.htm这篇文章也简单介绍了osmnx库的使用方法。
import numpy as np
import osmnx as ox
%matplotlib inline
place = '电子科技大学(清水河校区)'
UESTC = ox.gdf_from_place(place,which_result = 1)
ox.plot_shape(ox.project_gdf(UESTC))
place = '电子科技大学(清水河校区)'
UESTC = ox.graph_from_place(place,network_type='drive')
ox.save_graph_shapefile(UESTC, filename='mynetwork_shapefile')
#导出.shp文件
fig,ax = ox.plot_graph(UESTC)
- QGIS 自行安装
- PostGIS的安装比较复杂
安装PostGIS,我们需要先安装PostgreSQL。PostgreSQL的安装有两种方法,exe安装、解压版安装。在windows环境下exe的安装比较方便,如下图所示。
下载.exe文件,点击安装,会出现线面的界面。
选择安装地址
输入数据库密码
服务监听端口默认5432
可以选择语言,但是选择中文可能会出错而导致无法安装成功,所以建议选择默认情况,直接下一步。
这几个选项要勾选。
剩下的一路next就完成安装了。
建立自己的数据库
运行pgAdmin
创建数据库
输入数据库的名字
编码方式要与导入数据时的编码方式一致
导入数据
1)新建数据库(如myT),选择以postgis_22_sample/template_postgis为模板(新建空间数据库)
2)利用PostGIS Shapefile and DBF Loader导入shp数据(Options下设为GBK,否则中文导不进去;shp路径应简单且为全英文,否则报错;设定SRID,否则 uDig 不显示,一定要确定好坐标系对应的SRID的值,并且在Geoserver发布时“定义SRS”部分选择相同的坐标系)
这里可以看到导入的数据
利用QGIS读取数据
首先要将QGIS与PostGIS建立连接
读取数据
转载自:https://blog.csdn.net/shaochuang1/article/details/88680659