序言:時空數據分析很有用,但是GIS/時空數據庫技術門檻太高
時空數據分析在優化業務運營中至關重要,然而,三大挑戰仍制約其發展:技術門檻高,需融合GIS理論、SQL開發與時空數據庫等多領域知識;空間數據缺乏直觀可視化工具,導致分析結果難以高效傳達;現有產品成本高昂,限制了中小企業應用。
本系列文章將借助DeepSeek等大模型的能力,通過NL2SQL等免費/低成本 AI GIS智能體能力,幫助不熟悉SQL、GIS但是有空間數據分析需求的讀者實現最常用的分析功能。
前序文章
系列1:《DeepSeek智能時空數據分析(一):篩選特定空間范圍內的POI數據》
等時圈的應用場景
什么是等時圈?
等時圈是指從某一地點出發,通過特定交通方式(如步行、騎行、駕車等)在固定時間內可到達的地理空間范圍,類似于用時間刻畫的“等高線”,反映了交通耗時和便利程度。
等時圈有什么用處?
在空間分析中,其核心作用是通過時間維度量化區域可達性,輔助決策者優化城市資源配置。
例如:在交通規劃中評估路網效率,確定公共交通覆蓋盲區;在公共服務布局中分析學校、醫院等設施的服務半徑;在城市群研究中測算核心城市輻射范圍,支撐產業轉移和人口遷移策略。該方法突破了傳統距離緩沖區的局限性,結合實時路況和交通方式,使分析更貼近實際出行場景。
QGIS等傳統方法繪制等時圈有何缺點?
1、學習成本高,對于非gis專業人員,為了畫個等時圈學2天QGIS,投入產出比不高;
2、數據割裂,使用不便;用QGIS等傳統gis軟件繪制等時圈再導出數據再導入其他數據平臺使用,非常麻煩;
3、地理數據規格不一致:等時圈數據和業務數據2個平臺產生,坐標系不一致導致錯位,處理麻煩;
借助DeepSeek,3秒話式搞定“等時圈”繪制
NL2SQL繪制等時圈
1、工具準備:
筆者使用的是阿里云DataV Atlas,大學生免費/個人開發者9.9(工具獲取可以參考之前文章);也可以使用任意其他接入DeepSeek的時空數據分析工具;
2、NL2SQL繪制等時圈
步驟一:打開DataV Atlas,添加一個SQL數據源;
步驟二:打開DataV Atlas的DeepSeek AI助手,輸入等時圈繪制提示詞:“以上海虹橋火車站為中心點,繪制半徑10公里的圓形”;
步驟三:等待DeepSeek AI助手輸出反饋,可以發現DeepSeek理解空間分析意圖非常出色;
思路總結:
上海虹橋火車站的經緯度約為 121.39465, 31.20208。
使用 ST_MakePoint 創建點幾何對象,并用 ST_SetSRID 設置為 WGS84 坐標系(EPSG:4326)。
使用 ST_Buffer 函數生成半徑為 10 公里(10000 米)的圓形區域,其中通過 ::geography 確保緩沖區計算基于地理單位(米)。
最終將結果轉換回幾何類型并返回。
步驟四:執行DeepSeek AI助手輸出的Postgrel SQL,成功繪制等時圈;
3、繪制等時圈標簽文字
通常需要在等時圈外部繪制半徑距離文字,方便理解,同樣可以通過DeepSeek NL2SQL加上:
步驟一:新增加一個SQL數據源,再輸入提示詞:“以上海虹橋機場1號樓為中心點,沿著正東方向10公里生成1個距離標注點幾何,并記錄距離包含單位字段文本,如“10km”;”
DeepSeek給出了完整Postgre SQL思考過程和可執行代碼,也是我們學習空間數據建模的一個入門好辦法。
思考過程:
根據需求,以上海虹橋機場1號樓為中心點,使用其經緯度坐標(121.339287, 31.145867)作為起點,沿著正東方向生成一個距離為10公里的點。可以使用PostGIS的ST_Project函數完成這一操作,并通過添加一個文本字段標注該距離為’10km’。
Postgre SQL:
-- 使用ST_Project函數沿正東方向生成點,距離為10公里
SELECT '10km' AS "distance", -- 添加距離標注字段ST_SetSRID(ST_Project(ST_MakePoint(121.339287, 31.145867), 10000, radians(90)), 4326)::geometry AS "geom"
;
最終等時圈和標注點完成繪制,效果如下:
其他
本文用到的個空間分析工具對學習者如高校學生都是免費的,可以自行獲取學習使用;個人開發者可以選擇低成本版本或者看有沒有免費試用。
AI時空數據分析工具DataV Atlas可以參考之前介紹文章獲取;https://blog.csdn.net/guoweish/article/details/146253025?spm=1011.2124.3001.6209