2015-11-27 30 views
0

對於以下THREDDS OPeNDAP服務器:使用JavaScript來使並行服務器請求THREDDS OPeNDAP

http://data.nodc.noaa.gov/thredds/catalog/ghrsst/L2P/MODIS_T/JPL/2015/294/catalog.html 

我想指出的每個文件的四個屬性在那裏。屬性是:最北端的格子;最東邊的格局;最西面的格局;最南端的地方。這些可以在全球屬性下找到:

http://data.nodc.noaa.gov/thredds/dodsC/ghrsst/L2P/MODIS_T/JPL/2015/294/20151021-MODIS_T-JPL-L2P-T2015294235500.L2_LAC_GHRSST_N-v01.nc.bz2.html 

起初我用MATLAB試過。問題是:服務器上的所有netcdf文件都被編譯爲.bz2文件。這使得調用全局屬性需要大約15秒(服務器正在提取文件)。我想要javascript來並行運行這些服務器請求以節省時間。總共需要90,000個文件。

有沒有一種方法來使用JavaScript編碼?

+0

你必須下載每個*操作.bz2,然後處理他們得到的緯度,經度的界限? – 82Tuskers

+0

不,因爲它是一個OPeNDAP服務器,您不必下載整個文件即可查看邊界。它們位於全局屬性部分。你可以用Matlab做這個簡單的操作。但問題是:當您調用全局屬性時,OPeNDAP服務器首先需要將.bz2文件解壓縮到.nc文件。這需要15秒。所以如果你使用MATLAB來處理90,000個文件,這將至少需要15天。我被告知JavaScript可以進行並行計算,因此請將大量服務器請求並行化,加快處理速度。 – user5612440

+0

你如何要求?你熟悉node.js嗎?你可以使用它的請求模塊。如果您不知道如何在節點中請求,我可以編寫該節/幫助。 – 82Tuskers

回答

0

您可以使用THREDDS DAS服務。 DAS

更改OPenDAP鏈接你有上述更換.html擴展與.das 這是關於這可能與JavaScript進行剖析,幷包括與全球屬性的部分文件元數據的小文本文件:

NC_GLOBAL { 
    . . . 
    Float32 northernmost_latitude 89.9942; 
    Float32 southernmost_latitude 66.9853; 
    Float32 easternmost_longitude -121.445; 
    Float32 westernmost_longitude 76.7485; 
    . . . 
    } 

該元數據由THREDDS緩存,並且上述DAS鏈接立即響應。

編輯:

回覆:下面的正確的意見,(僅在第一次請求之後存在緩存)一個替代方案可能是使用在美國航天局噴氣推進實驗室OPeNDAP服務器(蹄兔)源數據:http://podaac-opendap.jpl.nasa.gov/opendap/allData/ghrsst/data/L2P/MODIS_T/JPL/

我的瀏覽器只測試(即主觀)似乎表明隨機DAS響應比15秒更快。

http://podaac-opendap.jpl.nasa.gov/opendap/allData/ghrsst/data/L2P/MODIS_T/JPL/2015/294/20151021-MODIS_T-JPL-L2P-T2015294084500.L2_LAC_GHRSST_N-v01.nc.bz2.das

+1

有人可以確認嗎?如果我嘗試,新請求的速度同樣緩慢,並且只有在緩存後才能快速響應。 – kakk11

+1

是的,如果你是第一個打它的人,那麼這個文件仍然需要解壓才能得到元數據。我不認爲這裏有一個神奇的子彈。 (不知道js部分) – DopplerShift

+0

我的瀏覽器測試證實這確實如此。 –

相關問題