cesium繪制網格_Cesium學習筆記-工具篇37-風場繪制

這兩天重新接觸到流場,于是研究下,在大牛們的輪子上也算實現了效果:

1二維

2三維

主要參考以下三篇文章:

《WebGL風向圖》給出制作風向圖通常步驟:

1. 在屏幕上生成一系列隨機粒子位置并繪制粒子。

2. 對于每一個粒子,查詢風數據以獲得其當前位置的粒子速度,并相應地移動它。

3. 將一小部分粒子重置為一個隨機的位置。這就確保了風從不會變成空的區域。

4. 淡出當前屏幕,并在頂部繪制新定位的粒子。

風場數據獲取:

博客里提到:美國國家氣象局每隔6個小時就會以緯度/經度網格(包括風速)的形式,發布全球的氣象數據,即GFS。它以一種特殊的二進制格式編碼,稱為GRIB,它可以用一組特殊的工具解析成人類可讀的JSON。

這里原文作者提供了shell語言的數據下載腳本:

#!/bin/bash

GFS_DATE="20161120"

GFS_TIME="00"; # 00, 06,

12, 18

RES="1p00" # 0p25, 0p50 or

1p00

BBOX="leftlon=0&rightlon=360&toplat=90&bottomlat=-90"

LEVEL="lev_10_m_above_ground=on"

GFS_URL="http://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_${RES}.pl?file=gfs.t${GFS_TIME}z.pgrb2.${RES}.f000&${LEVEL}&${BBOX}&dir=/gfs.${GFS_DATE}${GFS_TIME}"

curl

"${GFS_URL}&var_UGRD=on" -o utmp.grib

curl

"${GFS_URL}&var_VGRD=on" -o vtmp.grib

grib_set -r -s

packingType=grid_simple utmp.grib utmp.grib

grib_set -r -s

packingType=grid_simple vtmp.grib vtmp.grib

printf "{"u":`grib_dump

-j utmp.grib`,"v":`grib_dump -j vtmp.grib`}" >

tmp.json

rm utmp.grib

vtmp.grib

DIR=`dirname

$0`

node ${DIR}/prepare.js

${1}/${GFS_DATE}${GFS_TIME}

rm

tmp.json

奈何我這種小白無法理解了,不知如何使用。

在網上找到轉換為json格式后的數據文件:

{

"header":{

"discipline":0,

"disciplineName":"Meteorological products",

"gribEdition":2,

"gribLength":73286,

"center":7,

"centerName":"US National Weather Service -

NCEP(WMC)",

"subcenter":2,

"refTime":"2018-06-25T00:00:00.000Z",

"significanceOfRT":1,

"significanceOfRTName":"Start of forecast",

"productStatus":0,

"productStatusName":"Operational products",

"productType":3,

"productTypeName":"Control Forecast products",

"productDefinitionTemplate":1,

"productDefinitionTemplateName":"Individual ensemble forecast at a

point in time",

"parameterCategory":2,

"parameterCategoryName":"Momentum",

"parameterNumber":2,

"parameterNumberName":"U-component_of_wind",

"parameterUnit":"m.s-1",

"genProcessType":4,

"genProcessTypeName":"Ensemble Forecast",

"forecastTime":0,

"surface1Type":103,

"surface1TypeName":"Specified height level above

ground",

"surface1Value":10.0,

"surface2Type":255,

"surface2TypeName":"Missing",

"surface2Value":0.0,

"gridDefinitionTemplate":0,

"gridDefinitionTemplateName":"Latitude_Longitude",

"numberPoints":65160,

"shape":6,

"shapeName":"Earth spherical with radius of 6,371,229.0

m",

"gridUnits":"degrees",

"resolution":48,

"winds":"true",

"scanMode":0,

"nx":360,

"ny":181,

"basicAngle":0,

"subDivisions":0,

"lo1":0.0,

"la1":90.0,

"lo2":359.0,

"la2":-90.0,

"dx":1.0,

"dy":1.0

},

"data":[

-5.76,

……]}

包括頭文件和風場數據。

最近把渲染優化,可以添加更多粒子數:

我的學習公眾號也開通,感興趣的小伙伴們可以加關注:giserYZ2SS,代碼交流小伙伴在公眾號發消息,我會一一回復的。

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

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

相關文章

ToString:身份哈希碼的十六進制表示形式

我以前在方便的Apache Commons ToStringBuilder上寫過博客,最近有人問我,在生成的String輸出中出現的看似神秘的文本是什么構成的。 詢問該問題的同事正確地推測出他正在查看的是哈希碼,但與他實例的哈希碼不匹配。 我解釋說ToStringBuilder將…

HTML+CSS筆記 CSS中級 縮寫入門

盒子模型代碼簡寫回憶盒模型時外邊距(margin)、內邊距(padding)和邊框(border)設置上下左右四個方向的邊距是按照順時針方向設置的:上右下左。語法:margin:10px 15px 12px 14px;/*上設置為10px、右設置為15px、下設置為12px、左設置為14px*/通常有三種縮寫的方法:1、…

JavaScript學習隨記——常見全局對象屬性及方法

<script type"text/javascript" charset"utf-8">//全局對象&#xff1a; Object、Array、Math等/*** 全局的方法&#xff1a;* 1.encodeURI、escape、decodeURIComponet 編碼* 2.decodeURI、unescape、encodeURIComponet 解碼* 3.parseInt、parseF…

spring boot 定時任務

package com.ict.conf; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled;Configuration EnableScheduling // 啟用定時任務 …

搬運機器人舉杯賀所需的條件_智能搬運機器人比賽規則

附件4&#xff1a;分揀機器人(智能搬運機器人)比賽規則1、比賽目的設計一個輪式或人形小型機器人&#xff0c;在比賽場地里移動&#xff0c;將不同顏色、形狀或者材質的物體分類搬運到不同的對應位置。比賽的記分根據機器人將物體放置的位置精度和完成時間來決定分值的高低。它…

我們多么想要新的Java日期/時間API?

當前的Java.net 民意測驗問題是&#xff1a;“ 對于用Java 8實現的JSR-310&#xff08;新的日期和時間API&#xff09;有多重要&#xff1f; ”在我撰寫本文時&#xff0c;將近150位受訪者投了贊成票&#xff0c;絕大多數人回答“非常”&#xff08;53&#xff05;&#xff09;…

JavaScript學習隨記——Function

每個函數都是Function類型的實例&#xff0c;而且都與其他引用類型一樣具有屬性和方法。由于函數是對象&#xff0c;因此函數名實際上也是一個指向函數對象的指針&#xff0c;不會于某個函數綁定。 函數的定義方式 <script type"text/javascript" charset"ut…

登錄id 黑蘋果_黑蘋果MacOSCatalina無法登錄AppStore修復

先上圖&#xff1a;慘紅色的提示信息&#xff0c;把你拒之App Store門外&#xff0c;但是對之放棄、不與之斗爭不是我們的節奏&#xff0c;請看破敵攻略&#xff1a;1.查看你的“關于本機”-->“概覽”-->“系統報告”&#xff0c;如圖&#xff1a;找到你的“網絡”-->…

我們三十以后才明白

當我們懂得珍惜時光的時候,已經發現自己不再年輕. 三十歲,才慢慢的明白. 男女三十而立&#xff0c;三十歲應該是人生的轉折點&#xff0c;它不是青春韶華的終結&#xff0c;而是生命的第二起跑線。 三十歲&#xff0c;面對的不應該是沒落&#xff0c;而是認知的新起點。很多曾…

Web開發的入門指導

Web開發的入門指導web開發編程技術你點開此文&#xff0c;說明你對Web開發是有興趣的&#xff0c;或者你正在思考開始學習Web開發。在這里&#xff0c;我會告訴你成為一名Web開發者的路線&#xff0c;是對初學者關于Web開發的指導。這篇文章不會教你如何寫代碼&#xff0c;而是…

新東方mti百科知識pdf_20南航翻碩mti初試417上岸經驗貼

南京航空航天大學mti初試417分排名第一:?基礎英語88:1&#xff0c;外刊閱讀:從2月到6月開始一直打卡外刊app&#xff0c;友鄰優課&#xff0c;流利閱讀等2&#xff0c;背單詞:扇貝單詞app&#xff0c;新東方專八單詞綠皮書&#xff0c;華研專八單詞等3&#xff0c;星火專八閱讀…

JavaScript學習隨記——屬性類型

<!DOCTYPE HTML> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title>屬性類型</title></head> <body><script type"text/javascript" charset"…

Shell if else語句

if 語句通過關系運算符判斷表達式的真假來決定執行哪個分支。Shell 有三種 if ... else 語句&#xff1a; if ... fi 語句&#xff1b;if ... else ... fi 語句&#xff1b;if ... elif ... else ... fi 語句。1) if ... else 語句 if ... else 語句的語法&#xff1a; if [ ex…

過濾日志中不相關的堆棧跟蹤行

我喜歡堆棧痕跡。 不是因為我喜歡錯誤&#xff0c;而是因為發生錯誤的那一刻&#xff0c;堆棧跟蹤是無價的信息源。 例如&#xff0c;在Web應用程序中&#xff0c;堆棧跟蹤向您顯示完整的請求處理路徑&#xff0c;從HTTP套接字到過濾器&#xff0c;Servlet&#xff0c;控制器&a…

Can't create/write to file '/tmp/#sql_887d_0.MYD' (Errcode: 17)

lsof |grep "#sql_887d_0.MYD" 如果沒有被占用就可以刪掉 。 https://wordpress.org/support/topic/cant-createwrite-to-file-error Hello, just today I saw this kind of error on every page on my blog. WordPress database error: [Cant create/write to file …

python3怎么創建文件_Python3.5 創建文件的簡單實例

實例如下所示&#xff1a;#codingutf-8Created on 2012-5-29author: xiaochouimport osimport timedef nsfile(s):The number of new expected documents#判斷文件夾是否存在&#xff0c;如果不存在則創建b os.path.exists("E:\\testFile\\")if b:print("File …

Dijkstra 最短路算法(只能計算出一條最短路徑,所有路徑用dfs)

上周我們介紹了神奇的只有五行的 Floyd 最短路算法&#xff0c;它可以方便的求得任意兩點的最短路徑&#xff0c;這稱為“多源最短路”。本周來來介紹指定一個點&#xff08;源點&#xff09;到其余各個頂點的最短路徑&#xff0c;也叫做“單源最短路徑”。例如求下圖中的 1 號…

JavaScript學習隨記——錯誤類型

錯誤類型&#xff1a; 執行代碼期間可能會發生的錯誤有多種類型。每種錯誤都有對應的錯誤類型&#xff0c;而當錯誤發生時&#xff0c;就會拋出相應類型的錯誤對象。 ECMA-262定義的7種錯誤類型 Error&#xff1a; 是錯誤的基類型&#xff0c;其他錯誤類型都繼承該類型。Error…

多個集合中的共同和獨特元素

本周&#xff0c;我們將暫時中斷較高級別的問題和技術文章&#xff0c;以解決我們中許多人可能面臨的一些代碼問題。 沒什么花哨的或太辛苦的&#xff0c;但是有一天它可能會節省您15分鐘的時間&#xff0c;偶爾回到基礎上也很不錯。 因此&#xff0c;讓我們開始吧。 有時&…

2016給自己一個交代

一、前言 在關于技術上的學習&#xff0c;常常有這樣那樣的計劃&#xff0c;而最終一個都沒有真正的落實。零散的學習&#xff0c;終究需要系統總結&#xff0c;才能使自己有所沉淀。從畢業至今&#xff0c;我一直在忙碌&#xff0c;為公司付出自己的很多很多&#xff0c;卻只不…