QGIS提取全国景区经纬度的完整流程

一、数据获取与预处理
  1. 数据来源选择
    全国A级景区数据可从各省文化和旅游厅官网、国家文化和旅游部网站或第三方GIS数据平台获取。推荐使用2020-2021年更新的矢量数据(shp格式)或Excel表格,其中包含景区名称、地址、等级及WGS84经纬度信息。例如:

    • 数据字段示例:景区名称、地址、等级、经度(Lon)、纬度(Lat)。
    • 格式要求:优先选择包含空间坐标的shp文件(点数据)或标准化CSV文件。
  2. 数据清洗与校验

    • 去重处理:通过Excel的"删除重复项"或QGIS的"删除重复几何"工具,消除同一景区的重复记录。
    • 缺失值处理:若经纬度字段缺失,可结合景区地址通过地理编码插件(如MMQGIS)补全坐标。
    • 异常值检测:筛选经度范围(73°E-135°E)、纬度范围(3°N-54°N)外的异常坐标,并人工核查修正。
  3. 格式统一化

    • 将Excel数据转换为UTF-8编码的CSV文件,避免中文乱码。
    • 若使用分省数据(如各省单独shp文件),需通过QGIS的"合并矢量图层"工具整合为全国数据集。

二、QGIS数据导入与坐标验证
  1. 导入矢量数据(shp格式)

    • 操作路径:图层 → 添加图层 → 添加矢量图层
    • 坐标系设置:选择WGS84(EPSG:4326)。
    • 属性表检查:右键图层选择"打开属性表",确认经度(X)、纬度(Y)字段存在且数值合理。
  2. 导入CSV文本数据

    • 操作路径:图层 → 数据源管理器 → 分隔文本
    • 参数设置:
  • 文件格式:CSV,编码选GBK或UTF-8。
  • X字段:经度(Longitude);Y字段:纬度(Latitude)。
  • 坐标系:强制指定为WGS84(EPSG:4326)。
    • 示例代码(用于检测导入异常):
      SELECT * FROM 景区表 WHERE Lon NOT BETWEEN 73 AND 135 OR Lat NOT BETWEEN 3 AND 54;
      
  1. 可视化验证
    • 叠加底图:通过XYZ Tiles加载OpenStreetMap或高德地图,观察景区点位是否与真实位置匹配。
    • 空间分布分析:使用QGIS的"点密度分析"工具,检测是否存在坐标聚集异常(如大量景区集中在同一经纬度)。

三、坐标提取与导出
  1. 直接导出属性表

    • 操作路径:右键图层 → 导出 → 保存要素为
    • 格式选择:CSV、Excel或GeoJSON,保留"经度"、"纬度"字段。
    • 编码设置:导出CSV时选择UTF-8,避免中文乱码。
  2. 脚本批量处理(Python示例)
    使用QGIS内置Python控制台批量导出多省份数据:

    import processing
    layers = QgsProject.instance().mapLayers().values()
    for layer in layers:if layer.name().startswith("A级景区"):output_path = f"C:/output/{layer.name()}.csv"processing.run("qgis:exportaddstabletolayer", {'INPUT': layer,'OUTPUT': output_path})
    

    运行

  3. 高级导出需求

    • KML格式:适用于Google Earth可视化,导出时选择Keyhole Markup Language (KML)
    • GeoPackage:适用于多图层集成存储,通过导出 → GeoPackage实现。

四、数据质量提升技术
  1. 地理编码补全缺失坐标
    • 安装MMQGIS插件:插件 → 管理插件 → 搜索MMQGIS
    • 批量补全地址坐标:
  • 输入文件:包含"地址"字段的CSV。
  • 服务选择:高德地图API(需申请密钥)或OpenStreetMap。
  • 输出字段:自动生成"经度"、"纬度"列。
  1. 坐标纠偏技术
    若原始数据使用GCJ-02或BD-09坐标系,需通过HCMGIS插件转换为WGS84:

    • 操作路径:HCMGIS → 工具 → 坐标系转换
    • 参数设置:输入坐标系选GCJ-02,输出选WGS84。
  2. 异常值修正方法

    • 人工修正:通过Lat Lon Tools插件点击地图获取准确坐标。
    • 交叉验证:对比国家地理信息公共服务平台(天地图)的POI数据。

五、可视化与成果应用
  1. 热力图分析
    使用QGIS的"热力图渲染"功能,分析景区分布密度:

    • 半径设置:50公里(全国尺度)。
    • 配色方案:从蓝色(低密度)到红色(高密度)。
  2. ECharts动态可视化
    导出CSV数据后,通过ECharts生成交互式地图:

    option = {series: [{type: 'scatter',coordinateSystem: 'geo',[[116.40, 39.90, '故宫'],[120.15, 30.25, '西湖'],// ...其他景区数据],symbolSize: 8,label: { show: true }}]
    };
    

    运行

  3. 空间分析扩展

    • 缓冲区分析:计算5A级景区周边10公里内的交通设施覆盖率。
    • 可达性评估:通过Service Area工具分析高铁站到景区的通行时间。

六、注意事项与常见问题
  1. 坐标系一致性

    • 确保所有数据统一为WGS84(EPSG:4326),避免混合使用GCJ-02或CGCS2000。
    • 投影转换工具:处理工具箱 → 矢量通用 → 重投影图层
  2. 性能优化

    • 大数据处理:对全国1.2万+景区数据启用空间索引(图层属性 → 源 → 创建空间索引)。
    • 分省处理:通过按属性分割工具分批次导出,减少内存占用。
  3. 法律与数据伦理

    • 遵守《地理信息安全保密规定》,不得公开军事禁区、自然保护区等敏感区域坐标。
    • 引用数据需注明来源(如"数据来源于各省文化和旅游厅,2020年")。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/72741.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何进行postgreSQL专家认证

进行 PostgreSQL 专家认证主要有信创 PostgreSQL 认证和中国 PostgreSQL 考试认证等方式,以下以信创 PostgreSQL 认证为例介绍具体步骤: 了解认证体系 信创 PostgreSQL 认证由工信部人才交流中心组织及颁发证书,包括以下三个级别:…

【前端】【webpack-dev-server】proxy跨域代理

参考:https://www.bilibili.com/video/BV1c5SnYZEnZ?spm_id_from333.788.videopod.episodes&vd_source65c8707649747fd67b232866b69a5ebd&p138

批量在 Word 的指定位置插入页,如插入封面、末尾插入页面

我们经常会碰到需要在 Word 文档中插入新的页面的需求,比如在 Word 文档末尾插入一个广告页、给 Word 文档插入一个说明封面,在 Word 文档的中间位置插入新的页面等等。相信这个操作对于大部分小伙伴来说都不难,难的是同时给多个 Word 文档插…

在Windows 11的WSL中安装Kali Linux

Kali Linux 是网络安全从业者和爱好者的首选工具集,但直接在物理机或虚拟机上运行可能占用较多资源。借助 Windows Subsystem for Linux (WSL),我们可以在Windows 11中原生运行Kali Linux,轻量且高效。本教程将手把手教你如何在WSL2中安装并配…

Flow Size Prediction with Short Time Gaps

Flow Size Prediction with Short Time Gaps 网络流量预测新突破:微秒级短流预测的可行性分析 在当今数据中心和云计算环境中,网络流量的精准预测是优化资源分配、实现智能负载均衡的关键。传统流量和预测聚焦于长时间间隔(如秒级或分钟级&…

pandas——to_datatime用法

Pandas中pd.to_datetime的用法及示例 pd.to_datetime 是 Pandas 库中用于将字符串、整数或列表转换为日期时间(datetime)对象的核心函数。它在处理时间序列数据时至关重要,能够灵活解析多种日期格式并统一为标准时间类型。以下是其核心用法及…

数学建模:MATLAB强化学习

一、强化学习简述 强化学习是一种通过与环境交互,学习状态到行为的映射关系,以获得最大积累期望回报的方法。包含环境,动作和奖励三部分,本质是智能体通过与环境的交互,使得其作出的动作所得到的决策得到的总的奖励达…

【leetcode hot 100 160】相交链表

解法一:(哈希集合)利用HashSet保存一个链表的值,循环另一个列表,在HashSet中寻找该值。 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x…

19. 大数据-技术生态简介

文章目录 前言一、Hadoop介绍1. 简介2. Hadoop发展史3. Hadoop现状 二、Hadoop特性1. Hadoop国外应用2. Hadoop国内应用 三、Hadoop架构变迁1. 发行版本2. Hadoop架构变迁(1.0-2.0变迁)3. Hadoop架构变迁(3.0新版本)4. 综述 四、技术生态体系 前言 大数据(Big Data…

DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)示例3: 行选择

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…

VsCode 快捷键备忘

移动光标及选择文本 Ctrl ← / → :以单词为单位移动游标Home / End:光标移到行首/行位Ctrl Home / End:光标移到文件首和文件尾Ctrl Shift \:在匹配的分隔符之间跳转 配对的分隔符 是指分隔代码元素的字符,比如字…

用数据唤醒深度好眠,时序数据库 TDengine 助力安提思脑科学研究

在智能医疗与脑科学快速发展的今天,高效的数据处理能力已成为突破创新的关键。安提思专注于睡眠监测与神经调控,基于人工智能和边缘计算,实现从生理体征监测、智能干预到效果评估的闭环。面对海量生理数据的存储与实时计算需求,安…

SQL_语法

1 数据库 1.1 新增 create database [if not exists] 数据库名; 1.2 删除 drop database [if exists] 数据库名; 1.3 查询 (1) 查看所有数据库 show databases; (2) 查看当前数据库下的所有表 show tables; 2 数据表 2.1 新增 (1) 创建表 create table [if not exists…

Qt 开发 OpenGL 程序流程

在用 Qt 开发 OpenGL 程序时,整体的工作流程分为几个关键步骤,最终目的是将数据传递给 GPU 并开始渲染。这一过程涉及到从代码编写到与着色器连接的多个操作,下面我将详细讲解每个步骤。 1. 设置 Qt 项目 这个步骤是准备工作,你首…

长短期记忆网络(LSTM)学习指南

长短期记忆网络(LSTM)学习指南 1. 定义和背景 长短期记忆网络(Long Short-Term Memory, LSTM)是一种递归神经网络(RNN)的变体,旨在解决传统RNN在处理长期依赖关系时遇到的梯度消失或爆炸问题。…

仿12306项目(4)

基本预定车票功能的开发 对于乘客购票来说,需要有每一个车次的余票信息,展示给乘客,供乘客选择,因此首个功能是余票的初始化,之后是余票查询,这两个都是控台端。对于会员端的购票,需要有余票查询…

第十二届蓝桥杯 异或数列

原题: https://www.acwing.com/problem/content/3424/ 题目大意: A、B两人的数初始值均为0,他们轮流从X数组中取数,可以将该数与自己的数或对方的数进行异或操作,A先手,当X中的数被取完的时候谁的数大谁…

微服务的认识与拆分

微服务架构通过将应用分解为一组小的、独立的服务来实现,每个服务围绕特定业务功能构建,并能独立部署与扩展。这种架构增强了开发灵活性、提高了系统的可维护性和扩展性,使得团队可以更快地响应变化和市场需求。 目录 认识微服务 单体架构 …

高效编程指南:PyCharm与DeepSeek的完美结合

DeepSeek接入Pycharm 前几天DeepSeek的充值窗口又悄悄的开放了,这也就意味着我们又可以丝滑的使用DeepSeek的API进行各种辅助性工作了。本文我们来聊聊如何在代码编辑器中使用DeepSeek自动生成代码。 注:本文适用于所有的JetBrains开发工具&#xff0c…

项目中同时使用Redis(lettuce)和Redisson的报错

温馨提示:图片有点小,可以放大页面进行查看... 问题1:版本冲突 直接上图,这个错表示依赖版本不匹配问题,我本地SpringBoot用的是2.7,但是Redisson版本用的3.32.5。 我们通过点击 artifactId跟进去 发现它…