空间信息可视化——WebGIS前端实例(一)

基于WebGIS的历史人文空间信息整合和可视化系统设计与实现 历史人文空间地理信息是传统GIS与人文社会学、人文地理学融合的产物。本课题设计和实现一个基于Cesium的历史人文空间信息整合和可视化系统,具体功能模块包括:在空间上展示历史人物、历史事件、旅游景点和名胜古迹,以及相关数据的查询和统计分析。该课题涉及到B/S体系结构、地理信息系统(GIS)开发和Web应用开发等相关技术和方法。 阅读详情

技术栈:原生HTML

源代码:CUGLin/WebGIS: This is a project of Spatial information visualization

4 全国贫困县可视化系统

4.1 系统设计思想

党的十九大报告明确指出,要“确保到2020年我国现行标准下农村贫困人口实现脱贫,贫困县全部摘帽,解决区域性整体贫困,做到脱真贫、真脱贫”[1]。

从2012年到2020年,历时8年,现行标准下9899万农村贫困人口全部脱贫,国务院扶贫开发领导小组办公室认定的832个贫困县全部实现脱贫,我国历史性告别绝对贫困。这无疑是彪炳史册的历史性功绩,这场伟大的奇迹广受联合国秘书长在内的国内外一致称赞,为世界提供了中国模式和中国方法[2]。

八年间,地理信息领域学者矢志不渝助力脱贫攻坚。王海起等通过构建扶贫地理知识图谱为复合贫困整体提供解决方案[3],刘一臻等通过设计三维地理信息服务于脱贫攻坚指挥系统的建设与应用[4],关显明等通过采用众包的模式实现精准扶贫地理信息采集系统[5]。GIS技术作为强大的工具,在这场反贫困斗争中发挥了不可替代的作用。

基于这样的时代背景,全国贫困县可视化系统的设计思想应运而生,旨在通过先进的地理信息可视化技术,直观展现我国脱贫攻坚战的辉煌成就与历程,同时为后续的乡村振兴及可持续发展提供决策支持与经验借鉴。

4.2 贫困县数据处理

4.2.1 数据获取

国家级贫困县,又称国家扶贫工作重点县或国定贫困县,是国家为帮助贫困地区设立的一种标准。全国共有832个国家级贫困县(包括县级行政单位,县、区、旗、县级市、自治县、自治旗)。国家为扶持贫困地区,设立国家级贫困县标准,资格经国务院扶贫开发领导小组办公室认定,审批工作共进行过三次。少数民族自治地区有不同评定标准,称民族自治地方国家扶贫工作重点县。

针对具体的贫困县数据,官方网站并没有具体的名单表格发布,而在百度百科中有纯文本格式的各个贫困县的脱贫时间,因此这里无法采用爬虫方法爬取,只能采取手工方法查找整理。(百科网址:国家级贫困县_百度百科)

同时,系统需要使用到行政边界数据,这里应用的行政边界数据是选取自阿里云的地图选择器,按照需求下载对应区域的GeoJSON数据即可。(阿里云选择器网址:DataV.GeoAtlas地理小工具系列)

4.2.2 数据处理

获取的数据主要分为两类,即矢量边界数据和贫困县数据,矢量边界数据是直接存储为GeoJSON数据,主要包含了“Feature”、“geometry”等字段,其中数据严谨且时效,符号标准底图要求,这里以南海区域的十段线为例,如图4.2-1所示。

图4.2-1 南海区域十段线

而贫困县数据这里可以手动存储为js格式的数据,即利用var ()方法存储为数组,方便后期调用。此外,系统应用了WMTS技术,即应用矢量瓦片底图作为底图,这方面的数据可以通过Leaflet的addTo()方法直接进行调用。

本系统主要应用到的数据如表4.2-1所示。

表4.2-1 应用数据表

数据名称

数据类型

数据来源

矢量边界数据

GeoJSON

阿里云地图选择器

贫困县数据

JavaScript

百度百科

栅格底图数据

Tiff

ESDIS、Google Map、天地图

4.3 系统设计

4.3.1 总体设计

本系统的项目文件夹为全国贫困县可视化系统,项目包含3个文件夹和index文件,分别是CSS文件夹,负责存放有关的CSS样式文件;Data文件夹,负责存放项目中所使用到的数据文件;JS文件夹,负责存放项目中所使用到JavaScript文件。同时在主文件夹中还包含3个文件,index.html是项目的入口HTML文件,程序从此处开始进入并运行;index.css是项目样式表文件,负责项目有关的样式编写;index.js是项目逻辑文件,负责项目有关的逻辑编写。此外,还提供了笔者获取的原始数据“脱贫县数据.docx”和处理后的数据“贫困县名单.pdf”。项目结构图如图4.3-1所示。

图4.3-1 项目结构

项目大致流程主要分为数据获取、输出处理、程序编写、系统测试四大主要部分。如图4.3-2所示。

图4.3-1 项目流程图

4.3.2 界面设计

系统界面主要由三个部分组成:地图部分、图表部分、交互部分。地图部分主要用于显示基础地图,表达出地域的位置信息及底图附带的其他包含信息,图表部分主要负责表达出不同级别区域下的贫困县统计数据,交互部分主要负责进行页面的交互,实现地图和图表的动态切换,此外还可以监听鼠标事件实现动态交互功能。

4.3.3 逻辑设计

逻辑设计主要涉及四大方面的内容:数据读取、地图制作、表格绘制、交互响应。数据读取应当是页面加载后最先完成的部分,主要负责利用数据读取库从文件中读取相应的数据存储为JavaScrpit对象。地图制作主要负责利用LeafLet及其相关插件绘制并渲染地图,实现地图的相关功能。表格绘制主要负责利用D3库绘制当前状态下的统计图表。交互相应主要负责利用Jqurey库、D3库等实现页面的交互功能。

4.4 程序汇编

4.4.1 开发环境

本系统编写采用原生 JavaScript+HML+CSS 进行编写,基于 LeafLet 框架以及papaparse.js库、turf.min.js库和jquery-3.7.1.js库实现 Web 端地图程序,同时结合 d3.js库进行表格的绘制。系统开发使用的IED为Visual Studio Code 2022,使用了Live Preview和HTML CSS Support等插件进行开发。

4.4.2 主界面汇编

HTML文件主要由Head和Body两个部分组成。Head部分主要负责引入所需要的CSS和JS文件。Body部分主要为HTM的框架结构。Body部分包含一个id为containr的div容器,其下又分为id分别为side-bar和map-wrapper的容器,分别承载工具和地图。HTML的架构如图4.4-1所示。

图4.4-1 HTML架构图

4.4.3 逻辑函数汇编

整个程序的逻辑函数全部汇编于“index.js”中,主要编写了基础图元加载和交互操作处理的事务逻辑:当选中指定的区域和年份后,会首先获取并过滤得到相应区域的贫困县数量和边界数据,然后将该数据通过turf.js库转换为Geojson数据准备进行加载。预加载前,向根据选择区域加载其边界数据。然后判断加载数据的情况,显示不同的数据类型。与此同时,根据选择底图类型,添加相对应的瓦片图底。同时,根据选择的区域和选择的类型获取并计算该状态下的贫困县统计数据,使用d3.js将绘制到表格中。系统整体的逻辑流程如图4.4-2所示。

图4.4-2 系统逻辑流程图

4.5 系统展示

输入发布的网址或打开index.html进入系统后,界面为填充全屏的LeafLet图框,并且默认加载了由ESDIS提供的NASA2012夜间灯光影响瓦片地图,而其上方则会分布三个交互选项栏,分别为“区域”、“年份”和“底图”的选项。如图4.5-1所示。

图4.5-1 系统默认打开界面

用户可以自行选择感兴趣的区域和发电类型,使用交互栏中的下拉菜单选择特定的区域和年份查看指定区域指定年份下的贫困县分布情况。这里以全国2015年的贫困县分布情况为例,点击第一个下拉框,选择“全国”;点击第二个下拉框,选择“2015”,点击第三个下拉框,选择“Satellite Image night”。如图4.5-2所示。

图4.5-2 全国贫困县可视化情况

当用户将鼠标置于不同的区域位置,会在右上角的表格中显示对应的区域的数据,同时不同省份包含不同的贫困县数量,这里主要采用的是自然间断法进行分级处理,针对不同的级别的省份赋予不同的质地,同时在左下角放置图例图框供用户参考,此外还在右侧放置了d3.js库绘制的汇总统计样表,并按顺序级数排列,主要的表格参考说明如图4.5-3所示。

图4.5-3 绘制表格方法

这里可以查看具体省份的贫困县分布情况,点击第一个下拉框,选择“安徽省”;点击第二个下拉框,选择“2015”,点击第三个下拉框,选择“TianDiTu Normal Map”。如图4.5-4所示。

图4.5-4 安徽省贫困县可视化情况

深入WebGIS前端开发:JavaScript实战指南 WebGIS是地理信息系统(GIS)技术与互联网技术的融合,它扩展了GIS的应用范围,使得用户能够通过网络访问地理空间数据和执行空间分析。WebGIS的关键在于它的网络共享能力,这使得用户可以实时地获取、更新和共享地理信息。地图库是构建交互式地图应用的基石。它们使得开发者可以不必从零开始编写复杂的地图渲染和交互代码,而是使用现成的、经过优化的库来构建应用。地图库通常包括地图渲染引擎、地理空间数据处理、用户界面组件和API接口,帮助开发者在Web上创建功能丰富的地图应用。 阅读详情

相关推荐

WebGIS基础系统开发实战

WebGIS(Web地理信息系统)是基于互联网平台的地理信息系统,它利用网络技术和GIS技术,让用户能够在浏览器端访问和操作地理空间数据。WebGIS为多种领域提供了便捷的空间信息解决方案,如城市规划、环境监测、灾害管理等。SSH框架是Struts、Spring和Hibernate三个框架的组合,它将它们各自的优点融合在一起,形成了一套非常强大的Web应用开发解决方案。这三大框架分工明确:Struts。

weixin_35982453的博客 1362

WebGIS 信息系统-主界面基本模块功能设计

在应用中为了提高系统的安全性,避免用户通过输入地址访问JSP 页面资源,在开发时将JSP 页面放入WEB-INF 文件夹中,这样用户就只能通过Action 访问指定的JSP 页面。主界面展示基本地图,并且可以通过选项菜单切换不同类型的地图,三个二级界面分别实现地点搜索功能、路径查询功能以及导航功能。导航功能界面基于路径抽屉展示的结果,可分段展示不同的路径片段,同时可以开启语音提示功能。(2 )搜素栏: 根据输入的地址,可实现名称的查找、地图的自动定位功能,也可根据输入的坐标实现地图的自动定位功能。

leva的博客 2438

webgis 实例应用

webgis 示例 代码 map 初级学习 实用 可参考 javascript

前端切图仔如何玩转webgis开发酷炫界面实战项目经验指南

WebGIS(网络地理信息系统)是指工作在Web网上的GIS,是传统的GIS在网络上的延伸和发展,具有传统GIS的特点,可以实现空间数据的检索、查询、制图输出、编辑等GIS基本功能,同时也是 Internet 上地理信息发布、共享和交流协作的基础。

qq_15041931的博客 6421

WebGIS三维可视化

WebGIS三维可视化的非常好的参考资料

web漂亮的界面参考资料

一些漂亮的web前端以及后端素材,开发当中可以参考等等等等等等等等等等等等等等等等等等

webgis主界面及查询功能实现

3月24日利用前几天爬到的数据,初步完成了主界面以及基本的查询功能,先上个成果图 记录: 1.多表查询,模型类的扩展,如果要返回复杂的结果集,可以继承属性较多的模型类,或者新建一个类,包含了需要的属性特征,其实说起来比较像数据库里面的视图,如果用视图的话应该会比较好,但我又希望数据库的结构能够尽量的简洁。 2.自己感觉现在浏览器的负荷在数据量比较大的时候可能性能有点差,加载的东西有点多。 3.

Kaybee - 练级之路 6508

WebGIS完整功能例子

WebGIS完整功能例子 其他人的太贵了。。。偶这个你只要评论一下别人,就能拿到这一分,就能下载了。省的找的好累,或者积分太多了。。。

基于Openlayers3的WebGIS系统开发1

基于Openlayers3的WebGIS系统开发

m0_64819732的博客 460

Python地理空间数据库之geopandas使用详解

地理空间数据分析在许多领域中都有着广泛的应用,包括地理信息系统(GIS)、城市规划、环境科学、地质勘探等。Python GeoPandas是一个强大的库,旨在简化地理空间数据的处理和分析。本文将深入介绍GeoPandas库,包括其基本概念、功能特性、示例代码以及在实际应用中的应用场景。

Rocky006的博客 1万+

【 Git学习记录(三)】推荐四款主流的Git代码托管平台 —— GitHub、GitLab、Gitee、Coding

了解过Git之后,作为一个程序猿最基本的,你还需要了解目前主流的在线代码托管平台,并至少选择其中一款在平时开发中使用。这里特别介绍以下四款: 国外平台 GitHub —— 全球最流行的代码托管平台 GitLab —— 基于git的仓库管理程序 国内平台 Gitee —— 开源中国旗下的代码托管平台 Coding —— 支持社交元素的代码托管平台 一. GitHub 链接地址:https://github.com/ GitHub目前是全球最流行的代码托管平台(别称:全球最大的同性交友.

JZevin的博客 6091

WebGIS 智慧城市三维可视化综合管控

一屏覆盖城市运营、文化旅游、城市治理、灾害应急、智慧环卫、疾病防控等模块。借助先进的 HT 可视化技术,将不同领域的数据资源和信息系统进行联合,打破信息孤岛,实现数据的互联互通。为未来城市生活描绘了一幅更加智能、高效、环保的蓝图。

二三维数据可视化/数字孪生 1568

ECMWF等大气数据批量下载(Python API)详细步骤

ECMWF等大气数据批量下载(Python API) 遥感方向做热红外温度反演,不可避免的要用到大气廓线数据,大气数据具有实时性,比如2018年9月1日的早上8点的影像,为了提高反演精度就需要用到时间上与其相差尽可能接近的大气数据,用于消除大气的影响,如果数据量较少我们可以查看影像的时间和空间范围进行下载,但是如果处理某个较大区域时可能涉及到大量的影像,如果一景一景对应查找去下载会很麻烦,因此针对大量数据的自动批量下载很有必要。本文根据 https://cds.climate.copernicus.eu/#

liuxiaojiangtobeno1的博客 1万+

空间信息可视化——WebGIS前端实例(二)

本文主要应用WebGIS方法构建了一个前端空间信息可视化系统

CUGLin的博客 1484

RTL优化与PPA分析:数字电路设计的关键技术

在数字集成电路设计中,RTL(寄存器传输级)优化是提升芯片性能、降低功耗和减小面积的核心技术。通过PPA(Power-Performance-Area)指标的平衡,工程师可以在不同时序约束下实现设计的最优化。本文基于Synopsys Design Compiler和开源工具Yosys的实验数据,展示了RTL优化在算术单元和控制逻辑中的显著效果,特别是在乘法器和除法器等复杂运算模块中。文章还探讨了AI辅助工具在RTL优化中的应用潜力,为数字电路设计提供了实用的技术参考和工程实践建议。

weixin_42186387的博客 619

ArcGIS渔网分割实战:用Create Fishnet快速生成1km×1km网格(附GDP数据分析案例)

本文详细解析了ArcGIS中Create Fishnet工具在渔网分割中的应用,从基础操作到GDP空间分析全流程。通过1km×1km网格的创建与优化,实现经济数据的空间标准化和可视化表达,解决数据融合与分析的三大核心痛点。

weixin_29250403的博客 295

HoRain云--GIS工具协作指南:从数据处理到三维可视化

摘要: 本文介绍了空间信息领域中WebGIS、Cesium、QGIS和ArcGISPro的技术分工与协作关系。WebGIS作为Web端交互框架,Cesium专注于三维可视化,QGIS和ArcGISPro则负责数据处理与分析。文章通过表格对比各工具的核心定位与能力,并提供了不同场景下的技术组合建议(如轻量级地图、三维可视化等)。同时,纠正了常见误区(如混淆Cesium与WebGIS、低估QGIS功能等),强调根据项目需求选择工具。最后鼓励读者结合实际需求提问,以获得更具体的指导。

sinat_57153473的博客 750

【数据集】未来不同情景下预测数据:如人口、土地利用等

未来不同情景下预测数据:如人口、土地利用等

WW、forever的博客 2994

基于SpringBoot和Leaflet集成在线天气服务的区县当前天气WebGIS实战

在当今数字化时代,地理信息系统(WebGIS)作为一种强大的空间信息展示与分析工具,已经广泛应用于各个领域。它不仅能够直观地呈现地理数据,还能结合实时信息为用户提供更加丰富和动态的体验。天气信息作为与人们日常生活息息相关的重要数据,其与WebGIS的结合更是具有巨大的应用价值。本文将深入探讨如何基于SpringBoot框架和Leaflet库,集成在线天气服务,构建一个展示区县当前天气的WebGIS系统,旨在通过实战案例为相关开发者提供参考和借鉴。

计算机毕业论文源码,学生个人网页制作html源码。贴近用户做网络推广和互联网优化。 1647

从零开始玩转边缘 AI:Jetson Nano 深度学习环境搭建与 YOLOv5 部署指南

Jetson Nano是NVIDIA推出的嵌入式AI开发板,凭借其强大的GPU计算能力和完善的软件生态系统,成为边缘AI部署的理想平台。本教程源于作者团队参加2024中国机器人大赛暨RoboCup机器人世界杯中国赛机器人先进视觉3D识别赛道的实战经验,是一份经过验证的环境部署指南。

LXY_LOVE36的博客 234

寄存器与计数器设计(Verilog)

always @(posedge Reset or posedge Clock)//请在括号中补充敏感信号列表。always @(negedge Resetn , posedge Clock)//请在括号中补充敏感信号列表。always @(negedge Resetn,posedge Clock)//请在括号中补充敏感信号列表。//为了便于自动评测,请勿更改n的值。//为了便于自动评测,请勿更改n的值。//为了便于自动评测,请勿更改n的值。//为了便于自动评测,请勿更改n的值。

M_inherit的博客 362

大模型也能做地图可视化了!0代码实现WebGIS开发

摘要:无需代码和矢量数据,利用字节跳动AI平台"扣子"即可实现空间数据可视化。以湖北省人口数据为例,上传Excel后通过简单指令,平台自动生成交互式地图(支持10种风格切换、数值筛选及图片导出),底层采用GeoJSON+ECharts架构。这标志着空间可视化门槛大幅降低,传统WebGIS开发模式正被AI重塑。案例数据来自官方公开渠道,仅作演示用途。(注:平台功能稳定性与数据准确性不作保证)

Promising_GEO的博客 116

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Spring Boot携手Leaflet,点亮省级旅游口号WebGIS可视化之路

本项目旨在通过Spring Boot与Leaflet的深度结合,构建一个省级旅游口号WebGIS可视化平台,将各地的旅游口号与地理空间数据紧密相连,以直观、生动的地图可视化形式呈现给用户。

夜郎King的博客 8982

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

WebGIS的认识及学习路线推荐!

WebGIS的认识及学习路线推荐。

damadashen的博客 8388

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

多种方式发布WebGIS地图服务以及显示

目录一、WebGIS基础1. 什么是WebGIS?(WebGIS的介绍、技术、架、功能/应用、产品)2. OGC规范3. 主流WebGIS架构4. 主流GIS服务器4.1 ArcGIS Server4.3 SuperMap iServer4.3 GeoServer5. 主流GIS框架(介绍、区别)5.1 ArcGIS API for JavaScript5.2 SuperMap iClient JavaScript5.3 OpenLayers5.4 Mapbox 与 MapboxGL5.5 Leaflet二

啊峰成长记 1万+

地理空间大揭秘:身份证首位数字的隐藏含义-使用WebGIS进行传统6大区域展示

在本文中,我们将以身份证首位数字为切入点,深入探讨其背后的地理空间含义。我们将利用 WebGIS 技术,对我国传统 6 大区域进行详细的展示和分析。

夜郎King的博客 1万+
上一篇: 数据结构课程设计(六)TIN的构建
下一篇: 空间信息可视化——WebGIS前端实例(二)
CUGLin
博客等级 码龄4年 585粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值