利用QGIS下载地图数据
这段时间做了一些利用地理信息进行定位导航的系列工作,其中很重要的一部分是如何获取到地图数据,比如道路的矢量图、某一区域的栅格图,我用到的主要工具是QGIS。QGIS是一个跨平台的免费应用,其中集成了对矢量图、栅格图处理的很多功能,同时也集成了很多开放地图数据网站的接口,比如OpenStreetMap等,因此,在获取数据,并处理成我们需要的格式方面非常便利。本篇博文主要介绍如何使用QGIS下载数据,并处理成特定的格式。
一、 指定区域指定地物矢量图获取
我们经常会遇到这样一种需求:获取某一区域的指定地物的地图,比如获取某一区域的道路图、河流图等。这一节的内容能够解决这一需求。通常我们从开放的地图平台OpenStreetMap中下载某一区域的矢量地图,而后通过后续的处理,来获取我们需要的地图信息。
1、数据下载
1) 在vector菜单栏中选择OpenStreetMap ->Download Data,即可打开数据的下载框:
2)而后设定需要下载数据的区域,这里提供了三种区域设置方式:
a) From map canvas:当前窗口显示的区域
b) From layer:某一图层所代表的区域
c) Manual:人为设定区域
通常当我们已知我们需要下载的数据的区域,我们采用第三种方式。
3)下载数据:设置好下载区域,并输入保存文件名后,点击确定,即开始下载数据。这里需要注意的一点是,在设定保存文件名时,需要把文件的扩展名带上,即.osm,这样在后续加载文件时,才不会出现找不到文件的情况。
2、提取指定地物及矢量图保持
上一步下载的数据是以xml的形式存储的,不是矢量图的格式,因此不能被直接处理。我们需要首先将该文件加载入QGIS中,并转换为矢量数据,才能进行下一步的处理。
1) osm文件加载:选择vector->Import Topology from XML,打开数据导入页面:
选择需要导入的文件(即刚才我们下载的osm文件),设置转换后文件名,点击确认。
2) 导出矢量图:选择vector->Export Topology to SpatiaLite,打开矢量图导出页面:
由于此处我们需要得到的是道路数据,因此我们在“export type”选择Polylines;而后设置导出文件名;最后需要导出标签。选择Load from DB,并选择感兴趣的标签。这里我们仅对道路感兴趣,因此我们仅选择highway。保留标签的目的是为了进一步筛选,虽然我们在“export type”中选择了Polylines,但是并不是所有的Polylines都是道路(也有可能是河流等),因此需要进行进一步的筛选。
3) 筛选感兴趣的地物:
上述得到的矢量图,不仅仅包含道路图,还包含了其他地物特征,因此需要进一步筛选。
在获得的图层上,右键打开菜单选项,选择Open Attribute Table:
选择select by expression(图中红色圈),而后设置筛选的条件。这里我们需要选择的是道路,因此我们的筛选条件为:NOT (“highway”= ‘NULL’)。点集select按钮后,可以看见,道路部分被黄色高亮了。
而后我们在图层窗口右键打开菜单,选择保存,打开保存页面:
设置保存文件名,地理坐标系,注意勾选红色圈内选项,选择保存,即得到该区域的道路矢量图。
二、指定区域栅格图获取
1、设置下载网址
在Browser Panel窗口中找到Tile Server(XYZ),右键,New Connection:
输入服务器的网址,例如:
高德影像图:
https://webst01.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}
高德路网:
https://wprd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=2&style=8<ype=11
此时会生成服务器地图的接口。
2、创建栅格地图图层
双击上述创建的服务器地图接口,即会在Layer Panel中生成一个响应的图层。此时,如果我们知道需要下载的区域的地理坐标,可直接进入第三步。如果不知道,可以打开参考地图,通过手动选取,来设定下载区域。具体做法为:
打开web->OpenLayers plugin,选择想要的地图:
而后通过缩放,拖动等操作,将地图设置到我们需要的区域:
3、保存需要的栅格地图
在创建的栅格图层上,右键,选择保存,打开保存页面:
设置保存的路径,地理坐标系,范围(Extent),分辨率(Resolution),点击确定后,栅格地图数据就会被下载下来。如果保存的范围很大,通常地图会被分割为若干个小的区域进行保存。
相关操作,可以参考视频:https://www.bilibili.com/video/av65253432/
转载于:https://www.cnblogs.com/doctor-li/p/11402774.html
利用QGIS下载地图数据相关推荐
- 利用python下载fnl数据方法
(1)下载python,网上下载方法很多,此处不再赘述,记得下载和电脑系统版本匹配的就好: (2)去ncar官网注册 https://rda.ucar.edu/ 先进行注册,需要注意的是注册最好用教育 ...
- python获取股票逐笔交易数据_利用python下载股票交易数据
前段时间玩Python时无意看到了获取股票交易数据的tushare模块,由于自己对股票交易挺有兴趣,加上现在又在做数据挖掘工作,故想先将股票数据下载到数据库中,以便日后分析: # 导入需要用到的模块 ...
- 利用QGIS将shp数据导入postgresql空间数据库
1.利用QGIS连接Postgresql空间数据库 (1)打开QGIS程序,在其左侧"添加数据"工具栏中单击"大象"图标,用以添加PostGIS图层,如图所示 ...
- python 做交易软件下载_利用python下载股票交易数据
原博文 2017-02-06 22:45 − 前段时间玩Python时无意看到了获取股票交易数据的tushare模块,由于自己对股票交易挺有兴趣,加上现在又在做数据挖掘工作,故想先将股票数据下载到数据 ...
- 利用python下载ECMWF数据
1.注册ECMWF数据下载账号: 2.下载 ECMWF web-API client version in python,下载网址为https://software.ecmwf.int/wiki/di ...
- QGIS下载天地图瓦片数据
说明 介绍利用QGIS下载天地图瓦片数据. 关键字:window.QGIS.天地图 环境准备 QGIS版本为3.28.3 基本步骤 一.在Browser面板中找到XYZ Tiles 二.New Con ...
- Python实现OSM地图数据解析——OSM2Rail
目录 1. 简介 2. 功能特色 2.1 自动下载OpenStreetMap地图数据包 2.2 提供更精确的铁路网络数据解析 2.3 扩展GMNS标准 3. 快速上手 4. 效果展示 5. 相关阅读 ...
- QT5.14使用QWebChannel与百度地图数据交互
文章目录 前言 一.开发环境 二.开发步骤 1.HTML开发 1.1 qwebchannel.js 1.2 sample.html这里是我用太乐地图生成的离线版本,然后自己修改生成的代码 2.QT开发 ...
- 无人驾驶算法学习(十五):高精度地图数据存储框架Lanelet2
文章目录 1.引言 2.lanelet2特点 3.数据结构 3.1 Points 3.2 Linestrings 3.3 Polygon 3.4 Lanelets 3.5 Areas 3.6 regE ...
最新文章
- [20150309]使用冷备份做恢复的问题.txt
- python多张图片合并拼接,python制作sprite图、雪碧图
- “新一代城市大脑建设与发展“专家研讨会
- 航空频率表 2020_航空波段+调频、中波、短波,这个美国TR608收音机值40美元吗?...
- 浅浅地谈一下随机算法【poj2454】【poj3318】
- Node.js中的回调解析
- maccmsv10 苹果cms10 站群扩展 自用版
- 死循环线程php,QObject的派生类方法实现多线程死循环问题
- shell 按文件每行长度排序
- 机器学习实践指南(一)—— 总论
- Java文件– java.nio.file.Files类
- lingo软件的基本使用方法_(PS软件)PHOTOSHOP基础操作和基本工具的使用
- mysql5.7 主从复制的正常切换【转】
- 程序员常用的计算机编程语言介绍
- PHPExcel 锁定表头 设置样式,背景颜色,居中,宽,单元格合并
- es 切换别名_Elasticsearch之别名
- 苹果系统怎样修改mac地址?
- [-Flutter趣玩篇-] 出神入化的Align+动画
- 详解LVS配置DR模型
- 完美解决Windows10安装HCL模拟器各种疑难问题!!!