目录
1 QGIS介绍
2 实现效果
3 具体步骤
3.1 获取北京市地图(区县级)
3.1.1 方法一:直接找到北京市地图
3.1.2 方法二:若没有单独的北京市地图,从中国地图上提取
3.2 获取数据
3.3 导入数据
1 QGIS介绍
Quantum GIS(QGIS)是相当友好的开源地理信息系统,使用GNU(General Public License)授权,属于 Open Source eospatial Foundation(OSGeo)的官方计划。在 GNU 这个授权下,开发者可以自行检阅与调整程序代码,并保障让所有使用者可以免费且自由地修改程序。
QGIS 的目标是成为一个使用简单的 GIS,提供了常见的功能与图征。借着核心图征提供基本功能与附加组件(Python 或 C++)持续地扩充,让使用者可以浏览、管理、编辑、分析数据以及制图。
QGIS 是一群自愿者所开发的项目,欢迎全球使用者或开发者将程序代码的缺陷、修复、报告以及提供文件等贡献。它是由热心的使用者和开发社群所维护的。它提供了交互式的邮件列表,以及透过网络管道传达给其他用户与开发人员帮忙与建议。另外,它也提供商业定制化开发。
QGIS(原称Quantum GIS)是一个自由软件的桌面GIS软件。它提供数据的显示、编辑和分析功能。
QGIS之所以受到GIS工作者和科研人员的欢迎,主要因为其具有以下特点:
(1)优秀的用户界面:QGIS的设计初衷是构建一个地理数据浏览与制图的工具,并基于Qt平台构建GUI,因此相对于uDig、GRASS GIS等常见的开源桌面GIS软件,QGIS用户界面非常友好。
(2)跨平台能力:QGIS可以运行在多数常见的操作系统中,如类UNIX-like(包括UNIX、Linux、BSD等)、Mac OS、Windows等。
(3)空间分析能力:QGIS内嵌GDAL、SQLite等常见的GIS类库,并且可以整合GRASS GIS、SAGA GIS等桌面GIS软件。因此,QGIS可以轻松地完成常见的数据处理与空间分析操作。
(4)数据格式的支持性强:QGIS对各种栅格数据和矢量数据的支持性很强,基本可以覆盖当前主流的地理空间数据格式,如shapefile、coverages、personal database、GeoTiff等。QGIS还可以访问Postgre、MySQL、SQLite等数据库。另外,QGIS还可以通过插件扩展等方式增加数据的支持格式。
(5)可扩展性强:QGIS具有插件功能,因此用户可以轻松地从互联网或官方渠道获得并安装特定功能的插件。另外,开发者还可以利用PyQGIS或C++ API对QGIS进行二次开发。如果上述方法仍难以满足用户需求,那么开发者可以通过重新编译的方式自定义QGIS的功能(但必须符合GNU GPLv2协议)。
2 实现效果
以北京市黄焖鸡米饭分布为例,实现热力图如下:
3 具体步骤
3.1 获取北京市地图(区县级)
3.1.1 方法一:直接找到北京市地图
3.1.2 方法二:若没有单独的北京市地图,从中国地图上提取
中国地图和各级规划图资源如下,可自行下载:
【免费】数学建模用到的适用于QGIS的中国规划图和中国地图资源-CSDN文库https://download.csdn.net/download/m0_71934846/88769494中国地图(县级)如图所示:
此时我们需要筛选出北京市地图
打开属性表:
点击左下角的显示所有要素,进行筛选:
点击高级过滤:
点击字段和值:
点击所有唯一值:
写函数等式(点击选中加等号即可):
筛选如图:
显示选中的要素:
效果如图:
导出:
3.2 获取数据
利用规划云获取数据:
网址如下:
POI查询工具 - 规划云 (guihuayun.com)
然后将数据粘贴到Excel里:
发现全部聚集在一列,使用分列功能:
逗号分隔:
然后将表格另存为CSV文件
如果直接通过重命名的方式更改后缀,后续步骤会出现乱码:
https://blog.csdn.net/m0_71934846/article/details/135743689?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170591122716800226537439%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=170591122716800226537439&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-135743689-null-null.142^v99^pc_search_result_base8&utm_term=QGIS%E6%B7%BB%E5%8A%A0%E5%88%86%E9%9A%94%E6%96%87%E6%9C%AC%E5%9B%BE%E5%B1%82%E4%B9%B1%E7%A0%81%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95&spm=1018.2226.3001.4187https://blog.csdn.net/m0_71934846/article/details/135743689?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170591122716800226537439%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=170591122716800226537439&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-135743689-null-null.142%5Ev99%5Epc_search_result_base8&utm_term=QGIS%E6%B7%BB%E5%8A%A0%E5%88%86%E9%9A%94%E6%96%87%E6%9C%AC%E5%9B%BE%E5%B1%82%E4%B9%B1%E7%A0%81%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95&spm=1018.2226.3001.4187
3.3 导入数据
回到QGIS,添加分隔文本图层:
选择一个不乱码的编码方式(如果UTF-8乱码,换成GB18030),横坐标选择经度,纵坐标选择纬度:
然后把导入的点放在地图上面:
但是此时的经纬度是不准的(百度高德地图等有加密) ,所以我们需要调整一下:
安装插件:
打开工具箱:
选中第二个:
运行之后发现的确有一些偏差:
留下更新的点后,把点变成热力图:
选择一种颜色并翻转好看一些: