WebGIS視角:體感溫度實證,哪座“火爐”火力全開?

目錄

前言

一、火爐城市空間分布及特點

1、空間分布

2、氣候特點

二、數據來源及技術實現

1、數據來源介紹

2、技術路線簡介

三、WebGIS系統實現

1、后端設計與實現

2、前端程序實現

四、成果展示

1、整體展示

2、蒸烤模式城市

3、舒適城市

五、總結


前言

????????“火爐城市”是中國對夏季天氣酷熱的城市的夸張稱呼。這一說法最早出現在民國時期,當時媒體有“三大火爐”之說,即重慶、武漢和南京,都是長江沿線的著名大城市,分別居于長江的上、中、下游,因夏季氣溫炎熱,被媒體夸張地稱為“火爐”。新中國成立后,又有了“四大火爐”之說,這有幾種城市組合,多指長江流域的幾個城市。第一種組合是武漢、南京、重慶、南昌;第二種組合是武漢、南京、重慶、長沙。

????????隨著時間的推移,火爐城市的名單也在發生變化。2017年,中國氣象局國家氣候中心發布榜單,通過綜合分析中國省會城市和直轄市的氣象資料,首次向公眾權威公布中國夏季炎熱城市情況。綜合分析的結果是,夏季炎熱程度靠前的10個省會城市或直轄市分別為:重慶、福州、杭州、南昌、長沙、武漢、西安、南京、合肥、南寧。其中,排在前列的重慶、福州、杭州、南昌四個城市被不少網民冠名為“新四大火爐”,武漢退出前四,位居第六。如下圖所示:

????????通過WebGIS技術進行體感溫度的實證分析,可以實現對火爐城市“火力”的精細化評估。這種分析不僅可以幫助城市管理者更好地了解城市熱環境的現狀,為城市規劃和公共設施布局提供科學依據,還可以為居民提供更準確的天氣信息,幫助他們合理安排戶外活動,減少高溫天氣對健康的影響。此外,體感溫度的實證分析還可以為氣候變化研究提供數據支持。在WebGIS技術的助力下,通過整合多源數據,實現對火爐城市“火力”的動態監測和精細化評估,不僅可以提高城市居民的生活質量,還可以為城市的可持續發展提供有力保障。本文將從WebGIS技術背景出發,結合火爐城市的相關知識,探討如何通過體感溫度的綜合,揭示各火爐城市的“火力”現狀。??

一、火爐城市空間分布及特點

????????本節將簡單介紹一下關于火爐城市的空間分布及其特點,不知道看文章的朋友是否就在這些城市當中呢?歡迎在評論區留言交流。

1、空間分布

????????長江流域的集中分布

????????傳統火爐城市大多集中在長江流域,包括重慶、武漢、南京等。這些城市共同的地理特征是位于河谷、盆地地帶,地形閉塞,四周被高山環繞,地勢低洼,熱空氣不容易擴散,形成了“天然蒸籠”。例如:

  • 重慶:地處四川盆地,四周被大巴山、巫山、武陵山、大婁山等山脈環繞,地形封閉,夏季熱量難以散發。

  • 武漢:位于長江中游的江漢平原,地勢平坦,河湖眾多,水汽蒸發加劇濕度,形成“蒸籠模式”。

  • 南京:地處長江下游,夏季受副熱帶高壓控制,氣溫居高不下,且城市綠化較好,近年來高溫天氣有所緩解。

????????河谷與盆地地形

????????城市大多位于河谷或盆地地帶,地形不利于熱量的散發,導致高溫天氣持續時間長。例如:

  • 重慶:位于四川盆地,海拔較低,四周群山環繞,熱空氣難以擴散。

  • 南昌:位于鄱陽湖平原,三面環山,北臨鄱陽湖,空氣流動性差,夏季高溫天數多。

  • 長沙:位于湘江流域,夏季濕度大,高溫天氣頻繁,且受焚風效應影響,進一步加劇炎熱。

????????從流域分布來看,這些城市大多都是沿著長江流域分布,黃河流域只有西安一個城市,珠三角水系有南寧這個城市。

2、氣候特點

????????火爐城市具有以下共同特點:

  1. 高溫天氣:夏季高溫持續時間較長,氣溫普遍超過35℃,最高氣溫甚至可達40℃以上。

  2. 潮濕天氣:這些城市夏季濕度較大,空氣潮濕,使得高溫天氣更加難以忍受。

  3. 熱浪襲擊:夏季,火爐城市常常出現熱浪襲擊,持續時間長,影響范圍廣。

????????城市熱島效應

????????隨著城市化進程的加快,城市熱島效應也成為火爐城市高溫天氣的重要因素。例如:

  • 武漢:城市建筑密集,熱島效應顯著,夏季城區溫度比郊區高3-5℃。

  • 南昌:城市熱島效應明顯,夏季夜間溫度常居30℃以上。

  • 南京:通過增加城市綠道與濕地,體感溫度有所下降。

????????地理位置與季風影響

????????這些城市大多位于亞熱帶季風氣候區,夏季受副熱帶高壓控制,氣溫高,濕度大。例如:

  • 重慶:夏季受副熱帶高壓影響,氣溫上升,且冷空氣難以翻越秦嶺大巴山,臺風也很難影響到重慶。

  • 武漢:夏季受副熱帶高壓控制,氣溫高,濕度大,且河湖蒸發加劇濕度。

  • 南京:夏季受副熱帶高壓控制,氣溫高,濕度大,但近年來通過城市綠化等措施,高溫天氣有所緩解。

????????以博主生活工作的城市長沙為例,就是一個酷暑難耐的城市,加上城市的濕度大,體感真的跟蒸桑拿差不多。

二、數據來源及技術實現

????????本節將介紹火爐城市展示時的天氣數據來源和具體的技術路線。

1、數據來源介紹

????????本博客使用的數據主要分為兩類,第一類是空間數據,包括城市空間信息和城市所在經緯度信息。第二類是天氣信息。詳細見以下表格:

序號數據說明
1城市區域范圍表,biz_city導入的國家地級市區域范圍,Polygon面數據
2城市點位信息表,biz_geographic_name導入的城市地名位置信息表,Point點數據
3城市天氣信息表百度實時天氣接口,webAPI獲取,數據時點:2025年8月30日13:00左右

????????根據之前的火爐城市介紹,我們將城市名稱和城市的行政區劃代碼整理如下,這個表格是后面工作開展的基礎。

序號行政區劃代碼城市名稱
1360100南昌市
2500000重慶市
3330100杭州市
4320100南京市
5420100武漢市
6340100合肥市
7350100福州市
8450100南寧市
9430100長沙市
10610100西安市

2、技術路線簡介

????????以上是簡化的技術路線介紹,首先需要獲取百度地圖的天氣接口,將實時天氣信息緩存到本地,然后使用空間查詢服務將城市區域信息和城市點位信息和天氣信息進行時空關聯檢索,最后將檢索數據進行渲染輸出,疊加到WebGIS組件中,完成一個整體的從數據獲取到關聯和輸出的過程。關于如何獲取百度地圖的天氣信息和本次存儲的落地,歡迎大家查看之前的系列文章GSON 框架下百度天氣 JSON 數據轉 JavaBean 的實戰攻略和基于 MybatisPlus 將百度天氣數據存儲至 PostgreSQL 數據庫的實踐,這里不再贅述。

三、WebGIS系統實現

????????本節重點從前后端來進行火爐城市的WebGIS系統實現,詳細講解空間關聯查詢的具體實現等知識。

1、后端設計與實現

????????與之前介紹過的省域區縣天氣查詢的服務類似,這里我們依然需要關聯天氣實時信息和城市的行政區劃范圍和點位信息。關聯查詢的Mapper實現如下:

package com.yelang.project.meteorology.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yelang.project.meteorology.domain.AreaWeatherVO;
import com.yelang.project.meteorology.domain.WeatherNow;
public interface WeatherNowMapper extends BaseMapper<WeatherNow>{final static String GET_THREEFURNACES_INFO = "<script>"+ " SELECT t2.*,T.province_code,T.province_name,T.city_code,T.city_name, " + " st_asgeojson ( T.geom ) geomJson,st_x ( t1.geom ) lon,st_y ( t1.geom ) lat "+ " FROM biz_weather_now t2,biz_city T,biz_geographic_name t1 "+ " WHERE to_char( t2.uptime, 'YYYY-MM-DD' ) = #{day} "+ " AND t2.location_code in ('350100','330100','360100','430100','420100','610100','320100','340100','450100','500000') "+ " AND T.city_name = t1.NAME AND T.city_code = t2.location_code ORDER BY t2.feels_like desc "+ "</script>";/*** - 根據指定日期查詢火爐城市天氣信息列表* @param day 日期信息* @return*/@Select(GET_THREEFURNACES_INFO)List<AreaWeatherVO> getThreeFurnacesInfo(@Param("day") String day);
}

????????這里為了方便將上面的城市行政區劃代碼直接作為已知條件拼接到SQL語句當中了,這里僅僅為了方便演示,實際項目中,為了實現更大的通用性,建議將SQL提取出來,通過參數的形式傳進去,這樣的通用性和擴展性會更高。在控制層中傳入統一時點,即2025年8月30日來調用上面的數據查詢層,關鍵代碼如下:

package com.yelang.project.meteorology.controller;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.yelang.framework.web.controller.BaseController;
import com.yelang.framework.web.domain.AjaxResult;
import com.yelang.project.meteorology.domain.AreaWeatherVO;
import com.yelang.project.meteorology.service.IWeatherNowService;
@Controller
@RequestMapping("/met/threefurnaces/weather")
public class ThreeFurnacesController extends BaseController{private String prefix = "meteorology/weather";@Autowiredprivate IWeatherNowService weatherNowService;@RequiresPermissions("met:threefurnaces:weather:map")@GetMapping("/index")public String index(){return prefix + "/threefurnacesmap";}@RequiresPermissions("met:threefurnaces:weather:list")@GetMapping("/list")@ResponseBodypublic AjaxResult list(){String day = "2025-08-30";List<AreaWeatherVO> dataList = weatherNowService.getThreeFurnacesInfo(day);return AjaxResult.success().put("data", dataList);}
}

2、前端程序實現

????????前端采用Leaflet組件來進行WebGIS數據展示,需要展示的數據包括行政區劃范圍、城市點位以及體感溫度數據,將溫度信息疊加在空間范圍和點位進行綁定,展示的代碼如下:

function previewWeather(pid,provinceCode,name){$.ajax({  type:"get",  url:ctx + "/met/threefurnaces/weather/list",  data:{},  dataType:"json",  cache:false,processData:false,success:function(result){if(result.code == web_status.SUCCESS){collisionLayer.clearLayers();var dataArray = result.data;if(dataArray != null && dataArray.length > 1){var legendData = new Array();for(var i = 0;i< dataArray.length;i++){var areaData = dataArray[i];var color = makeColor(areaData.feelsLike,-20,45,DIY_BLUE_GREEN_YELLOW_RED_SCHEME);var areaLayer = L.geoJSON(JSON.parse(areaData.geomJson),{style: {color:color,fillColor:color,weight:3,"opacity":0.65, fillOpacity: 0.65 }}).addTo(mymap);var myIcon = L.divIcon({iconSize: null,className: '',popupAnchor:[5,5],shadowAnchor:[5,5],html: buildShowInfo(i,color,areaData)});showLayerGroup.addLayer(areaLayer);//中心點位L.marker([areaData.lat, areaData.lon], { icon: myIcon}).addTo(collisionLayer);}collisionLayer.addTo(showLayerGroup);}}},error:function(){$.modal.alertWarning("獲取空間信息失敗");}});
}

????????使用以上的代碼即可完成后端的數據檢索生成以及將數據成果渲染到前端WebGIS組件中。下面我們來看看整體的效果。

四、成果展示

????????經過前面幾個步驟,我們基本完成了數據來源和技術路線介紹,詳細的介紹了WebGIS系統設計與實現,包括的前后端的具體實現。接下來結合WebGIS來看看這10個火爐城市到底哪些在慢慢熄火,哪些在持續發威。

1、整體展示

????????從空間分布來看,這10個城市中,基本是位于我國東南部,長江流域中下游的城市。而體感最熱的像杭州、南京、南京等,均到38度左右,長沙緊隨其后37度,武漢和福州35度,南京32度。重慶和西安體感溫度算舒適的,尤其是西安,都到了21度了,有秋天的感覺了。

2、蒸烤模式城市

????????時間到了8月30日,還處在蒸籠模式的城市主要是這幾個:杭州38度、南京38度、南昌38度,長沙37度,還記得以前從武漢漢口火車站轉火車去上海的歲月,在漢口火車站里,確實是蒸籠的炙烤。經濟最火熱的長三角,天氣也是一樣的高燃。

3、舒適城市

????????可能是緯度的緣故,也或許是時令的變化,重慶市和西安竟然意外的涼快,體感溫度居然都是30度一下,西安甚至來到了20度左右,體感是非常舒適了,慢慢有了秋天的感覺。

五、總結

????????以上就是本文的主要內容,本文通過WebGIS技術進行體感溫度的實證分析,可以實現對火爐城市“火力”的精細化評估。這種分析不僅可以幫助城市管理者更好地了解城市熱環境的現狀,為城市規劃和公共設施布局提供科學依據,還可以為居民提供更準確的天氣信息,幫助他們合理安排戶外活動,減少高溫天氣對健康的影響。此外,體感溫度的實證分析還可以為氣候變化研究提供數據支持。在WebGIS技術的助力下,通過整合多源數據,實現對火爐城市“火力”的動態監測和精細化評估,不僅可以提高城市居民的生活質量,還可以為城市的可持續發展提供有力保障。

? ? ? ? 通過百度提供的天氣接口,我們可以對傳統的火爐城市的實時氣溫進行綜合評估,通過實例可以看到,時間到了8月30日,我們的長三角地區的城市依然享受太陽的溫暖懷抱,而西北和重慶則相對迎來涼爽的天氣。行文倉促,受限于博主的知識量和才學,也受限于天氣數據采樣的時間點,對于體感溫度的火爐發威信息進行了一個簡單的比較,如有不準,在此懇請各位專家博主在評論區留言指出,十分感謝。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/920633.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/920633.shtml
英文地址,請注明出處:http://en.pswp.cn/news/920633.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《數據結構入門:順序表的結構設計與核心操作(C 語言版)》

目錄 一. 線性表 二. 順序表的概念與結構 2.1 核心概念 2.2 兩種常見結構 靜態順序表 動態順序表 2.3 核心區別對比 四. 順序表的實現 4.1 順序表的定義 4.2 順序表初始化 4.3 動態順序表容量檢查與擴容 4.4 動態順序表插入數據 4.4.1 頭插 4.4.2 尾插 4.4.3 指…

[Maven 基礎課程]Maven 是什么

Maven 的官方網站&#xff1a;https://maven.apache.org/ 來自 Maven 官網的對于 Maven 是什么的描述&#xff1a; Apache Maven is a build tool for Java projects. Using a project object model (POM), Maven manages a project’s compilation, testing, and documentat…

【MATLAB例程】三維組合導航,濾波使用EKF,帶嚴格的慣導推算、雅克比求解函數,圖像對比濾波前后的速度、位置、姿態

文章目錄程序介紹系統建模濾波框架仿真設置性能對比代碼優點運行結果MATLAB源代碼程序介紹 本程序實現了 三維狀態量的擴展卡爾曼濾波&#xff08;EKF&#xff09;組合導航仿真&#xff0c;采用嚴格的15維誤差狀態模型&#xff0c;狀態向量包括&#xff1a; x[pxpypzvxvyvz?θ…

港資企業在大陸,如何靠 SD-WAN 專線暢連香港?

在當前市場形勢下&#xff0c;港資企業在大陸的業務布局不斷拓展&#xff0c;企業間訪問香港總部系統以及香港員工到內陸出差時訪問相關系統&#xff0c;成為日常運營的高頻需求。然而&#xff0c;網絡問題卻常常阻礙業務的順暢開展&#xff0c;基于 SD-WAN 專線的到香港加速網…

并發編程——08 Semaphore源碼分析

1 概述Semaphore 是基于 AQS CAS 實現的&#xff0c;可根據構造參數的布爾值&#xff0c;選擇使用公平鎖&#xff0c;還是非公平鎖。Semaphore 默認使用非公平鎖&#xff1b;2 構造函數 // AQS的實現 private final Sync sync;// 默認使用非公平鎖 public Semaphore(int permi…

Java全棧開發面試實戰:從基礎到微服務的深度解析

Java全棧開發面試實戰&#xff1a;從基礎到微服務的深度解析 一、面試開場 面試官&#xff08;中年工程師&#xff0c;穿著休閑但專業&#xff09;&#xff1a;你好&#xff0c;我是李工&#xff0c;今天來聊一下你的技術背景。你之前在XX科技做全棧開發&#xff0c;對吧&#…

CVPR深度學習論文創新合集拆解:模型訓練速度算提升

關注gongzhonghao【CVPR頂會精選】大語言模型擴散Transformer的深度融合&#xff0c;讓文本到圖像生成更精準、細節更豐富&#xff1b;同時&#xff0c;專家軌跡正則化深度強化學習在自動對焦中的穩定加速表現&#xff0c;也展示了深度學習與軌跡建模結合的潛力。這樣的組合正在…

【智能體】零代碼學習 Coze 智能體(2)創建智能體的完整步驟

歡迎關注【AGI使用教程】 專欄 【智能體】零代碼學習 Coze 智能體&#xff08;1&#xff09; 【智能體】零代碼學習 Coze 智能體&#xff08;2&#xff09; 【智能體】零代碼學習 Coze 智能體&#xff08;1&#xff09;1、登錄 Coze 平臺2、創建智能體3、智能體編排頁面4、編寫…

WPF和WinFrom區別

WPF 總結Windows Presentation Foundation (WPF) 是微軟開發的一個用于構建 Windows 桌面應用程序的用戶界面框架。它基于 .NET Framework&#xff0c;提供豐富的圖形、動畫和數據綁定功能&#xff0c;幫助開發者創建現代化、高性能的應用程序。以下是其核心要點總結&#xff1…

數據庫原理及應用_數據庫基礎_第3章數據庫編程_常用系統函數

前言 "<數據庫原理及應用>(MySQL版)".以下稱為"本書"中3.1.2節內容 引入 數據庫常用系統函數的分析.上一篇帖子分析了,數據庫函數需要看看能否被C語言函數替代 1.字符串函數 1)計算字符串字符數的函數和字符串長度的函數 語法: CHAR_LENGTH(str)…

回歸問題的損失函數

簡單來說&#xff0c;?在回歸問題中&#xff0c;最常用的損失函數是均方誤差&#xff08;MSE, Mean Squared Error&#xff09;和平均絕對誤差&#xff08;MAE, Mean Absolute Error&#xff09;?。它們衡量的都是模型預測值&#xff08;?&#xff09;與真實值&#xff08;y…

吳恩達機器學習(四)

一、神經網絡神經元模擬邏輯單元&#xff1a;神經網絡簡單模型&#xff1a;神經網絡中的前向傳播過程&#xff1a;依次計算激活項&#xff0c;從輸入層到隱藏層再到輸出層的過程。樣例&#xff1a;多元分類&#xff1a;

【重學 MySQL】九十三、MySQL的字符集的修改與底層原理詳解

【重學 MySQL】九十三、MySQL的字符集的修改與底層原理詳解一、字符集修改方法1. **配置文件修改**2. **SQL命令修改**3. **數據遷移方案**二、底層原理與注意事項1. **字符集與排序規則**2. **存儲與性能影響**3. **數據一致性風險**三、常見問題解決1. **亂碼問題**2. **性能…

pdf 轉圖片工具實現

一、安裝 sudo yum install poppler-utils pdftoppm -v pdftoppm -png -r 300 a.pdf /tmp/page 運行效果&#xff1a; PDF轉圖片工具 - 在線PDF轉PNG/JPG/TIFF轉換器 | 免費在線工具 后臺實現&#xff1a; using System.Diagnostics; using System.IO.Compression;namespac…

Zynq開發實踐(FPGA之輸入、輸出整合)

【 聲明&#xff1a;版權所有&#xff0c;歡迎轉載&#xff0c;請勿用于商業用途。 聯系信箱&#xff1a;feixiaoxing 163.com】fpga開發的時候習慣上先把功能拆分成若干個模塊。針對這些模塊&#xff0c;一個一、個實現好之后&#xff0c;再用wire連接即可。這一點有點像軟件編…

【Linux基礎】深入理解計算機啟動原理:MBR主引導記錄詳解

目錄 引言 1 硬盤分區初始化概述 1.1 為什么需要硬盤分區 1.2 硬盤分區格式的發展 1.3 分區初始化的基本流程 2 MBR詳解 2.1 MBR的定義與位置 2.2 MBR的結構詳解 2.3 分區表結構詳解 2.4 MBR的工作原理 2.5 MBR的引導程序 3 MBR的局限性 3.1 硬盤容量限制 3.2 分…

Linux 線程同步

線程同步 由于線程共享內存&#xff0c;訪問共享數據&#xff08;全局變量、堆內存&#xff09;必須進行同步&#xff0c;以防止競態條件&#xff08;Race Conditions&#xff09;導致數據不一致或程序崩潰。 子線程沒有獨立的地址空間&#xff0c;數據通常是共享的&#xff1b…

世界模型的典型框架與分類

1.概述 人類和動物智能的一個重要方面是我們對世界的內部模型。我們使用這個模型來預測我們的行為將如何影響我們的環境&#xff0c;預測未來的事件&#xff0c;并計劃復雜的行動序列以實現目標。當前大多數機器學習研究都集中在被動理解數據的模型上&#xff0c;例如圖像分類…

【Day 35】Linux-Mysql錯誤總結

&#xff08;一&#xff09;MySQL 基礎操作與服務故障類 連接層錯誤&#xff08;客戶端與服務器的連接建立失敗&#xff09; 解決 socket 路徑、文件存在性及服務可用性問題。 1、MySQL 客戶端連接失敗&#xff08;報錯 “Cant connect to local MySQL server throgh socket…

MYSQL速通(2/5)

六、多表查詢1、多表關系①、一對多&#xff08;多對一&#xff09;舉例&#xff1a;一個部門對多個員工實現&#xff1a;多的那邊建立外鍵&#xff0c;指向一的那邊的主鍵②、多對多舉例&#xff1a;一個學生可選多門課&#xff0c;一門課可被多個學生選實現&#xff1a;建立中…