文章目录
1、QGIS连接MySQL数据库
2、属性表乱码问题
3、要素在地图中不显示
在这篇文章中,主要记录在QGIS中连接MySQL数据库的方法,加载MySQL中的空间数据,以及在连接之后属性表乱码和数据不显示问题的解决方法。
1、QGIS连接MySQL数据库
在QGIS中,默认的连接列表中可以看到PostGIS、MSSQL、Oracle、DB2等数据库连接,不包括MySQL,MySQL需要在数据资源管理器中添加连接。
图层 - 数据资源管理器
在数据资源管理器中,按照下图顺序,依次选择矢量 — 数据库 —MySQL — 新建,然后填入数据库名称、注记、数据库、端口、用户名、密码等。
名称:可以是任何你喜欢的名字
主机:MySQL主机或IP地址
数据库:要连接的数据库名称,必填,否则连接不到
用户/密码:MySQL的用户名密码
点击OK,添加。此时会自动展示可以添加的数据
选择想要在QGIS中打开的数据,确定,就可以在QGIS的图层列表中看到添加的数据。
2、属性表乱码问题
虽然图层列表中可以看到图层,但在地图上并没有显示相应的要素,首先打开属性表查看,发现属性表中出现乱码,考虑是编码方式问题
打开图层属性,选择源,将数据源编码改为UTF-8
再次打开属性表,显示正常
在这个过程中,我是逐个图层进行设置的,没找到批量修改或者修改默认编码方式的问题,希望后续能改进。
3、要素在地图中不显示
属性表正常显示后,在地图中要素依然无法显示。尝试将要素导出重新保存
导出后要素正常显示
对于要素显示这一点,我没搞明白为什么导出后可以正常显示,但问题确实解决了…看到有大佬通过建虚拟图层的方法显示数据(https://segmentfault.com/a/1190000038679195),我尝试了一下也是可以的,可能是因为MySQL数据库的支持问题,不太懂,暂时不纠结了。
————————————————
版权声明:本文为CSDN博主「制图小韩」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/han_jinlin/article/details/123294806