与datasets.xml文件
\[此網頁將只引起興趣ERDDAP™管理者\]
你跟著我ERDDAP™ 安裝指令您必須編輯datasets.xml文件在 湯姆卡 /content/erddap/ 描述您的數據集ERDDAP™安裝會用上
你可以看到一個例子datasets.xml在 GitHub 上.
-
- –
引言
需要一些大會
在ERDDAP™不只是指向數據集的目錄或網址。 您必須寫入一塊 XML 。datasets.xml描述數據集。
- 用于网格化的數據集,以使數據集符合ERDDAP網格化數據的數據結構, 您必須找出數據集的一個子集, 這些子集的變數具有相同的維度 。 (為什麼? 怎么做?)
- 資料集目前的元数据自動匯入 。 但如果您要修改中繼資料或加入其他中繼資料, 您必須在datasets.xml. 而且ERDDAP™需要其他元数据,包括全局屬性 (例如infoUrl机构,sourceUrl摘要和标题) 和變數屬性 (例如long\_name單位) . 正如目前數據集中的中繼資料增加 了描述性資訊,ERDDAP™新增資料集的描述性資訊 。 新增的中繼資料是您數據集的一個很好的新增, 并且有幫助ERDDAP™向不熟悉的使用者展示你的資料。
- ERDDAP™需要你做一些特殊的事情經度、纬度、高度 (深度) 時間變數.
如果你買入這些想法 并花錢建立 XMLdatasets.xml你得到所有的優點ERDDAP™,包括:
- 資料集的全文搜索
- 按類別搜尋數據集
- 資料存取表 ( datasetID .html) 以便您可以要求數個不同檔案格式的數據子集
- 要求圖示和地圖的表單 ( datasetID 圖片)
- 網頁映射服務 (WMS) 格子化的數據集
- RESTful存取您的資料
制作datasets.xml第一批數據集需要大量努力,但 越來越容易 . 在第一個數據集之後, 您常常可以重新使用很多工作來做下一個數據集 。 很幸運ERDDAP™帶兩個來工具以幫助您建立 XML 每套資料datasets.xml. 如果你卡住了,看我們的部分.
資料提供者 表單
當數據提供者來到您想要將一些數據加入您的ERDDAP,收集所有的中繼資料可能很困難和耗時 (數據集的資訊) 需要將數據集加入ERDDAP. 很多資料來源 (例如,.csv文件, Excel 文件, 資料庫) 沒有內部中繼資料 所以ERDDAP™有一個資料提供方表格,它收集資料提供者的中繼資料,并給資料提供者一些其他的指導,包括廣泛的指導數據庫中的資料. 提交的資訊已轉換成datasets.xml格式,然 后發到ERDDAP™管理者 (你) 已寫入 (附 件) 至 大家长會 /logs/data 提供form.log. 因此,窗体半自動將數據集的進化过程ERDDAP但是ERDDAP™管理員仍然需要完成datasets.xml區塊與處理取得資料檔 (s) 從提供者或連接數據庫。
外部來源提交實際資料檔案是巨大的安全風險,所以ERDDAP™不處理。 您必須想出一個對您和數據提供者有效的解決方案, 例如電子郵件 (小檔案) ,拉出云 (例如, DropBox 或 Google 驱动器) , sftp 網站 (有密碼) 或运动鞋 净额 (USB 拇指硬碟或外部硬碟) . 你可能只應該接受你認識的人的檔案 您需要掃瞄病毒的檔案並采取其他安全防范措施 。
沒有任何連結ERDDAP™到資料提供者表格 (例如,ERDDAP™主頁) . 相反,當有人告訴你,他們想得到他們的數據 由你的ERDDAP你可以發個電子郵件給他們說: 是的,我們可以把你的數據輸入ERDDAP. 要開始,請填表到 https://yourUrl/erddap/dataProviderForm.html (或http://如果https://沒有開啟) . 你做完後,我會聯繫你 找出最後的細節 如果你想看看表格 (不填) 你可以看到表格上ERD是ERDDAP:引言,第一部分,第二部分,第三部分和第四部分. 這些連結在ERD ERDDAP™傳送資訊給我, 不是你,所以不要跟他們提交資訊 除非你真的想把數據加入到ERD ERDDAP.
如果您要移除資料提供者表格ERDDAP™放置
<dataProviderFormActive>false</dataProviderFormActive>
在您的設定值. xml 檔案中 。
原因就是NOAA2014年公众获取研究成果 (批次) 指令,要求所有NOAA透過數據服務, (不只是檔案) 在建立12個月內 因此,使用ERDDAP™以讓數據集通過服務 ASAP 提供 。 我們需要更有效的方法 處理大量數據提供商
反馈/建议? 此表格是新格式, 請用電子郵件erd dot data at noaa dot gov若您有任何回應或建議,
工具
ERDDAP™包含兩個指令行程式, 它們是幫助您為您想要的每個數據集建立 XML 的工具ERDDAP™服侍。 一旦你建立ERDDAP™运行它 (至少一次) 您可以在 湯姆卡 /webapps/erddap/WEB-INF目錄. 有 Linux/ Unix shell 文稿 (与延伸.sh) 和 Windows 文稿 (與延伸.bat) 。\[在 Linux 上, 以相同的使用者來執行這些工具 (湯姆卡特?) 那會是湯姆卡特的運作\]當你執行每個項目,它會問你問題。 每一個問題, 輸入回覆, 然后按 Enter 。 或者按 ^C 以退出程式 。
程序不跑?
- 如果您得到未知的程序 (或类似) 錯誤訊息, 問題可能是操作系統找不到Java. 你需要知道在哪里Java在您的電腦上, 然后編輯您要使用的 . bat 或 .sh 檔案中的 java 參考 。
- 如果您得到一個沒有找到的罐子檔案或類別找不到錯誤訊息, 那么Java找不到您要使用的 . bat 或 .sh 檔案中列出的課程 。 解決辦法是找出 . jar 檔案的位置,
- 如果你正在使用版本Java對程式來說太老了,程式不會執行,你會看到一個錯誤訊息
線中的例外 java. lang。 未支援的 ClassVersion Error :
部分/ 类/ 名稱 : 不支援的主要. minor 版本 數字
解決辦法是更新最新版本Java確保程式的 .sh 或 .bat 檔案正在使用它 。
這些工具會印出各种診斷訊息:
- 使用「 錯誤」 一词, 雖然犯錯很煩人,
- 但程序得以完成。 這些很稀有
- 其他的只是信息 您可以加入 &- 動詞到產生 DatasetsXml或達斯Dds命令行以取得其他信息訊息, 這有時有助于解決問題 。
這兩件工具很有幫助 但你還是得小心翼翼地讀讀這些指示 自己做出重要的決定
產生 DatasetsXml
- 產生 DatasetsXml 是一個命令行程式, 它可以為幾乎任何類型的數據集產生一個簡略的數據集 XML 草稿 。
我們強烈建議你用"造物主" Xml 而不是建立區塊datasets.xml因:
- 產生達塔斯 Xml工作在秒。 即使你知道自己在做什麼 手工做這至少是一個小時的工作
- 產生達塔斯 Xml做得更好 手動操作需要大量了解ERDDAP™工作。 你不可能用手做更好的工作 (鮑勃·西蒙斯總是使用產生代碼 他寫了ERDDAP.)
- 產生達塔斯 Xml 總是產生有效的區塊datasets.xml. 任何區塊datasets.xml您寫作的錯誤可能至少會有幾項防止ERDDAP™從載入數據集。 人們常常需要數小時才能判斷這些問題。 別浪費時間 讓產生 數據集 努力工作 如果你愿意,你可以手工提炼.xml。
當您使用產生代碼時 Xml 程式 :
- 在 Windows 上, 當您第一次執行 GenerateDatasetsXml 時, 您需要用文字編輯器編輯 GenerateDatasetsXml. bat 檔案, 以改變 java 的路徑 。 exe 檔案以便 Windows 找到Java.
- 產生達塔斯 Xml 先要求您指定 EDDType (Erd Dap 資料集 類型) 中。 看數據集類型列表 (此文件) 以找出适合您正在研究的數據集的類型 。 除了普通的EDDTYPS外,特殊/ Pseudo 資料集類型 (例如,爬行THREDDS目錄以產生大量datasets.xml用于目錄中的每個數據集) .
- 產生達塔斯 Xml 然后問你一系列與EDDType相關的問題 收集所需信息ERDDAP™以存取数据集的來源。 要明白什么ERDDAP™的 EDDType 檔案。數據集類型列表.
如果您需要輸入有特殊字元的字串 (例如,初端或末端的空白字符,非 ASCII 字符) 插入JSON 樣式字串 (用\ 字符逃出的特殊字符) . 例如,只輸入一個分頁字元, 請輸入「\ t 」 (與周圍的雙引號一起), 它會顯示ERDDAP™這是JSON式的弦
- 通常,你的答案之一 不會是Generate DatasetsXml需要的。 你可以再試一次, 重新回答問題, 直到生成達塔塞斯 Xml 可以成功找到和理解源資料 。
- 如果你回答正确 (或完全正确) 生成達塔斯 Xml 將會連接至數據集的來源並收集基本資訊 (例如,變數名稱和中繼資料) . 用于本地端的數據集NetCDF .nc和相關檔案, 產生 Datasets Xml 會在檔案第一次讀取後, 列印檔案的類似 ncdump 的結構 。 這可能會提供資訊, 讓您在之後的回路中更好的回答問題。 GenerateDatasetsXml 。
- 產生達塔斯 Xml 將會產生該数据集的資料集 XML 的粗略草稿 。
- 診斷資訊和數據集 XML 的粗略草稿將寫入 大家长會 /logs/GenerateDatasetsXml.log.
- 數據集 XML 的粗略草稿將寫入 大家长會 / logs/ Generate DatasetsXml.
"0文件" 錯誤訊息
如果你執行產生達泰斯 Xml 或達斯Dds或者如果你試著加載EDDGrid來自... 檔案資料集ERDDAP™,您會收到"0檔案"的錯誤訊息,表示ERDDAP™在目錄中找到 0 匹配的檔案 (當你認為目錄中有匹配的檔案時) :
-
請檢查您是否指定了目錄的全名 。 如果您指定了樣本檔名, 請確定您指定了檔案的全名, 包括完整目錄名稱 。
-
請檢查檔案是否真的在目錄中 。
-
請檢查目錄名稱的拼寫 。
-
檢查檔案Name Regex 。 真的,真的很容易犯錯 為了試驗目的, 試試所有檔案的 regex 。 (看這個regex 文件和regex 教程.)
-
檢查執行程式的使用者 (例如,使用者=Tomcat (?) 托姆卡特/ERDDAP) 已讀取檔案的權限 。
-
在一些操作系統中 (例如, SELinux) 依據系統設定, 執行此程式的使用者必須有「 讀取」 的權限, 才能將目錄連結到有檔案的目錄 。
-
如果你有你無法解決的問題要求支援有尽可能多的信息。 類似地,如果它似乎適當的 EDDType 對給定的數據集不起作用, 或者沒有適當的 EDDType, 請檔案 。在 GitHub 上發表內容 (和樣本檔( 如果相關)) .
您需要編輯 GenerateDatasets 的輸出 使它更好。
-
女士: 琴datasets.xml產生代碼 Xml不完美。 在公開使用前,你必須讀和剪除XMLERDDAP. 產生達塔斯 Xml Relis on a lot -OF -THUMB的很多規定, 總是不正確的。 你對确保你所愛的XML 的不公有責任ERDDAP'Sdatasets.xml法利。
(趣事:我不是大喊大叫. 因為歷史上的法律原因 免责書必須寫在所有的封面上)
GenerateDatasetsXml 的輸出是粗略的草稿 。 您幾乎總是需要編輯它 。 我們已經做了,而且 繼續做了巨大的努力 盡可能使輸出做好了準備 但有限度的 通常,根本找不到來源中繼資料。
一個根本的問題是 我們在要求電腦程序 (產生 DatasetsXml) 如果你把同樣的任務給了100人 你會得到100個不同的結果 沒有一個"正确"的答案 顯然,這個程序最接近于讀 Bob的心思 (不是你的) 但即使如此,這也不是一個全體理解的AI程序, 只是一堆heuristics拼凑在一起來完成一個AI類似的工作. (一個全體理解的AI程式的那一天可能會到來,但還沒有. 如果有的話 我們人類可能有更大的問題 當心你的願望)
-
以資訊為目的, 輸出顯示全局源屬性與變數源屬性為註解 。ERDDAP™合并來源屬性與addAttributes (优先) 混合 顯示給使用者的屬性 。 (其他屬性自動加入經度、經度、高度、深度和時間變數ERDDAP™實際上使數據集) .
-
如果您不喜歡來源屬性, 請加入一個同名的附加屬性來覆寫它 。 (或者沒有值, 如果您要移除它) .
-
全部addAttributes是電腦產生的建議 。 編輯他們! 如果你不喜歡增加屬性 就改一下
-
如果你想加入其它addAttributes加入
-
如果你想改變destinationName改一下 但不要改變sourceNames.
-
你可以改變秩序dataVariables或移除其中任何一個。
- 你可以使用達斯Dds (见下文) 以重試 XML 的數據集, 以确保產生的數據集以您想要的顯示方式出現ERDDAP.
- 可以做小的改變datasets.xml例如,生成的區塊提供更好的infoUrl或标题。
不添加標準名稱
如果您在執行產生時將 \- doNoteAddStandard Names 作为命令行參數 數據集 Xml, 產生 數據集 Xml 不會新增standard\_name至addAttributes除已命名為經度、高度、深度或時間的變數外, (明顯的standard\_names) . 如果您使用產生的輸出, 這可能有用 數據集 直接在 Xml 中ERDDAP™不編輯輸出, 因為產生 數據集 Xml 常猜standard\_name不對 (注意,我們總是建議您先編輯輸出後再用到ERDDAP.) 使用此參數會有其他次要的相關效果, 因為猜測standard\_name通常用于其他目的,例如:long\_name,並建立色彩列設定值。
文稿
可以提供命令行參數, 回答所有問題以產生一個數據集。 產生達塔斯 Xml 會處理這些參數, 將輸出寫入輸出檔, 並退出程式 。
要設定此項目, 請先以互動模式使用程式並寫入您的答案 。 以下是部分例子: 不如你來執行劇本吧... 然後輸入: EDD Table From AsiiFiles 的 EDD Table 檔案 然后輸入 : /u00/ data/ 加入: 然後輸入:/u00/data/sampleFile.asc 然后輸入: ISO- 8859-1
要以非交互方式執行, 請使用此命令行 : . / Generate DatasetsXml.sh 由 Ascii Files /u00/data/. \*\.asc /u00/data/sampleFile.asc ISO-8859-1 所以基本上 你只要列出命令線上的所有答案 這對經常變更的數據集有用, 需要重新執行 GenerateDatasets Xml 命令 (显著EDDGrid從 ThreddsCatalog 中) .
細節 :
- 如果參數包含空間或某些特殊字元,則將參數編碼為JSON 樣式字串,例如,“我的參數有空格和兩個\n行。
- 如果您要指定一個空字串為參數, 請使用: nothing
- 如果您要指定參數的預設值, 請使用: 預設值
- 產生達塔斯 Xml 支持 a -i 数 据集 Xml Name # 標籤Name 將輸出插入到指定的命令行參數datasets.xml文件 (預設值是 湯姆卡 /内容/erddap/datasets.xml) . 產生達塔斯 Xml 在數據集中尋找兩行 Xml Name:
<!-- Begin GenerateDatasetsXml #*tagName someDatetime* -->
和
<!-- End GenerateDatasetsXml #*tagName someDatetime* -->
用新內容取代這些行之間的所有東西, 並改變一些日期。
- -i 切換只是處理 (更改datasets.xml只制作) 如果你執行產生達泰斯 Xml 有命令行參數, 指定所有問題的答案 。 (上面有"文稿") (想法是: 此參數與文稿一起使用 。 如果您以互動模式使用此程式 (在鍵盤上輸入信息) ,您很可能會產生一些不正確的 XML 區塊,然后才能產生您想要的 。)
- 如果找不到 Begin 和 End 的行, 那么這些行和新內容就在前面插入</erdapDatasets>.
- 還有... 我... (首都一) 切換以試驗目的與 -i 相同, 但會建立一個叫做檔案datasets.xml 日期 不做改變datasets.xml.
- 不要執行 生成達泰斯 Xml 和 -i 一起分兩個行程 。 可能只保留一組變更 可能會有嚴重的麻煩 (例如, 檔案已損毀) .
如果你用「 Generate DatasetsXml - 動詞」 , 它會比通常的更打印批判性訊息 。
特殊/ Pseudo 資料集類型
泛泛的 EDDtype 選項 此文件描述的 EDD 型態的 Xml 匹配 (看數據集類型列表) 生成一datasets.xml從一個特定資料來源建立一個数据集的區塊 。 有一些例外和特殊情况:
EDDGrid來自 Erddap
此 EDDType 產生所有datasets.xml需要做的區塊EDDGrid來自 Erddap所有資料集EDDGrid遠端的數據集ERDDAP. 你可以保留原版datasetIDs (可能重复一些datasetID已經在您的ERDDAP) 或生成新名稱 (但通常不是人能看懂的) .
EDD 表格來自 Erddap
此 EDDType 產生所有datasets.xml需要做的區塊EDD 表格來自 Erddap遠端 EDDTable 資料集中的數據集ERDDAP. 你可以保留原版datasetIDs (可能重复一些datasetID已經在您的ERDDAP) 或生成新名稱 (但通常不是人能看懂的) .
EDDGrid從 ThreddsCatalog 中
此 EDDType 產生所有datasets.xml全部需要的區塊EDDGrid從 Dap 中通过 THREDDS 遞迴爬行可以找到的數據集 (子) 目录. THREDDS 編目網址有很多形式。 此選項需要一個带有/ catalog/ 的 THREDDS . xml 網址, 例如 ,
https://oceanwatch.pfeg.noaa.gov/thredds/catalog/catalog.xml 或
https://oceanwatch.pfeg.noaa.gov/thredds/catalog/Satellite/aggregsatMH/chla/catalog.xml
(相關的.html目錄在
https://oceanwatch.pfeg.noaa.gov/thredds/Satellite/aggregsatMH/chla/catalog.html ,不能接受EDDGrid來自 ThreddsCatalog 。
如果你有問題EDDGrid從垃圾 星表 :
- 確保您使用的 URL 是有效的, 包括 / catalog/, 並以 / catalog. xml 結束 。
- 如果可能, 使用公共IP地址 (例如, https://oceanwatch.pfeg.noaa.gov ) 在 URL 中,不是本地的 IP 位址 (例如, https://12.34.56.78 ) . 如果 THREDDS 只能通过本地數位 IP 地址存取, 您可以使用 [<轉換到 Public SourceUrl > ] (#轉換到公用源碼器) 所以ERDDAP™使用者可以看到公共地址, 即使ERDDAP™得到本地數據位址的資料 。
- 如果你有你無法解決的問題檢查排除故障提示.
- 低等代碼現在使用UnidataNetcdf- java 編目爬行程式碼 (鞭打 目錄 類別) 讓它能處理所有的 THREDDS 目錄 (可能很複雜) 多虧了Unidata密碼
EDDGrid來自 ErddapCatalog 的 LonPM180
此 EDDType 產生datasets.xml要制作EDDGrid龍PM180所有資料集EDDGrid數據集ERDDAP其經度值大于180。
- 如果可能, 使用公共IP地址 (例如, https://oceanwatch.pfeg.noaa.gov ) 在 URL 中,不是本地的 IP 位址 (例如, https://12.34.56.78 ) . 如果ERDDAP™只能透過本地數字 IP 位址存取, 您可以使用 [<轉換到 Public SourceUrl > ] (#轉換到公用源碼器) 所以ERDDAP™使用者可以看到公共地址, 即使ERDDAP™得到本地數據位址的資料 。
EDDGrid來自 ErddapCatalog 的 Lon0360
此 EDDType 產生datasets.xml要制作EDDGrid朗0360所有資料集EDDGrid數據集ERDDAP其經度值小于 0。
- 如果可能, 使用公共IP地址 (例如, https://oceanwatch.pfeg.noaa.gov ) 在 URL 中,不是本地的 IP 位址 (例如, https://12.34.56.78 ) . 如果ERDDAP™只能透過本地數字 IP 位址存取, 您可以使用 [<轉換到 Public SourceUrl > ] (#轉換到公用源碼器) 所以ERDDAP™使用者可以看到公共地址, 即使ERDDAP™得到本地數據位址的資料 。
檔案中的 EDDs
根據一個啟動目錄, 這會穿過目錄和所有子目錄, 並試著為它找到的每组資料檔案建立數據集 。
- 這假設當找到數據集時, 數據集包含所有的子目 。
- 如果找到數據集, 相似的兄弟姐妹目錄會被視為单独的數據集 (例如, 1990年代、 2000年代、 2010年代的目錄會產生不同的數據集) . 它們應該很容易用手結合 - 只需要改變第一數據集的<檔案 Dir > 到父目錄, 並刪除所有之後的兄弟姐妹數據集 。
- 這只會試著產生一塊datasets.xml在目錄中最常用的檔案延伸型態 (不計數 . md5, 已忽略) . 所以,給一個有十個的目錄.nc檔案與 5 .txt 檔案,將產生數據集.nc只有文件。
- 這假設一個目錄中所有與扩展名相同的檔案都屬於同一數據集 。 如果目錄有一些.nc包含 SST 資料和一些檔案.nc含有叶绿素數據的檔案,只有一個樣本.nc檔案將被讀取 (史蒂夫? 叶绿素?) 只會為此類型的檔案建立一個資料集 。 這套數據可能無法載入, 因為要將兩種檔案載入同一套數據會有複雜的問題 。
- 如果一個目錄中最常用的延伸檔數不足4個, 這會假設它們不是數據檔, 只是跳過目錄 。
- 如果目錄中有 4 個或更多檔案, 但此檔案無法成功產生 。datasets.xml檔案 (例如,不支援的檔案類型) ,會產生檔案名稱中的 EDD 表格檔案的數據集。
- 最後的診斷 寫到紀錄檔,就在之前datasets.xml區塊, 這會列印一個表格, 上面有所有 子目錄的資訊摘要 。 表格會列出每個子目錄, 并指示最常用的檔案延伸檔類型、 檔案總數以及這些檔案的資料集類型 (如果有) . 如果您面對複雜而深嵌的檔案結構, 請考慮執行 GenerateDatasets 使用 EDDType=EDDsFromFiles 產生此資訊的 Xml,
- 這項選項可能無法為特定數據檔案猜測最好的 EDDType , 但是它很快速、容易, 值得一試 。 如果來源檔案適合,它效果良好,是產生此檔案的第一步。datasets.xml一個有許多子目錄的檔案系統, 每個子目錄都有不同數據集的資料檔。
EML 和 EMLBatch 的 EDD 表格
這些特殊的 EDDType 產生datasets.xml制作Ascii 檔案中的 EDD 表格a 描述的每個表格的數據集生态元数据語言XML 檔案 。 “ 批量” 變體工作於本地目錄或遠端目錄中的所有 EML 檔案 。 請看單位EML 中的 EDD Table 文件.
端口的 EDD 表格
這個特殊的 EDDType 產生datasets.xml制作Ascii 檔案中的 EDD 表格從資訊中的數據集插入- xml文件。 如果您能存取來源資料檔 (Inport-xml 檔案應該有線索找到它的位置) 您可以在ERDDAP.
以下階段概要描述如何使用 GenerateDataset 要取得工作數據集, Xml 使用 port- xml 檔案ERDDAP.
- 一旦您可以存取 import- xml 檔案 (或作為網址或本地端檔案) : 執行產生達泰斯 Xml, 指定 EDDType = EDDTable From InPort, 指定 port- xml URL 或全檔名, 指定哪個 Child=0, 指定要求的其他資訊 (如果知道) . (此刻, 您不需要有來源資料檔或指定其名稱 。) 小孩=0 的設定顯示產生達泰斯 Xml 寫入資訊 全部 主席<屬性- 資訊 ><實體 > 在 port- xml 檔案中 (如果有) . 也印出背景資訊摘要,
- 看看所有的信息 (包括生成 Datasets 的背景信息 Xml 打印) 查看下載的 URL (s) 要尋找來源資料檔 (s) . 如果你能找到它 (他們) 下載 (他們) 進入可以存取的目錄ERDDAP. (如果您找不到任何來源資料檔, 程序沒有意義 。)
- 執行產生 數據集 又是XML 如果來源資料檔案符合 lnport- xml 檔案中的一個<屬性- 資訊 ><實體>,指定哪個Child= 实体的數字 (例如,1,2,3...) .ERDDAP™將試圖將來源資料檔中的列名與實體資訊中的名字相匹配, 并迅速接受/ 拒絕/ 修正任何不符的地方 。 或者 如果進口文件沒有<屬性- 資訊 ><實體>,指定是哪一個Child=0.
- 在一塊datasets.xml由 GenerateDatasets 製作 Xml 修改 [全球<addAttributes>] (全球屬性) 需要/需要。
- 在一塊datasets.xml由 Generate DatasetsXml 制成,加入/重覆 [<dataVariable>] (可數據變化) 需要/希望描述每一變數的信息。 請確認每個變數是否正確 [<sourceName>] (# 源碼名稱) (根據來源) , [<destinationName>] (目的地名) (它比起sourceName) , [<單位 >] (單位) (特别是如果它是時間或時間戳變數單位需要指定格式的地方) 和 [<missing\_value>] (缺少值) ,
- 當你接近完成的時候, 重复使用達斯Dds工具以快速查看數據集描述是否合法, 以及數據集是否會出現在ERDDAP™如你所愿
如果使用 InPort 記錄其數據集的群組也會使用的話,那就太好了 。ERDDAP™提供实际数据:
- ERDDAP™是現在可以用到的解決方法 這樣你就能完成NOAA是公众获取研究成果 (批次) 所需经费現在,不是在某個模糊的時刻 在未來。
- ERDDAP™提供使用者的實際資料, (沒有資料的元数据有什麼用?)
- ERDDAP™支援中繼資料 (尤其是變數的單位) ,與其它數據伺服器軟體不同。 (沒有中繼資料有什麼用?) 使用不支持中繼資料的軟體,
- ERDDAP™是自由且開源的軟體, 目前ERDDAP™已經付了錢。 支持ERDDAP™使用者是自由的。
- ERDDAP外表可以輕易地定制來反射和突出您的群組 (不是ERD或ERDDAP) .
- ERDDAP™以一致的方式存取所有數據集。
- ERDDAP™能夠從很多類型的資料檔和關係資料庫讀取資料。
- ERDDAP™可以處理大數據集,包括很多數據檔中有來源資料的數據集.
- ERDDAP™在使用者的要求下,可以將資料寫入很多類型的資料檔,包括科學資料檔類型,如NetCDF,ESRI.csv,以及ODV .txt.
- ERDDAP™根據使用者的规格,
- ERDDAP™可以處理非數據數據集, 如影像、影像或音效檔案的集合。
- ERDDAP™已安裝和使用於全世界60多家机构.
- ERDDAP™被列出為建議在NOAA在NOAA資料存取程序指令與其他軟體不同
- ERDDAP™是NMFS/NOAA因此在內部使用NMFS和NOAA應該是值得驕傲的一點NMFS和NOAA.
請 給我ERDDAP™試一下 如果您需要幫助,請在ERDDAP™谷歌集團.
新增 FillVale 屬性
這個特殊的 EDDType 選項不是數據集類型 。 它可以將 QQFillValue 屬性加入到一些數據集中 。 看新增 FillVale 屬性.
尋找重复 時間
這個特殊的 EDDType 選項不是數據集類型 。 相反,它告訴生成達泰斯 要搜尋的 Xml 通訊錄.nc (相关) 要尋找和打印有重复時間值的檔案清單的檔案。 當它看到時間值時, 它會將它們從原始單位轉換成"seconds since 1970-01-01"如果不同的檔案使用不同的單位字符串。 您需要提供起始目錄 (隨後的刀片) ,檔案名稱正規表示式 (例如 . ..nc ) ,以及檔案中時間變數的名称。
弧度
這個特殊的 EDDType 選項不是數據集類型 。 相反,它告訴生成達泰斯 要打印的 Xml弧度類似印出.nc,.ncML,或.hdf文件。 實際上,它用的是 netcdf -java的NCdump 中,它比NCdump的C版本更有限。 如果您使用此選項, GenerateDatasetsXml 會要求您使用其中一個選項 : "- h" (信頭) ,"-c" (坐标 vars) "... " (預設) ,"-v var1;var2","-v var1" (0,0:10,0:20) ". 這是有用的,因為沒有了cdump 它很難知道是什麼在一個.nc,.ncML,或.hdf您要為 GenerateDataset 指定哪個 EDType 檔案 XML 。 為了.ncml 檔, 此檔案會列印 nucdump 輸出結果.nc套用到底部的 ml 文件變更.nc或.hdf文件。
達斯Dds
- 達斯Dds 是您在 XML 中建立新數據集的首次試驗後可以使用的指令行程式 。datasets.xml. 用 DasDds 可以反复測試和完善 XML 。 當您使用 DasDds 程式時 :
- 在 Windows 上, 您第一次執行 DasDds 時需要編輯 DasDds 。 使用文字編輯器的 bat 檔來改變路徑到 java 。 exe 檔案以便 Windows 找到Java.
- DasDds要你datasetID您正在工作的數據集 。
- DasDds 試著用它建立數據集datasetID.
- DasDds總是打印很多的診斷訊息. 如果您使用「 DasDds - 動詞 」 , DasDds 會比往常打印更多的診斷訊息 。
- 為安全起见, DasDds 總是刪除所有快取的數據集資訊 (文件) 用于建立數據集。 這相当于設定硬旗因此, 对于總合數據集, 您可能要暫時調整檔案NameRegex 以限制數據建構器找到的檔案數量 。
- 如果數據集無法載入 (不管原因如何) , DasDds 將會停止並顯示它找到的第一個錯誤的錯誤訊息 。
不要試著猜出問題是什麼 仔细讀取錯誤訊息 。
如果有必要, 讀取前面的診斷訊息, - 更改數據集的 XML 以試圖解決問題
讓 DasDds 重新建立數據集 。 - 如果你再三解決每個問題 你終究會解決所有的問題
而數據集會載入。
- 所有 DasDds 輸出 (诊断和成果) 寫入螢幕與 大家长會 /日志/DasDds.log.
- 如果 DasDds 能 建立數據集, DasDds 就會顯示.das (資料集屬性結構) ,.dds (數據集描述程式 结构) 和. timeGaps (時空) 您屏幕上的數據集的資訊, 並寫入到 大家长會 /日志/ DasDds. out.
- 通常您會想要對數據集的 XML 做一些小的變更, 以清理數據集的中繼資料, 重新執行 DasDds 。
獎金 第三方工具 :ERDDAP-林特
ERDDAP-林特是愛爾蘭海洋研究所的羅布·富勒和亞當·萊德比特的一個程序 你可以用它來改善你的中繼資料ERDDAP™數據集。ERDDAP-林特"包含一些規則和一個簡單的靜态網絡應用程式,以對付您ERDDAP™伺服器。 所有測試都在網絡瀏覽器中進行". 就像Unix/ Linux 林特工具,可以編輯已有的規則或新增規則。 看ERDDAP-林特更多信息。
此工具對您之前建立過的數據集尤其有用, 現在要更新您目前的元数据偏好 。 例如, GenerateDatasets 的早期版本 Xml 沒有用任何努力建立全球creator\_name,creator\_email,建立者型態,或creator\_url元数据。 你可以用ERDDAP-林特來辨識那些缺乏元数据屬性的數據集。
多虧了羅布和亞當 創造了這個工具 并把它提供给ERDDAP™社区。
基本结构datasets.xml文件
在 a 中需要的和可選擇的標籤datasets.xml文件 (及其可能出現的次数) 注 實際上 你的datasets.xml會有很多<數據集> 的標籤, 只使用其他標籤<需要的話 。
<?xml version="1.0" encoding="ISO-8859-1" ?>
<erddapDatasets>
<angularDegreeUnits>...</angularDegreeUnits> <!-- 0 or 1 -->
<angularDegreeTrueUnits>...</angularDegreeTrueUnits> <!-- 0 or 1 -->
<cacheMinutes>...</cacheMinutes> <!-- 0 or 1 -->
<commonStandardNames>...</commonStandardNames> <!-- 0 or 1 -->
<convertInterpolateRequestCSVExample /> <!-- 0 or more -->
<convertInterpolateDatasetIDVariableList /> <!-- 0 or more -->
<convertToPublicSourceUrl /> <!-- 0 or more -->
<decompressedCacheMaxGB>...</decompressedCacheMaxGB> <!-- 0 or 1 -->
<decompressedCacheMaxMinutesOld>...</decompressedCacheMaxMinutesOld> <!-- 0 or 1 -->
<drawLandMask>...</drawLandMask> <!-- 0 or 1 -->
<emailDiagnosticsToErdData>...</emailDiagnosticsToErdData> <!-- 0 or 1 -->
<graphBackgroundColor>...</graphBackgroundColor> <!-- 0 or 1 -->
<ipAddressMaxRequests>...</ipAddressMaxRequests> <!-- 0 or 1 -->
<ipAddressMaxRequestsActive>...<ipAddressMaxRequestsActive> <!-- 0 or 1 -->
<ipAddressUnlimited>...<ipAddressUnlimited> <!-- 0 or 1 -->
<loadDatasetsMinMinutes>...</loadDatasetsMinMinutes> <!-- 0 or 1 -->
<loadDatasetsMaxMinutes>...</loadDatasetsMaxMinutes> <!-- 0 or 1 -->
<logLevel>...</logLevel> <!-- 0 or 1 -->
<nGridThreads>...</nGridThreads> <!-- 0 or 1 -->
<nTableThreads>...</nTableThreads> <!-- 0 or 1 -->
<palettes>...</palettes> <!-- 0 or 1 -->
<partialRequestMaxBytes>...</partialRequestMaxBytes> <!-- 0 or 1 -->
<partialRequestMaxCells>...</partialRequestMaxCells> <!-- 0 or 1 -->
<requestBlacklist>...</requestBlacklist> <!-- 0 or 1 -->
<slowDownTroubleMillis>...</slowDownTroubleMillis> <!-- 0 or 1 -->
<subscriptionEmailBlacklist>...</subscriptionEmailBlacklist> <!-- 0 or 1 -->
<unusualActivity>...</unusualActivity> <!-- 0 or 1 -->
<updateMaxEvents>...</updateMaxEvents> <!-- 0 or 1 --><standardLicense>...</standardLicense> <!-- 0 or 1 -->
<standardContact>...</standardContact> <!-- 0 or 1 -->
<standardDataLicenses>...</standardDataLicenses> <!-- 0 or 1 -->
<standardDisclaimerOfEndorsement>...</standardDisclaimerOfEndorsement> <!-- 0 or 1 -->
<standardDisclaimerOfExternalLinks>...</standardDisclaimerOfExternalLinks> <!-- 0 or 1 -->
<standardGeneralDisclaimer>...</standardGeneralDisclaimer> <!-- 0 or 1 -->
<standardPrivacyPolicy>...</standardPrivacyPolicy> <!-- 0 or 1 -->
<startHeadHtml5>...</startHeadHtml5> <!-- 0 or 1 -->
<startBodyHtml5>...</startBodyHtml5> <!-- 0 or 1 -->
<theShortDescriptionHtml>...</theShortDescriptionHtml> <!-- 0 or 1 -->
<endBodyHtml5>...</endBodyHtml5> <!-- 0 or 1 --><user username="..." password="..." roles="..." /> <!-- 0 or more -->
<dataset>...</dataset> <!-- 1 or more -->
</erddapDatasets>
但目前只建議ISO-8859-1。
包含
2.25版本中的新版本是支持 X Include 。 這需要您使用 SAX 解析器<使用 SaxPaerser > true<在您的設定中使用 SaxParser >. xml 。 這可以讓您在自己的檔案中寫入每個數據集, 然后全部包含在主檔中datasets.xml,重用數據集定義的部份,或兼用。 如果你想看看例子EDD TestiewDataset.java 電子郵件建立 X 插入重用變數定義 。
-
- –
注
与datasets.xml文件是非三角工程。 請仔細讀讀這些筆記 你先挑一個數據集類型請仔細讀一下
選擇數據集類型
大多數情况下,只有一個ERDDAP™适合指定資料來源的數據集類型。 有的 (例如,.nc文件) 有一些可能性 但通常其中之一絕對是最好的 您必須做的第一個也是最大的決定是: 將數據集視為多维陣列群組是否合适 。 (如果看到EDDGrid數據集類型) 或作為類似資料庫的資料表 (如果看到EDD Table 資料集類型) .
使用此資料
通常不需要修改資料來源 (例如, 將檔案轉換成其他檔案類型) 所以ERDDAP™可以服侍它。 假設之一:ERDDAP™表示此資料來源將被使用 。 通常這樣很好 有些例外是:
- 相關數據庫與卡珊德拉 --ERDDAP™可以直接從相關數據庫和卡珊德拉提供資料。 但對於安全性,載入平衡性,以及性能問題,您可以選擇用相同的資料建立另一個數據庫,或者儲存資料到NetCDFv3.nc文件和有ERDDAP™提供新資料來源的資料。 看數據庫中的 EDD 表格和來自卡桑德拉的EDD表.
- 不支援資料來源...ERDDAP™可以支持大量類型的數據來源, 但世界充滿了1000's (百万?) 不同資料來源 (特别是資料檔結構) . 如果ERDDAP™不支援您的資料來源 :
- 如果資料來源是NetCDF .nc文件,你可以使用NcML修改在飛行上或使用的資料檔NCO以永久修改資料檔。
- 您可以將資料寫入資料來源類型ERDDAP™支持。NetCDF-3.nc檔案是很好的,一般的建議, 因為它們是二進制檔案ERDDAP™讀得很快 表格數據中,.nc使用CF 分解采样 (副秘书长) 相連的 ragged 數據結構, 所以可以處理ERDDAP是来自 NcCFF 的 EDD 表格). 如果它們有理有理 (每個都有數量的數據) ,ERDDAP™可以很快地從它們中提取資料。
- 您可以要求新增此資料來源的支援ERDDAP™發郵件給克里斯 約翰在Noaa.gov。
- 您可以用寫入代碼來新增對此資料來源的支持 。 看该ERDDAP™程式指南
- 速度 -ERDDAP™可以比其他資料來源更快地讀取資料。 例如,讀取NetCDFv3.nc檔案速度快, 讀取 ASCII 文件速度慢 。 如果有大 (> 1 000) 或大 (> 10,000) 來源數據檔數量 ,ERDDAP™會慢慢回應一些數據要求。 通常,這一點對人類來說并不明显。 但是,如果你覺得ERDDAP™您可以選擇將資料寫入更有效率的設定以解決問題 。 (通常:NetCDFv3.nc文件) . 表格数据,参见此建議.
提示
在 dataset. xml 中提供工作數據集描述的副本, 然后再修改, 通常更容易產生 XML 。
編碼特殊字元
自datasets.xml是 XML 檔案, 您必須編碼( E)","<",以及任何內容中的">",如"和amp;","<"和"gt;". 錯 :<標題 > 時碼( T)<(字幕) 右 :<標題 > 時間( P) :<(字幕)
XML 無法容忍語法錯誤
在您編輯 dataset.xml 檔案後, 確認結果是成型好的 XML將 XML 文字貼上 XML 檢查器xml 驗證.
排除問題提示
- 分析數據集問題的其他方法
除了兩大工具, - log.txt是所有檔案的日志檔ERDDAP诊断信息
- 其每日報告拥有比狀態頁面更多的資訊, 包括未載入的數據集清單和例外 (錯誤) 它們產生了
- 其狀態這是一個快速檢查的方法ERDDAP任何網頁瀏覽器的狀態 。 它包括未載入的數據集清單 (但不相關例外) 和工作串行數據 (顯示EDDGrid复制和EDD 表格數據集與任何EDDGrid從檔案或檔案中的 EDD 表格使用數據集來自Url 的快取 (但不是快取 大小GB) ) .
- 如果你卡住了,看我們的部分.
特殊變數
- 經度 纬度 高度 (深度) 時間 (法律) 變數 destinationNames是特殊的。
- 一般:
- LLAT 變數為ERDDAP™如果轴變數是 (用于EDDGrid数据集) 或數據變數 (EDD Table 数据集) destinationName是"經度","纬度","高度","深度",或"time".
- 我們強烈鼓勵您在可能時使用這些變數的標準名稱。 不需要任何人。 如果你不使用這些特殊的變數名稱,ERDDAP™不會認出他們的重要性 例如, LLAT 變數由 Make A Graph 特別處理 ( datasetID 圖片) : 如果 X 轴變數是「 經度 」 , Y 轴變數是「 經度 」 , 您會得到地圖 (使用標準投影,) 而不是圖
- ERDDAP™將自動新增很多中繼資料到 LLAT 變數 (例如, "ioos\_category", "單位, 以及一些與標準相關的屬性, 如「 坐标轴式 」) .
- ERDDAP™會在飛行中自動新增許多與所選取的資料子集的 LLAT 值相關的全局元数据 (比方說「地理空间」) .
- 支持這些元数据標準的客戶端將能夠利用新增的元数据以時空定位資料 。
- 客戶端會更容易產生包含 LLAT 變數的查詢, 因為所有相關數據集中變數的名稱都一樣 。
- 對"經度"變數和"纬度"變數:
- 使用destinationName只有經度和經度單位是東度和北度 如果您的資料不符合這些要求, 請使用不同的變數名稱 (例如, x, y, 隆拉迪安人, 拉特拉迪安人) .
- 如果您有經度和經度數據, 以不同的單位表示, 因而也用不同的單位表示destinationNames, 例如: LonRadians 和 latRadians, Make A Graph 等 ( datasetID 圖片) 會做圖 (例如,時序) 而不是地圖
- 高度變數和深度變數:
- 使用destinationName辨識數據海拔高度的高度 (正="上"值) . 可選擇的是,如果海平面以下的值是負值(或者如果你使用,例如, [<姓名="scale\_factor"type="int" > - 1</att >] (# 大小(_F)) 將深度值轉換成高度值。
- 使用destinationName"深度"以辨明數據在海平面以下的距离 (正="下"值) .
- 數據集可能沒有"高度"和"深度"變數 。
- 对于這些變數名稱,單位一定是"m","meter"或"meters"。 如果單位不同 (例如, fathoms) 您可以使用 [<姓名="scale\_factor" > 一些 值 </att >] (# 大小(_F)) 并 [<atname=“ 單位” > 公尺</att >] (單位) 將單位轉換成米。
- 如果您的數據不符合這些要求, 請用不同的destinationName (例如,在Ground, 距离之上 到Bottom) .
- 如果您知道垂直的 CRS 請在中繼資料中指定, 例如, "EPSG: 5829" (海平面上瞬時高度) "EPSG:5831" (海平面以下瞬时深度) ,或"EPSG:5703" (NAVD88高度) .
- 為了"time"變數 :
- 使用destinationName "time"只對包含整個日期+時間的變數 (或者日期,如果只有這些的話) . 例如, 如果日期和時間有不同的列, 不要使用變數名稱"time".
- 看單位需要更多關於時間和時序變數的單位屬性資訊。
- 時間變數與相關時間 印表變數獨一無二, 因為它們總是從來源的時間格式轉換數據值 (不管是什么) 轉成數值 (自1970-01-01T00:00Z起的秒) 字符串值 (ISO 8601:2004 (英) 格式) 依情況而定
- 當使用者要求時間數據時, 可以指定時間為數值來要求它 。 (自1970-01-01T00:00Z起的秒) 字符串值 (ISO 8601:2004 (英) 格式) .
- ERDDAP™有用於轉換數字 時間到/ 從字符串時間.
- 看怎么ERDDAP處理時間.
為什麼只有兩個基本數據結構?
- 由于人類客戶和電腦客戶 很難處理一套複雜的數據集結構ERDDAP™使用兩個基本的數據結構:
- 當然,并非所有的數據都可以用這些結構來表示,但很多數據都可以用來表示. 表格尤其是非常灵活的資料結構 (參觀關係資料庫程式的成功) .
- 這讓資料查詢更容易建構 。
- 這讓數據回應有簡單的結構, 這樣就更容易在更廣泛的類型標準檔案中服務數據 (通常只支持簡單的資料結構) . 這就是我們設計的原因ERDDAP™這邊
- 這又讓我們很輕鬆 (或任何人) 寫入與所有使用者合作的客戶端軟體ERDDAP™數據集。
- 因此更容易比對不同來源的資料。
- 我們非常清楚,如果你習慣在其他資料結構中與數據合 作, 你最初可能會認為這個方法是簡化或不足的。 但所有的數據結構都有取舍 沒有一個是完美的。 連Do-it- all架构都有其缺点:與他們合作很複雜, 如果你接受ERDDAP你可能會發現它有它的優勢 (特別是多個檔案類型的支援, 可以持續數據回應) . 其ERDDAP™放映 (特别是資料結構) 談到很多關於這些問題。
- 即使這招對你來說很奇怪 大多數ERDDAP™客戶端永遠不會注意到 - 他們會簡單地看到所有數據集的結構都非常簡單, 他們會很感激他們能從多种多样的來源中以广泛的檔案格式傳回資料。
尺寸
- 如果來源數據集中的格子變數不共享同轴變數呢?
在EDDGrid數據集,所有數據變數都使用 (共享) 所有轴變數。 所以,如果一個來源數據集有一些有一套維度的變數,其他有一套不同的維度的變數,你必須在其中製作兩個數據集ERDDAP. 例如,你可能會做一個ERDDAP™名為「 某些標題」 的數據集 (表面) " 以持有只是使用的變數\[時間\]\[纬度\]\[经度\]維度與制造另一個ERDDAP™名為「 某些標題」 的數據集 (深度) " 以持有使用的變數\[時間\]\[高度\]\[纬度\]\[经度\]. 或者您可以改變資料來源, 加入一個單值的維度 (例如,高度=0) 使變數一致。
ERDDAP™不處理更複雜的數據集 (例如,使用三角形网格的模型) 好吧 您可以在ERDDAP™在ERDDAP™ (讓每套新資料中的所有數據 變數 共享同一套轴變數) 但這不是使用者想要的 對於一些數據集,你可能會考慮做一個固定的格子化的數據集版本,並提供除原始數據之外的其他資料. 有些客戶端軟體只能處理一個普通的網格,所以這樣的話,你就能接触到更多的客戶端.
預測的格子資料
一些网格化的資料有複雜的结构. 例如,卫星2 ("漫長的軌道") 資料不使用簡單的投影。 建模者 (及其他) 常與各種非圓柱預測的網格資料合作 (例如,二极、极地、三极) 或以不結構的网格 (更複雜的數據結構) . 某些端點使用者想要此資料, 所以資訊沒有損失 。 為了那些客戶ERDDAP™只能以ERDDAP™管理員將原始的數據集分解成幾個數據集, 其中每一部分都包含同轴變數的變數 。 對,這對參與的人來說很怪 和大多數人不同OPeNDAP伺服器。 但是ERDDAP™强调以多种形式提供資料。 這有可能 因為ERDDAP™使用/需要更统一的數據結構。 雖然有點尷尬 (即与预期不同) ,ERDDAP™可以傳送預期的資料。
\[是的ERDDAP™可能對數據結構有更松散的要求, 但保留對輸出格式的要求 。 但這會造成許多使用者的困惑, 尤其是新人, 因為許多對不同結構的資料似乎有效的要求都將是無效的, 我們繼續回到目前的系統設計\]
有些端口使用者想要在像 Equirectangular / 板卡雷 或 Mercator 的 lat loon 圆柱形投影中提供資料, 以便在不同的情況下方便使用 。 對於這些情況,我們鼓勵ERDDAP™管理員使用其他軟體 (NCO?Matlab? 瑞? IDV? ...?) 重新投影到地理上 (平均方形投射/ 板板) 或其他圆柱形投影,并伺服此形式的數據ERDDAP™作為不同的數據集 。 這與人們將衛星2級數據轉換成3級數據時所做的事相似。 其中一種工具是NCO它提供了重新網格化資料的延伸選項。
GIS 和重新投影資料
GIS世界通常面向地圖, GIS程式通常會支持重新投影數據,
目前,ERDDAP™無法重新投影資料。 相反,我們建議您使用一個外部工具來制作出數據集的變體,其中數據已經從原始表單重新投影到矩形 (經度) 适合ERDDAP.
我們認為,CF/DAP世界與GIS世界有些不同,ERDDAP™反映于此. 一般來說,ERDDAP™以數據為主 (不是地圖) 不想改變 (例如,重新投影) 那數據 為ERDDAP™,网格化的數據往往/通常/最好与lat lon值和圆柱形投影相連,而不是某些投影的x,y值. 不管怎樣ERDDAP™它只是把數據傳送過去 就像它目前的投射一樣 根據重新投射是數據的一個重大變化的理論ERDDAP™不想參與重大改變 之後的使用者可能天真地重新投影數據, (所以,如果ERDDAP™管理員想要在不同的投影中提供數據, 很好; 只要重新投影到線下, 並且提供它為不同的數據集ERDDAP. 許多以衛星為基礎的數據集被提供為 NASA 稱為二级 (扭曲) 等級 3 (均方形投影) 版本。) 什麼時候ERDDAP™制作地圖 (直接或透過WMS或 KML) ,ERDDAP™目前只提供使用 Equirectangular / plate carrée 投影的地圖,
我們鼓勵ERDDAP™管理員使用其他軟體 (NCO?Matlab? 瑞? IDV? ...?) 重新投影到地理上 (平均方形投射/ 板板) 或其他圆柱形投影,并伺服此形式的數據ERDDAP™作為不同的數據集。 這與人們將衛星2級數據轉換成3級數據時所做的 事相似。 其中一種工具是NCO它提供了重新網格化資料的延伸選項。
我們希望ERDDAP™將有內置工具來提供地圖, 我們也希望未來能與GIS世界建立更好的聯繫 (除目前WMS服務) . 在這個"現代"世界中 CF/DAP世界和GIS世界仍然如此脆弱。 兩件事情都在"做愛"的名單上 (如果你想幫忙,尤其是聯系ERDDAP™呼叫MapServer 請發郵件給Chris 約翰在諾亞戈夫)
資料類型
ERDDAP™支援下列資料類型 (姓名敏感;'u'前缀表示“ 未簽署 ” ; 其他系統中很多名稱的數字是位元數) :
位元組
- 位元組 已簽署整數值, 範圍為 -128 到 127 。 在其他系統中,這有時叫做int8。 這被SQL和卡珊德拉稱為"Tinyint". ERDDAP™轉換布林一些來源 (例如,SQL和Cassandra) 輸入位元組ERDDAP™0=假,1=真,127=假missing\_value.
u字節
- u字節 的整數值為 0 到 255 。 在其他系統中,這有時被稱為uint8.
短
- 短 已簽署整數值, 範圍為 - 32768 到 32767 。 在其他系統中,這有時叫做int16. 這被SQL和卡珊德拉稱為"小".
超速
- 超速 有無號整數值, 範圍為 0 到 65535 。 在其他系統中,這有時被稱為int16.
英寸
- 英寸 已簽署整數值, 範圍為 -2147483648 - 2147483647。 在其他系統中,這有時叫做int32. 這叫做"整體"|數字 (?) "由SQL和"int"由卡珊德拉.
昆特
- 昆特 含有0至4294967295的無號整數值。 在其他系統中,這有時被稱為uint32.
長
- 長 已簽署整數值, 其範圍為 -9223372036854775808 - 922327303685475807。 在其他系統中,這有時叫做int64. 這叫"大"|數字 (?) "由SQL和卡珊德拉"Bigint". 因為很多檔案型態不支持長數據, 可能時使用雙倍 (见下文) .
烏龍
- 烏龍 其整數為 0 到 184464744073709551615 在其他系統中,這有時被稱為uint64. 因為很多檔案型態不支持烏龍數據, 可能時使用雙倍 (见下文) .
浮
- 浮 是一种IEEE 754浮體,其範圍约为+/- 3.402823466e+38。 在其他系統中,這有時叫做浮32. 這是真正的|浮 (?) |小數 (?) |數字 (?) "由SQL和卡珊德拉"漂浮". 特殊值 NaN 表示不是數字 。 ERDDAP™將正數值和負數值轉換成 NaN。
雙倍
- 雙倍 是IEEE 754的雙倍,範圍约为 +/- 1.7976931348623157E+308. 在其他系統中,這有時叫做浮64. 這叫做"雙精度"|浮 (?) |小數 (?) |數字 (?) "由SQL和卡珊德拉的"雙倍". 特殊值 NaN 表示不是數字 。 ERDDAP™將正數值和負數值轉換成 NaN。
字符
- 字符 單一 2 字節 (16 位) Unicode UCS-2 字元從\u0000 (#0) 至\uffff (#65535) . \uffff其定義是非一分法, 使用 char 被阻遏, 因為很多檔案類型不支援 char 或只支援 1字节 char (见下文) . 考慮用字串代替 。 使用者可以使用 char 變數來做圖 。ERDDAP™將這些字元轉換到他們的Unicode碼點數, 它可以做成數字數據 。
字符串
- 字符串 是 0 或以上的序列, 2 位元 (16 位) Unicode UCS-2 字元. ERDDAP™使用/ 解說 0 長的字串為缺失 值 。ERDDAP™不支持真空字符串。 理論上的最大字串長度為2147483647 字元,但不同地方可能會有不同的問題,即使字串稍短一些。 使用ERDDAP用于 SQL 字元的字符串, varchar, 字元變化, 二進位, varbinary, 间隔, 陣列, 多集, xml, 以及其它不與其它字元資料類型的字元ERDDAP™資料類型。 使用ERDDAPCassandra 的「 文本 」 和其他不適合其它的 Cassandra 資料類型ERDDAP™資料類型。
之前ERDDAP™v2.10,ERDDAP™內部不支援未簽署的整數型態,
資料型態限制
你可以想到ERDDAP™作為一個具有虛擬數據集的系統,它通过從數據集的來源讀取數據到內部數據模型並寫入數據到各种服務(例如:(OPeN)DAP,WMS)和檔案類型,以應用戶要求。
- 每個輸入讀取器支援數據型態的子集ERDDAP™支持。 所以讀取資料到ERDDAP內部資料結構不是問題
- 每個輸出寫入器也支援數據類型的子集 。 那是個問題 因為ERDDAP例如,必須將長數據壓入不支援長數據的檔案類型。
以下是對限制的解釋: (否) 各种輸出寫法及如何ERDDAP™處理問題。 這種并发症是內在的ERDDAP使不同的系統互動的目標
阿塞克二
- 阿塞克二 (...csv,.tsv等) 文字文件 -
- 所有數值資料都通過它的字串表示法寫入 (數據數值缺失, 以 0 長字串顯示) .
- 雖然ERDDAP™向 ASCII 文字檔案正确寫入長和 ulong 值, 很多讀者 (例如,电子表格程序) 無法正确處理長數值與烏龍數值, (在某些 情况下缺乏精度) .
- 字符與字串資料是通过 JSON 字串寫入的, 它處理所有 Unicode 字元 (特別是,ASCII #127以外的"異常"字元,例如歐洲字元出現在"\u20ac"中.) .
杰森
- 杰森 (.json,.jsonlCSV等) 文字文件 -
- 所有數字數據都通過它的字串表示值來寫入 。
- 字符與字串資料寫作 JSON 字串, 它處理所有 Unicode 字元 (特別是,ASCII #127以外的"異常"字元,例如歐洲字元出現在"\u20ac"中.) .
- 所有數值數據型態的缺失值都以無效表示 。
.nc3 份文件
- .nc3 個檔案不支持任何未簽署的整數型態 。 在 CF v1. 9 之前, CF 不支援未簽署的整數型態 。 為了處理這件事ERDDAP™2.10+ 遵循 NUG 標準, 總要加入一個「 未簽署」 屬性, 其值為「 真」 或「 假」 , 以表示資料是否來自未簽署或簽署的變數 。 所有整數屬性都被寫成簽署的屬性 (例如,字节) 已簽署值( 例如 ubyte)actual\_range0 到 255 值的屬性, 以 0 到 -1 值的位元屬性( 兩者互补值的偏移值) 出現 。 要知道哪些( 簽署的) 整數屬性應該被讀作未簽署的屬性, 并不容易 。ERDDAP™支持「 未簽署」 屬性, 其讀取時.nc三份文件。
- .nc3 個檔案不支援長或 ulong 資料類型 。ERDDAP™以暫時轉換為雙倍變數來處理此項 。 雙胞胎可以完全代表 +/- 9, 007, 199, 254, 740, 992 以內的所有值 2^53。 這是不完美的解決辦法Unidata拒絕做小提升到.nc3,.nc4 (重大改變) 作為解決之道
- CF 规格 (在v1.9之前) 表示它支持 char 資料類型, 但尚不清楚 char 是否只是作為 char 陣列的建構元件, 他們的郵件名單上的問題只得出了困惑的答案。 由于這些複雜性,最好避免在ERDDAP™并尽可能使用字符串變數。
- 传统上,.nc3 個檔案只支援用 ASCII 編碼的字串 (7位 0 - 127) 字符。 努格 (和ERDDAP) 延伸 (始于~2017年) 包含屬性「% Encoding 」 , 其值為「 ISO- 8859-1 」 (ASCII 的延伸, 定义每個 8 位元的所有 256 值) 或「 UTF-8 」 表示字串資料是如何編碼的 。 其他編碼可能是合法的,但令人不快。
.nc4 份文件
- .nc4 文件支援全部ERDDAP數據類型 。
NCCSV 文件
NCCSV 1.0 檔案不支援任何未簽署的整數資料類型 。 NCCSV 1. 1+ 檔案支援所有未簽署的整數資料類型。
DAP
- (OPeN)DAP (.das、.dds、.asc ASCII 檔案和.dods 二进制檔案) - –
- (OPeN)DAP手柄短、短、短、短、短、短、浮和雙倍值正确。
- (OPeN)DAP有一個「 字節」 的資料型態, 它被定义为未簽署, 而歷史上, THREDDS 與ERDDAP™已經把「字節」當做簽名(OPeN)DAP服務。 為了更好地處理這件事ERDDAP™2.10+ 遵循 NUG 標準, 總會新增一個「 未簽署」 屬性, 其值為「 真 」 或「 假 」 , 以表示資料是否是 。ERDDAP™呼叫字节或ubyte。 所有字节和ubyte 屬性都寫成「 字節」 屬性, 有簽署值( 例如 ubyte )actual\_range0 到 255 值的屬性, 以 0 到 -1 值的位元屬性( 兩者互补值的偏移值) 出現 。 要知道哪些「 字節」 屬性應該被讀作 ubyte 屬性, 并不容易 。
- (OPeN)DAP不支援簽署或未簽署的長度。ERDDAP™以暫時轉換為雙倍變數與屬性來處理 。 雙胞胎可以完全代表所有數值,最多9,007,199,254,740,992 2^53。 這是不完美的解決辦法OPeNDAP (组织) 拒絕做小提升到DAP提到:DAP4 (重大改變) 作為解決之道
- 因為(OPeN)DAP沒有单独的字元資料類型, 技術上只支援 1字节 ASCII 字元 (0 - 127) 在字串中, 字元數據變數會出現在 1- 字符串中(OPeN)DAP達斯、達德和達德的反應
- 嚴格來說,(OPeN)DAP只支援使用 ASCII 編碼字符的字串 (0 - 127) . 努格 (和ERDDAP) 延伸 (始于~2017年) 包含屬性「% Encoding 」 , 其值為「 ISO- 8859-1 」 (ASCII 的延伸, 定义每個 8 位元的所有 256 值) 或「 UTF-8 」 表示字串資料是如何編碼的 。 其他編碼可能是合法的,但令人不快。
資料類型註解
- 因為許多檔案類型的長、 ulong 和 char 資料支持不足,ERDDAP. 可能時使用雙倍而不是長和烏龍, 並使用 String 而不是 char 。
- 元件 - 因為(OPeN)DAP.das 和.dds 的回應不支援長或長的屬性或數據類型 (卻把他們當成雙胞胎) 您可能想要使用ERDDAP表1http./erddap/ . 信息 / datasetID .html 网页 (例如, https://coastwatch.pfeg.noaa.gov/erddap/info/cwwcNDBCMet/index.html ) (其它檔案類 型,例如 .csv,.htmlTable,.itx,.json,.jsonlCSV1,.jsonlCSV,.jsonlKVP,.mat,.nc,.nccsv,.tsv,.xhtml) 或.nccsv元数据回复 (例如, https://coastwatch.pfeg.noaa.gov/erddap/tabledap/cwwcNDBCMet.nccsvMetadata 雖然.nccsv中繼資料只供表格数据集使用) ,兩者都支持所有資料類型 (特別是,長,烏龍,和Char) .
媒體文件
并非所有的資料都是數字或文字的陣列 。 有些數據集由媒體檔案构成或包含,例如影像、音效和影像檔案。ERDDAP™讓使用者更容易取得媒體檔案。 這是兩步路程:
- 通過一個支持字節範圍要求的系統, 讓每個檔案通過自己的網址存取 。 最簡單的方法就是把檔案放進一個目錄ERDDAP™有權使用 (如果他們像在一個容器裡.zip檔案, 解開它們, 雖然您可能要提供.zip檔案也寄給使用者。) 那就做個檔案名稱中的 EDD 表格數據集讓這些檔案通過ERDDAP™,尤其是通过ERDDAP是"files"系統.
所有檔案都通過 EDDTable 從檔案名稱和ERDDAP是"files"系統支持位元範圍要求. 通常,當客戶端 (例如,瀏覽器) 向 URL 要求, 它會得到整個檔案作為回應 。 但在位元範圍要求中, 要求指定了檔案中的位元範圍, 而伺服器只傳回這些位元範圍 。 這與此相關, 因為瀏覽器中的音效與視頻播放器只有在檔案可通过位元範圍要求存取時才能工作 。
可選 : 如果您在相關媒體檔案中有不止一個數據集, 您可以只做一個 EDDTable FromFileNames, 每組檔案都有子目錄 。 優點是, 當您要新增新數據集的媒體檔案時, 您只需建立新資料夾並將檔案放入此資料夾 。 資料夾與檔案會自動加入 EDDTable FromFileNames 資料集 。
- 可選 : 如果您有包含介质檔案參考的數據集, 請加入ERDDAP. 例如, 每次有人看到鲸魚時, 你可能會有 . csv 的 . csv 檔, 以及一個列, 其中包含與目擊相關的影像檔名 。 如果影像檔名只是檔名, 例如 Img20141024T192403Z , 而不是完整的 URL, 那你需要加入文件 AccessBase 網址和/或檔案存取後缀屬性dataVariable指定那些文件名的基底URL和后缀。 如果您通過 EDDTable FileNames 開啟檔案, 網址會在表單中 基底Url /erddap/文件/ datasetID / 例如,
<att name="fileAccessBaseUrl">*someBaseURL*</a>
<att name="fileAccessSuffix">.png</a>
如果有.zip或與資料變數相關的所有媒體檔案的其他容器檔案, 我們建議您也讓使用者可以存取此檔案 (见上文第1步) 然后用一個檔案存取Archive 網址屬性。
\[起始於ERDDAP™v1.82\]如果你先走一步 (或兩步) ,那么當使用者查看ERDDAP™ "files"數據集的系統 (或要求 通过 an.htmlTable要求,如果你做了第二步) ,ERDDAP™將顯示檔案左邊的 '?' 圖示。 如果使用者在圖示上徘徊, 他們會看到顯示影像的彈出, 或是音效播放器, 或是影像播放器 。 瀏覽器只支援有限的類型
- 影像 (通常.gif,.jpg,和.png) ,
- 音效 (通常.mp3,ogg,和.wav) 和
- 影像文件 (通常.mp4,.ogv,和. 網頁) .
在不同的操作系統上, 不同版本的瀏覽器支持不同 。 所以如果你有選擇要提供哪類檔案的話 提供這些類型是合情合理的
或者,如果使用者點擊顯示在一個ERDDAP™他們的瀏覽器會將影像、音效或影片檔案作為单独的網頁顯示。 這對看到一個非常大的影像或影片放大到全螢幕,
使用 AWS S3 文件工作
亞馬遜網路服務 (阿WS) 出售者云计算服務。S3是 AWS 提供的物件儲存系統。 而不是傳統檔案系統的目錄與檔案的分級系統 (就像電腦里的硬碟) , S3 提供只持有"物件"的"桶" (我們叫他們來"files") .
ASCII 檔案 (例如.csv) ,ERDDAP™可以直接使用桶中的檔案。 你只需要指定<fileDir > 的数据集,使用 AWS 桶的特定格式,例如, https://bucketName.s3.aws-region.amazonaws.com/subdirectory/ . 你不該用<取自Url > 。 详情见下文。
但對於二進制檔案 (例如,.nc和....hdf文件) ,您需要使用<以下描述的快取FromUrl>系統 。ERDDAP, netcdf - java (其中ERDDAP™從這些檔案讀取資料) ,其他科學數據軟體也設計在傳統檔案系統中與檔案合作,提供區塊關卡存取檔案 (允許讀取檔案的區塊) 但S3只提供文件關卡 (物件) 存取檔案 (只允許讀取整個檔案) . AWS提供S3的替代品,弹性區塊儲存 (EBS) ),它支持區塊關卡存取檔案,但比 S3 更貴,所以很少用于大量數量資料檔案的批量儲存 。 (所以當人們說把數據存放在云中 (S3) 便宜 通常是蘋果和橙子的比對)
S3 桶
水桶的內容 鑰匙 物件 界限
技術上, S3桶不像電腦上的檔案系統那樣排列成分級的檔案结构. 相反,桶中只包含"物件" (文件) ,每一個都有"鑰匙" (名稱) . 那桶Noaa -goes17的鑰匙就是一例
ABI-L1b-RadC/2019/235/22/OR\\_ABI-L1b-RadC-M6C01\\_G17\\_s20192352201196\\_e20192352203569\\_c20192352204013.nc
此物件的相应 URL 是
AWS 支持網址建構的一點變化, 但是ERDDAP™需要此特定格式 :
https://bucketName.s3.region.amazonaws.com/key
像這個例子一樣, 讓按鍵名稱看起來像一個分級路徑加上一個檔案名稱, 因為它很常见而且有用ERDDAP™將 /' 的金鑰當作是階級路徑加檔案名稱, 此文件會將它們稱為 。 如果桶的按鍵不使用 /' (例如,按鍵像
ABI-Lib.2018.052.22.OR\_ABI-L1b-RadM2-M3C10\_G16\_s20180522247575),于是.ERDDAP™將整個金鑰當作一個長的檔案名稱
私人對公共桶 -- S3桶的管理者可以將桶及其內容公之于眾或私之於眾。 如果公開, 任何使用 URL 檔案的檔案都可以被任何人下載 。 亞馬遜有一個開啟資料公共數據集的主機程式 (包括來自NOAANASA和USGS) 免費從那些桶裡下載檔案 如果桶是私人的,桶中的檔案只能被授權使用者存取, AWS 收取費用 (通常由桶主付錢) 將檔案下載到非 AWS S3 電腦。ERDDAP™可以使用公共和私人桶中的数据。
AWS 憑證
才能做到這樣ERDDAP™您可以讀取私人桶的內容, 您需要 AWS 憑證, 您需要將憑證檔儲存在標準的地方 。ERDDAP™可以找到信息。 參見 AWS SDKJava2.x 文件:設定預設的憑證. (儲存值為Java命令行參數\[湯姆卡\]/bin/setenv.sh 可能是個好選擇。)
AWS / 文件/文件
- /文件/系統 -- 其ERDDAP™ /文件/系統允許使用者下載資料集的來源檔案。 我們建議您開啟所有有來源檔案的資料集, 因為許多使用者想要下載原始來源檔案 。
- 如果檔案放在一個私密的 S3 桶中, 使用者下載檔案的要求會由ERDDAP™,它會讀取檔案中的資料,然后傳送給使用者,从而增加您的載重量ERDDAP™,使用進出帶寬,使您 (该ERDDAP™管理者) 向 AWS 支付資料傳輸費 。
- 如果檔案放在公開的 S3 桶中, 使用者下載檔案的要求會被重定向到文件的 AWS S3 網址, 所以資料不會流過 。ERDDAP™,因此減少載入量ERDDAP. 如果檔案在 Amazon 開啟資料中 (自由) 公桶,然后你 (该ERDDAP™管理者) 不需要向AWS支付任何資料入侵費 因此,公眾的數據有很大的優勢 (非私人) S3桶, 以及提供亞馬遜 Open Data 資料的巨大優勢 (自由) 桶.
ERDDAP™和 AWS S3 桶
ERDDAP™和 AWS S3 桶
幸好我做了很多努力ERDDAP™以合理高效的方式處理 S3 區塊關卡存取檔案的內在問題:
- \[免责声明 : 和AWS S3桶一起工作是一大堆额外工作. AWS是巨大的服務和特色生态系统。 有很多事要學 它需要時間和精力,但它是可以做到的。 耐心點 你會有辦法的 尋找/ 要求求助
(AWS 文件,网站堆疊過量流量普通
ERDDAP™支援方案)如果/當你被卡住。\]
- 甚至很難在 S3 桶中找到檔案的目錄结构和檔案名稱 。ERDDAP™有解決問題的辦法: EDDTable FromFileNames 有特殊功能\\"在飛翔"選項, 讓您從 FileNames 資料集中建立 EDDTable , 讓使用者瀏覽 S3 桶的內容 (下載檔案) 透過數據集"files"选项。 有一個以下示例.
- ERDDAP™可以從外部壓縮的資料檔,所以如果 S3 上的檔案被儲存為.gz,.gzip,.bz2, . Z, 或其他類型的外部壓縮資料檔, 它們可以大寫 (2 - 20X) 減少檔案儲存成本 。 使用外部壓縮的檔案通常不會有時間懲罰, 因為從 S3 轉移到更小的檔案所儲存的時間ERDDAP大致平衡ERDDAP™要解壓檔案。 要使用此功能, 你只需要確保數據集的<檔案Name Regex > 允許壓縮檔案型態 (例如,增加 (|.gz) 到 regex 尾端) .
- 在最普通的案例中,你有一個ERDDAP™安裝在您的 PC 上以做測試/ 開發, 並且數據集有二進制資料檔, 它們被儲存在 S3 桶裡的物件中, 這是讓數據集進入的方法之一ERDDAP™即:
-
在您的 PC 上建立目錄以持有一些測試資料檔 。
-
從來源下載兩份資料檔案到您剛建立的目錄 。
-
使用產生 DatasetsXml產生datasets.xml以兩個本地資料檔为基础的數據集。
-
檢查那套數據庫是否與所希望的一樣工作達斯Dds和/或本地ERDDAP.
以下的步數可以复制數據集 (從 S3 桶中取得資料) 公共ERDDAP.
-
复制datasets.xml的數據集datasets.xml公示ERDDAP™那會供應數據
-
建立公開目錄ERDDAP本地硬碟來儲存暫存檔案 。 目錄不用太多磁碟空間 (參觀快取) .
-
變更數據集的值<fileDir > 標籤可以指向您剛剛建立的目錄 (即使目錄是空的) .
-
新增a來自Url 的快取指定資料集桶名和可選的前缀的標籤 (即目錄) 特定Aws S3 URL 格式ERDDAP™需要.
-
添加 a [<缓存SizeGB > ] (牧羊人) 標籤到數據集的 xml (例如, 10 是大部分數據集的好值) 要告訴ERDDAP™以限制本地快取大小 (即,不要試著儲存所有遠端檔案) .
-
看這在公眾上是否有效ERDDAP. 注意,第一次ERDDAP™載入數據集, 需要很長的時間載入, 因為ERDDAP™需要下載和讀取所有的資料檔。
-
如果數據集是一大堆 巨大的網格化的數據檔 這需要很長的時間 而且不切实际 在某些情况下,对于已網格化的資料檔,ERDDAP™可以提取所需信息 (例如, 網格化資料檔中資料的時間點) 從檔案名稱中避免此問題。 看經 文件名.
- 可選擇 (但尤其對 Files 資料集的 EDD Table 來說) ,您可以添加n 串標籤到要告訴的數據集ERDDAP在應答使用者的數據要求時使用多于 1 串 。 以最小化延遲的效果ERDDAP™從 (遠端) AWS S3 桶進入本地快取 (也許) 消沉他們。
AWS S3 開啟資料
部分NOAA是大 數據程式,NOAA包括AWS等5個組織, 「探索在雲中儲存關鍵觀察和模型產品的影印件, AWS 包括它從中獲得的數據集NOAA作為其方案的一部分, 提供公共存取 一大堆開啟 AWS S3 上的資料從任何電腦, 不管它是亞馬遜计算實驗 (租用的電腦) 在 AWS 網絡上, 或是在任何網絡上你自己的PC上。 以下例假設您正在使用公開的數據集 。
在 AWS S3 Bucket 中存取檔案
私人S3數據桶 水桶的主人必須讓您進入水桶 (參看 AWS 文件 。)
您需要AWS帳戶, 因為 AWS SDK 是Java (其中ERDDAP™用于获取桶內容的資訊) 需要 AWS 帳號憑證 。 (更多關於下面)
ERDDAP™只有指定了 AWS S3 桶,才能存取 [<快取自Url>] (牧羊人) (或)<以特定格式:
https://bucketName.s3.aws-region.amazonaws.com/prefix/
在哪里
- 桶名是桶名的簡表, 例如 noaa- goes 17 。
- 區域,例如我們東一區, 來自「Region」一欄AWS 服務端點水桶在哪?
- 前缀是可選的 。 如果存在,它必須以'/'.
例如, https://noaa-goes17.s3.us-east-1.amazonaws.com/ABI-L1b-RadC/
此網址格式是 AWS S3 建議格式之一 :存取桶和此前缀描述.ERDDAP™要求您將桶網址和可選的前缀合并到一個網址,以指定<快取自Url > (或)<文件所在位置。
試驗公用 AWS S3 桶
对于公共桶,您可以而且應該在瀏覽器中試驗 AWS S3 目錄的桶 URL,例如, https://noaa-goes17.s3.us-east-1.amazonaws.com 如果桶網址正确且適合ERDDAP,它會傳回 XML 的檔案。 (部分) 列出那桶的內容。 不幸的是,完整的網址 (即桶 URL 加上前缀) 那ERDDAP™想要給定的數據集在瀏覽器中行不通 。 AWS 不提供系統來瀏覽您的瀏覽器中的桶的分類 。 (如果這不正確,請發郵件給Chris。 約翰在Noaa.gov。 不然,亞馬遜,請增加支援!)
檢視桶的內容
S3桶常常包含數個類型的檔案,ERDDAP™數據集。 使ERDDAP™資料集,您需要知道起始目錄<快取自Url > (或)<fileDir>)和表示此檔案子集的檔案名稱格式。 如果您試著在瀏覽器中檢視桶的全部內容, S3 將會只顯示前1000 個檔案, 這還不夠 。 目前,你查看桶子所有內容的最好方式是制作檔案名稱中的 EDD 表格数据集 (在你的電腦上ERDDAP™和/或公众ERDDAP) ,這也讓您可以輕鬆地瀏覽目錄结构和下載檔案。 其<檔案 Dir > 將會是您在上面製作的網址, 例如 。 https://noaa-goes17.s3.us-east-1.amazonaws.com .\[為何AWS S3不提供一個快速而簡單的方法讓任何人在沒有AWS帳戶的情况下這樣做?\]注意,當我在非亞馬遜網絡的PC上這樣做時,亞馬遜似乎會減慢對小滴的反應。 (大约100 (?) 每塊檔案) 在前幾塊之后 (每塊1000份檔案) 已下載。 因為水桶可能有很多文件 (Noaa -goes17有2600萬) ,取得桶中的所有內容可能會從檔案名中取下 EDD Table 數小時 (例如,12!) 完成。\[亞馬遜,是嗎?\]
制作 EDD 表格 使用 AWS S3 Bucket 的檔案名稱資料集
如果您有桶名, 但不要在 S3 桶中已經有檔案清單, 也不要有前缀 。 請使用下面的指令來建立 EDDTable FromFileNames 資料集, 以便您透過 。ERDDAP是"files"系統。
- 開啟 AWS 帳號 ERDDAP™使用AWS SDK 表示Java要從 AWS 取得桶信息, 您需要建立並激活 AWS 帳號. 這工作很重,有很多事情要學
- 把你的 AWS 證件放在哪裡ERDDAP™可以找到他們 遵循指示建立 AWS 憑證與發展區域所以ERDDAP™ (具体而言,AWS SDK是Java) 會找到並使用您的 AWS 憑證 。 如果ERDDAP™找不到證件,你會看到 java.lang。 非法參數例外: 設定檔檔案不能是無效的錯誤ERDDAP'log.txt 檔案 。
Linux 和 Mac OS 的提示: 憑證檔案必須在正在运行的 Tomcat 使用者的家目錄中 (和ERDDAP) (這段,我們假設使用者=Tomcat) 。 不要假設 ~ 是 / home/ tomcat – 實際上是用 cd ~ 來找出操作系統認為 ~ 對使用者 = tomcat 是 。 建立此目錄, 如果它不存在 。 另外, 在您將憑證檔放在位後, 請確認檔案的使用者與群組是 tomcat, 然後使用 chmod 400 憑證來確認檔案只為使用者讀取 。
- 建立桶網址格式ERDDAP™需要例如, https://noaa-goes17.s3.us-east-1.amazonaws.com 和 (公共桶) 在瀏覽器中測試它, 以确保它傳回 XML 文件, 它有部分列出桶的內容 。
- 使用產生 DatasetsXml要建立檔案名稱中的 EDD 表格數據集 :
-
對起始目錄, 請使用此語法 : \\~ 飛行時, 你的巴克特厄爾* 例如, \*\*飛行時, https://noaa-goes17.s3.us-east-1.amazonaws.com/
-
檔案名稱 regex ? ._______________________________________________________
-
遞迴? 真
-
重新載入 每一個NMinute? 10080
-
机构?NOAA
-
摘要? 沒什麼 (ERDDAP™會自動建立一個像樣的概述。)
-
標題? 沒什麼 (ERDDAP™會自動建立正宗的標題 。) 同往常 一樣, 您應編輯結果的 XML, 以驗證正確性, 並在使用它的數據集整塊之前做改进 。datasets.xml.
-
- 如果您遵守上面的指令並加載數據集ERDDAP,您已建立 EDD Table fromFiles 資料集。 例如, 為了讓任何人更容易從 AWS 開啟資料桶中瀏覽和下載檔案, 我們已建立 EDDTable FromFileNames 數據集( 參見清單
https://upwell.pfeg.noaa.gov/erddap/search/index.html?searchFor=awsS3Files\_ 几乎全部AWS S3 開啟資料桶.
\[根目錄中沒有的幾桶檔案 。 (超過在合理时间内下載) ,或禁止公共存取 (他們不都應該公開嗎?) 或請求者付錢桶 (例如,哨兵) .\]
如果按下"files"您可以在 S3 桶中瀏覽目錄樹與檔案 。 因為路\*\*從Fly EDD Table從Files的作品看,這些目錄列表總是完美更新,因為ERDDAP™讓他們飛起來 如果您點擊目錄樹到實際的檔案名稱並點擊檔案名稱,ERDDAP™將會將您的請求重定向到 AWS S3, 以便您直接從 AWS 下載檔案 。 你可以檢查那份文件
麻煩? 如果您的 EDD Table 從檔案中不載入ERDDAP™ (或 DasDds 命令) ,查看 log.txt 檔案中的錯誤訊息。 如果你看到 java.lang。 非法引數例外: 設定檔檔案不能是無效錯誤, 問題是 AWS SDK 是 AWS SDKJava (使用ERDDAP) 找不到證件 參見上面的證件指示
AWS並非只允許人們使用瀏覽器查看公共桶的內容,
那你可以做ERDDAP™數據集讓使用者存取檔案中的資料。
注意指示ERDDAP™和 S3 桶 (以上) .
對於您在上面制作的 EDDTable FromFileNames 資料集樣本, 如果您在目錄樹上用目錄與檔案名稱做一點查詢的話, 上面的等級 目錄名稱很明顯 (例如ABI-L1b-RadC) 符合什么ERDDAP™會呼叫不同的數據集。 你工作用的桶可能差不多 您可以繼續在其中建立不同的數據集ERDDAP™使用,例如:
https://noaa-goes17.s3.us-east-1.amazonaws.com/ABI-L1b-RadC/
如<快取自Url> 。 不幸的是,對這個特別的例子來說,桶中的數據集似乎都是第1或第2關數據集,ERDDAP™ 不太擅長, 因為數據集是使用不同维度的變數的更複雜的集合 。
NcML 檔案
NcML 檔案讓您指定一個或多個原始來源的飛行變更NetCDF (v3 或 v4) .nc或.hdf (v4 或 v5) 檔案,然後有ERDDAP™治.ncml 檔案為來源檔案 。ERDDAP™數據集將接受.ncml 檔案隨時.nc需要檔案 。 NcML 檔案 MUST 有扩展名.nc嗯 看UnidataNcML 文件. NcML 有用, 因為可以用它做一些事情 (例如, 在收藏中對不同的檔案做不同的變更, 包括在檔案中新增一個有特定值的尺寸) 你做不到的ERDDAP是datasets.xml.
- 變更為a.ncml 檔案上一個變更的時間會使檔案在重新載入數據集時重新載入, 但會改變底部.nc資料檔案不會被直接注意到 。
- 提示: NcML 是\*非常\*敏感於 NcML 檔案中某些項目的排序 。 將 NcML 視為在指定的順序中指定一系列指令, 以改變來源檔案 (NcML 檔案的起始/ 上部的狀態) 輸入目的檔案 (NcML 文件末端/底端的狀態) .
NcML 的替代品是NetCDF操作員 (NCO) . 最大的區別是 NcML 是做飛行變 更的系統 (所以來源檔案沒有變更) ,而NCO可用于修改 (或新版本) 文件 都NCO而 NcML 是非常非常灵活的, 並且允許您對檔案做任何你能想到的變更 。 對此兩者來說, 確切地想出該怎麼做, 兩者都是编制NetCDF和HDF要使用的檔案ERDDAP特别是要做出超越ERDDAP操控系統可以
例 # 1: 加入單值的時間尺寸 這是.ncml 建立新外部尺寸的檔案 (時間, 1 值: 1041379200) 并將此維度加入檔案 A2003001. L3m\_DAY\_PIC\_pic\_4km.nc:
<netcdf xmlns='https://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2'>
<variable name='time' type='int' shape='time' />
<aggregation dimName='time' type='joinNew'>
<variableAgg name='pic'/>
<netcdf location='A2003001.L3m\\_DAY\\_PIC\\_pic\\_4km.nc' coordValue='1041379200'/>
</aggregation>
</netcdf>
示例 2 : 變更已存在的時間值 有時候 來源.nc檔案已經有時間尺寸和時間值, 但數值不正確 (你的目的) . 這個.ncml 檔案說: 關於名为""1981082523030-NCEI..."的數據檔,為尺寸變數"time", 設定單位屬性為自1970-01-01T0000:00Z的秒數, 定時值為367588800。
<netcdf xmlns='https://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2'
location="19810825230030-NCEI-L3C\\_GHRSST-SSTskin-AVHRR\\_Pathfinder-PFV5.3\\_NOAA07\\_G\\_1981237\\_day-v02.0-fv01.0.nc">
<variable name="time">
<attribute name='units' value='seconds since 1970-01-01T00:00:00Z' />
<values>367588800</values>
</variable>
</netcdf>
NetCDF操作員 (NCO)
"网易CDF運算器 (NCO) 包含十 幾個單一的指令行程式, 使用網絡CDF\[v3 或 v4\],HDF \[v4 或 v5\],\[.格里布 . bufr,\]和/或DAP文件作为輸入,然后操作 (例如, 產生新數據、 計算數據、 列印、 超音速板、 操控中繼資料) 以文字、二進制或 netCDF 格式輸出結果。NCO助推分析网格化的科學資料。 shell 命令樣式NCO讓使用者可以互動地操控和分析檔案, 或是用表達的文稿, (從NCO主頁) .
替代NCO是NcML. 最大的區別是 NcML 是做飛行變更的系統 (所以來源檔案沒有變更) ,而NCO可用于修改 (或新版本) 文件 都NCO而 NcML 是非常非常灵活的, 並且允許您對檔案做任何你能想到的變更 。 對此兩者來說, 確切地想出該怎麼做, 兩者都是编制NetCDF和HDF要使用的檔案ERDDAP特别是要做出超越ERDDAP操控系統可以
例如,你可以使用NCO以讓時間變數的單位在一系列檔案中一致, 或者,你可以使用NCO要應用scale\_factor和add\_offset在一组檔案中scale\_factor和add\_offset不同來源檔案中有不同的值 。 (或者你現在可以處理這些問題了ERDDAP™途EDDGrid來自 NcFiles 未包裝,是EDDGrid從NcFiles中解開打包的資料, 並且將時間值标准化到低等, 以便處理不同的收藏檔scale\_factor和add\_offset或不同的時空單位。)
NCO是使用此功能的 Free and Open source 軟體GPL 3.0駕照
例 # 1: 使單位一致
EDDGrid從檔案與 EDD 表格 Files 堅持指定變數的單位在所有檔案中都是相同的 。 如果一些文件是微不足道的 (沒有功能) 不同(例如:
自1970-01-01 00:00 UTC起的秒數
"seconds since 1970-01-01T00:00:00Z",您可以使用NCO是已分解變更所有檔案中的單位與
nco/ ncatted - a 單位, time, o, c, 自1970-01-01T00:00Z' QQ.nc
\[在EDDTable的很多問題中... 檔案資料集, 您現在可以使用标准化 什么要告訴ERDDAP將來源檔案在讀取時标准化ERDDAP.\]
數據集大小的限制
你可以看到下面有很多"20億"的提法 更准确的說就是2 147 483 647 (2^31-1) ,是32位簽署整數的最大值。 例如,在一些電腦語言中Java (其中ERDDAP™已寫入) ,那是可用于很多數據結構的最大數據類型 (例如, 陣列的大小) .
字符串值 (例如, 对于變數名稱、 屬性名稱、 字串屬性值和字串數值) ,每字串的最大字符數ERDDAP™是~20億. 但是在几乎所有的情況下 如果弦越過合理大小 就會有小問題或大問題 (例如,可變名稱和屬性名稱的80個字元,以及大多数字符串屬性值和數據值的255個字元) . 例如, 顯示長變數名稱的網頁會尷尬的寬度, 長變數名稱如果超过應答檔案類型的限值, 則會被切斷 。
网格化数据集 :
- 最大數量axisVariables是
20億. 最大數量dataVariables是20億. 但如果數據集有大于100個變數, 使用者使用會很累赘 。 如果數據集有>100万個變數, 您的伺服器會需要很多物理記憶體, 還有其他問題 。 - 每个尺寸的最大大小 (axisVariable) 是~20億值。
- 我想是最大的細胞總數 (所有尺寸的產品) 是无限的,但可能是~9e18。
表格数据集:
- 最大數量dataVariables是~20億. 但如果數據集有大于100個變數, 使用者使用會很累赘 。 如 果數據集有>100万個變數, 您的伺服器會需要很多物理記憶體, 還有其他問題 。
- 最大來源數量 (例如,文件) 總和是~20億
- 在某些情况下, 单个來源的最大行數 (例如,檔案,但不是數據庫) 是~20億列。
- 我不認為還有其他限制
對於網格化和表格化的數據集,對子集的大小有一些內部限制,使用者可以在一個要求中要求 (常常與大于20億或~9e18的東西相關) ,但使用者很有可能會碰到檔案類型的限定。
- NetCDF版本3.nc檔案只限 2GB 位元組 。 (如果這真的對某人有問題 就告訴我 我可以加入支持NetCDF版本3.nc64 位延伸或NetCDF第4版可以大幅提高限制,但不能无限。)
- 瀏覽器只在數據到 ~ 500MB 之後會崩溃, 所以ERDDAP™限制回覆到.htmlTable需要 ~400MB 的資料。
- 很多資料分析程序都有相似的限制 (例如,一個維度的最大大小常常是~20億值) ,因此没有理由努力打破檔案類型的特定限制。
- 檔案類型的限值是有用的, 因為它們可以防止天真地要求提供 真正巨大的數據 (例如,當數據集有 20TB 數據時, 「把所有的數據集都給我」) , 下載時間越長,
- 檔案類型特定限制有用, 因為它迫使使用者處理大小合理的子集 (例如, 經過檔案處理一個大型的網格化的數據集, 每個檔案都有一個時間點的數據) .
切換到 ACDD- 1.3
我們 (显著產生 DatasetsXml) 目前建議ACDD 版本 1.3於2015年初批准, 之前ERDDAP™1.62版本 (2015年6月公布) ,ERDDAP™已使 用/建議使用NetCDF數據集發現屬性常规被称作 "UnidataGlobal Conventions 中的數據集探索 v1.0"Metadata\_Conventions屬性。
如果您的數據集使用早期的 ACDD 版本, 我們建議您切換到 ACDD-1 。 不難 ACDD-1.3与1.0版本高度反向兼容. 要切換所有數據集 (但EDDGrid從 Erddap 和 EDD 表格 從 Erddap 数据集) :
- 移除新變更全局Metadata\_Conventions新增屬性 (或更改已存在的Metadata\_Conventions屬性)
<att name="Metadata\\_Conventions">null</att>
到數據集全局<addAttributes>. 2. 如果數據集在全局內有約定屬性<addAttributes>,全部更改 "Unidata數據集發現 v1.0"提到"ACDD-1.3". 如果數據集在全局沒有約定屬性<addAttributes>,然后添加提及ACDD-1.3的。 例如,
<att name="Conventions">COARDS, CF-1.6, ACDD-1.3</att>
3. 如果數據集有全局性standard\_name\_vocabulary屬性,請將 數值的格式變更為, 例如,
<att name="standard\\_name\\_vocabulary">CF Standard Name Table v65</att>
如果參考的是舊版本的CF 標準名稱表. 切換到目前的版本可能是個好主意 (65,我們寫這個) , 因為新的標準名稱會加上之後的版本, 但舊標準名稱很少被贬低, 從未移除 。 4. 尽管 ACDD- 1.0 包含全局屬性creator\_name,creator\_email,creator\_url,產生 DatasetsXml直到某天才自動加入ERDDAP™v1.50. 這是重要的資訊:
- creator\_name讓使用者知道/ 刻錄數據集的建立者 。
- creator\_email告訴使用者要聯絡數據集建立者的首選電子郵件位址, 例如他們對數據集有疑問 。
- creator\_url讓使用者有辦法了解更多創始者。
- ERDDAP™在生成 FGDC 和 ISO 19115-2/19139 元数据文件時使用所有此資訊 。 外部搜尋服務常使用這些文件。
請將這些屬性加入數據集的全局性<addAttributes>.
<att name="creator\\_name">NOAA NMFS SWFSC ERD</att>
<att name="creator\\_email">erd.data@noaa.gov</att>
<att name="creator\\_url">https://www.pfeg.noaa.gov</att>
好了 我希望那不會太難
扎爾
截至2.25版本ERDDAP™可以讀取本地端 使用 Zarr 文件NcFiles 的 EDD 表格和EDDGrid來自 Nc 檔案.
(截至2019年8月) 我們很容易就錯了,但我們還不相信扎爾或類似系統將數據檔案分解成小塊,ERDDAP™如亞馬遜AWS S3等在雲端服務中儲存的讀取資料 。 Zarr是個很棒的技術 它在各种情況下很有用 我們只是不能確定ERDDAP+S3是其中之一。 讓我們做一些測試 看看這是否是更好的解決方案。
在云中存取數據的問題是暫時性的 (第一次取得資料的滞后) 和檔案關卡存取 (而不是封鎖關卡存取) . Zarr 解決了檔案關卡存取問題, 但對暫時性卻不做任何決定 。 比起只是下載檔案 (因此可以讀取為本地檔案, 有區塊關卡存取功能) , Zarr 可能甚至會使暫時問題更嚴重, 因為用 Zarr , 讀取檔案現在涉及一系列的呼叫來讀取檔案的不同部分 (每個都有自己的後退) . 暫時的問題可以通过同步要求來解決,
和扎爾 (關聯資料庫) , 我們失去了讓數據檔案成為一個簡單的單一檔案的方便性, 您可以輕易地驗證其完整性, 或是做/ 下載複本 。
ERDDAP™ (截至v2) 有一個系統來維持 URL 來源的本地檔案缓存 (例如,S3) (參考[<取自Url > 及<缓存MaxGB >] (牧羊人) ). 而新的<nthreads >] (正弦) (無線索) 以相當於高水平的資料检索,<FromUrl 的缓存對很多情形都非常有效 。 (我們不知道有多有益)<nThreads > 已不做进一步的測試。 ) 我們承認我們沒有做過AWS實驗, 而且ERDDAP是<快取 FromUrl > 工作於任何類型的資料檔 (例如,.nc,.hdf,csv,.jsonlCSV) ,即使外部压缩 (例如,.gz) ,檔案沒有變更 (例如, 重寫為 Zar 收藏) .
不同的方案可能會支持不同的解決方案, 例如, 只需要讀取檔案的一部分一次 (Zarr會贏的) , vs. 需要讀取所有檔案一次, vs. 需要讀取部分或所有檔案的次次次(<來自Url的快取會贏 。
讓我們做一些測試 看看這是否是更好的解決方案。
-
- –
類型數據集列表
如果您需要幫助選擇正確的數據集類型, 請參考選擇數據集類型.
數據集的類型分为兩類 。 (為什麼?)
EDDGrid
- EDDGrid 數據集處理網格化的資料。
有一些子類有附加的限制(尤其是,EDDGrid聚合的分量要求外( 最左, 第一個) 維度要上升 。
未分類的維度數值 几乎總是表示來源數據集的問題 。 這最常發生於集合中包含一個錯名或不適當的檔案, 這會導致無類型的時間維度 。 要解決此問題, 請參考ERDDAP™找到冒犯時間值的log. txt 檔案 。 然後在來源檔案中查找对应的檔案 (之前或之后) 這不屬於集合。
- 更完整的描述EDDGrid資料模型.
- 其EDDGrid數據集類型是 :
- EDDGrid來自奧迪奧檔案集合本地音效檔案的資料 。
- EDDGrid從 Dap 中處理從DAP伺服器。
- EDDGrid從 EDD 可讓您將表格数据集轉換成網格化的数据集 。
- EDDGrid來自 Erddap處理遠端的網格化資料ERDDAP.
- EDDGrid來自 Etopo只是處理內置的ETOPO地形資料
- EDDGrid從檔案是一切的超級EDDGrid從...
- EDDGrid來自 MorgeIRFiles集合本地端群組的資料.gz文件 。
- EDDGrid來自 Nc 檔案集合本地群組的資料NetCDF (v3 或 v4) .nc和相關檔案。
- EDDGrid來自 NcFiles 未包裝如果EDDGrid來自 NcFiles , 此檔案也汇集了本地群組的資料NetCDF (v3 或 v4) .nc及相關檔案, 其中ERDDAP™放在低層
- EDDGrid龍PM180修改孩子的經度值EDDGrid所以他們在180到180之間。
- EDDGrid朗0360修改孩子的經度值EDDGrid以便他們在0到360之間。
- EDDGrid侧邊邊總和 2 或以上EDDGrid相邻的數據集。
- EDDGrid聚合總和 2 或以上EDDGrid數據集,每套都有不同的第一維值範圍,但其他維值相同。
- EDDGrid复制可以在本地复制另一個EDDGrid本地副本中的資料及服務 。
- 全部EDDGrid數據集支援 nThreads 設定, 它告訴ERDDAP™應答要求時要使用多少線程 。 看n 串详细文件。
EDD 表格
- EDD 表格 數據集處理表格資料。
- 表格資料可以表示為類似資料庫的表格,有行和列。 每列 (數據變數) 有一個名稱, 一组屬性, 只儲存一種資料 。 每列都有觀察 (或相關數值群) . 資料來源可能有不同的資料結構、更複雜的資料結構和/或多個資料檔案,但ERDDAP™需要將來源資料平整成類似資料庫的表格,以便将資料作为表格數據集提交使用者。ERDDAP.
- 更完整的描述EDDTable 資料模型.
- EDDTable 数据集類型為:
- All Datasets 的 EDD 表格是高級的數據集, 它有您所有其它數據集的資訊ERDDAP.
- Ascii 檔案中的 EDD 表格從逗號、 分號、 分號、 或空間分隔的 ASCII 資料檔中汇总資料 。
- Ascii 服務的 EDD 表格是所有 EDD Table From Ascii Service 課的超級
- Ascii Servicicenos 的 EDD 表格處理一些NOAANOS網絡服務.
- AudioFiles 的 EDD表集合本地音效檔案的資料 。
- 從 EDD 表格 AwsXml 檔案自動氣象站的資料集合 (阿WS) XML 文件 。
- 來自卡桑德拉的EDD表處理 Cassandra 表格中的表格資料。
- ColumnarAscii 檔案中的 EMD 表格總結表格 ASCII 資料檔中的有固定width 資料列的資料。
- 從 DapSequence 的 EDD 表格處理來自DAP序列伺服器。
- 數據庫中的 EDD 表格操作一個數據庫表中的表格資料。
- 從 EDD 表格EDDGrid讓您從 :EDDGrid數據集。
- EDD 表格來自 Erddap處理遠端的表格資料ERDDAP.
- 檔案名稱中的 EDD 表格從伺服器檔案系統中的一组檔案的資訊建立數據集, 但是它不服務檔案內的資料 。
- 檔案中的 EDD 表格是從...
- 從 HttpGet 的 EDD 表格是ERDDAP只有資料匯入和資料匯出系統 。
- 從 EDD 表格Hyrax文件 (已刪除) 總合檔案中的數個變數的數據Hyrax OPeNDAP伺服器.
- 來自 InvalidCRA 檔案的 IDD 表格總和資料來自NetCDF (v3 或 v4) .nc使用 CF DSG 相關列的變體的檔案 (CRA 磁碟) 文件。 雖然ERDDAP™支援此檔案類型, 是無效的檔案類型, 沒有人可以開始使用 。 目前使用此檔案類型的群組被強烈鼓勵使用ERDDAP™以產生有效的 CF DSG CRA 檔案, 並停止使用這些檔案 。
- JsonlCSV 檔案中的 EDD 表格總和資料來自杰森 行 CSV 文件.
- 多晶格檔案的 IDD 表格總和資料來自NetCDF (v3 或 v4) .nc包含若干個有共享尺寸的變數的檔案。
- NcFiles 的 EDD 表格總和資料來自NetCDF (v3 或 v4) .nc包含若干個有共享尺寸的變數的檔案。 繼續使用此數據集的類型可以, 但對於新的數據集, 我們建議使用 EDD Table From MultidimNcFiles 。
- 来自 NcCFF 的 EDD 表格總和資料來自NetCDF (v3 或 v4) .nc使用檔案格式的檔案CF 分解采样 (副秘书长) 公约。 但對使用多面性 CF DSG 變體之一的檔案,使用多晶格檔案的 IDD 表格相反。
- Nccsv 檔案中的 IDD 表格總和資料來自NCCSV 檔案ASCII.csv 檔案.
- EDD 表從NOS (已刪除) 處理 NOS XML 伺服器的表格資料。
- 排泄物表處理 OBIS 伺服器的表格資料。
- Parquet 檔案的 EMD 表格處理來自平面.
- 從 EDD 表格SOS處理來自SOS伺服器。
- 來自垃圾的 EDD 表格 (已刪除) 總合檔案中的數個變數的數據土 石OPeNDAP伺服器.
- 從 EDD 表格WFS文件 (已刪除) 做一個本地複製所有資料ArcGIS映射伺服器WFS伺服器使數據能很快重新保存到ERDDAP™使用者。
- EDD 表格外加通道可以從群組的 EDD Table 資料組中建立 EDD Table 数据集 。
- EDD 表格可以在本地端复制許多類型的 EDDTable 数据集, 然后從本地端的複製中快速重新保存資料 。
-
- –
數據集類型的详细说明
EDDGrid從 Dap 中
EDDGrid從 Dap 中 處理格子變數DAP伺服器。
- 我們強烈建議使用產生達塔斯 Xml 程式作粗略的草案datasets.xml此數據集的區塊 。 您可以收集您需要的資訊來調整, 或是建立自己的 XML 。EDDGrid從Dap 資料集看來, 來查看您的瀏覽器裡的來源數據集的 DDS 與 DAS 檔案 (加上 .das 和 .ddssourceUrl例如, https://thredds1.pfeg.noaa.gov/thredds/dodsC/satellite/BA/ssta/5day.dds ) .
- EDDGrid從 Dap 中可以從任何多維變數中取得資料DAP資料伺服器 。 (前身EDDGridFromDap 只限於指定為「 格麗德」 的變數, 但這已不再是條件 。)
- 排序尺寸值 - 每個維度的數值必須排序 (升降) . 數值可以不规则的間距 。 不能有領帶。 要求CF 中繼資料標準. 如果任何維度的數值沒有排序,數據集不會被載入,ERDDAP™表示日志文件中第一個未排序的值, 大家长會 /日志/log.txt.
未分類的維度數值 几乎總是表示來源數據集的問題 。 這最常發生於集合中包含一個錯名或不適當的檔案, 這會導致無類型的時間維度 。 要解決此問題, 請參考ERDDAP™找到冒犯時間值的log. txt 檔案 。 然後在來源檔案中查找对应的檔案 (之前或之后) 這不屬於集合。
EDDGrid從 Dap 骨架 XML
<dataset type="EDDGridFromDap" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1.
For EDDGridFromDap, this gets the remote .dds and then gets the new
leftmost (first) dimension values. -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<axisVariable>...</axisVariable> <!-- 1 or more -->
<dataVariable>...</dataVariable> <!-- 1 or more -->
</dataset>
EDDGrid從 EDD 可
EDDGrid從 EDD 可 讓您將 EDD Table 表格数据集轉換成EDDGrid网格化的數據集 。 記住ERDDAP™將數據集視為网格化的数据集 (子類EDDGrid) 表格数据集 (EDD 表格子類) .
- 通常,如果你有網格化的數據, 你只是設置了一個EDDGrid直接數據集。 有時這是不可能的 例如當你把數據儲存在 關聯數據庫裡時ERDDAP™只能通過 EDD Table 從數據庫存取 。EDDGrid從EDDable課上可以讓你改變這種情況
- 顯然,根據 EDDTable 数据集中的資料必須是 (基本上) 網格化的數據, 但以表格形式。 例如, EDDTable 數據集可能有 CTD 資料: 東向和北向流的測量, 在數個深度, 有數次 。 因為每個時點的深度都一樣EDDGrid從 EDDTable 中可以建立有時間和深度的網格化的數據集, 通过基本的 EDDTable 数据集存取資料 。
- 產生達塔斯 Xml -- 我們強烈建議使用產生達塔斯 Xml 程式作粗略的草案datasets.xml此數據集的區塊 。 你可以收集你需要的資訊來改善粗略的草稿。
- 來源屬性 - 和其他所有的數據集一樣EDDGrid從表格中可以找到全球源屬性全球addAttributes (指定于datasets.xml) , 屬性, 是使用者看到的 。 全球源屬性,EDDGrid從 EDDTable 使用全局合併 基本 EDDTable 数据集的屬性 。 (如果你想一想,那就合理了)
同样,每份axisVariable和dataVariable是addAttributes,EDDGrid從 EDDTable 中使用變數的總和 根據 EDDTable 資料集的屬性EDDGrid從 EDDT 可變化的來源屬性 。 (如果你想一想,那就合理了)
因此,如果 EDD Table 有好的中繼資料,EDDGrid從EDDable 通常不需要很多addAttributes中繼數據 - 只是一些微調 這里和那裡。
-
dataVariables 對axisVariables -- 根據 EDD表只有dataVariables. 安EDDGrid從 EDDT 可讀數據集會有一些axisVariables (從一些 EDD 表格建立dataVariables) 和一些dataVariables (從剩下的 EDD 表格建立dataVariables) .產生 DatasetsXml會猜到哪個EDD表dataVariables 應該成為EDDGrid從 EDD 可axisVariables,但這只是一個猜測。 您需要修改 GenerateDatasetsXml 的輸出以指定哪個dataVariable將會變成axisVariables,按何顺序排列.
-
轴數值 - 根據EDD表沒有什麼可說的EDDGrid可從 EDDD 中分解axisVariables 在數據集的網格化版本中,所以您要提供每一個的資訊axisVariable通過其中一個屬性 :
- 轴數值 -- 讓您指定一個數值清單。 例如, <姓名="轴值"類型="雙倍數"2、2.5、3、3.5、4</at > 注意使用a資料型態加上名單 另外,列表的類型 (例如,雙倍) ,必須匹配數據 EDD 表格中的變數型態EDDGrid來自 EDDD 数据集 。
- 轴式ValuesStartStrideStop - 讓您指定一個定期間距的數值序列, 指定開始、 速度和停止數值 。 以下是一個相当于以上轴數的例子: <atname="轴式ValuesStartStop"類型="雙倍數"\>2, 0.5, 4</at > 注意使用列表資料型態 。 另外,列表的類型 (例如,雙倍) ,必須匹配數據 EDD 表格中的變數型態EDDGrid來自 EDDD 数据集 。
更新 -- 就像沒有辦法EDDGrid從 EDDTable 開始可以決定 EDD Table 的轴數值, 也不存在可靠的方法EDDGrid從 EDDD 可從 EDD 表格中确定轴數值已變更 (特別是當時間變數有新值時) . 目前,唯一的解決辦法是改變轴數值屬性datasets.xml重新載入數據集。 例如,你可以寫作文稿到
- 搜尋datasets.xml用于 datasetID=". 數據集ID " 所以你正在用正確的數據集工作
- 搜尋datasets.xml下一次
變數來源Name
所以你是和正確的變數合作 - 搜尋datasets.xml下一次
<att name="axisValuesStartStrideStop" type="doubleList">
所以你知道標籤的起始位置 4. 搜尋datasets.xml下一次
</att>
所以你知道轴值的終端位置 。 5. 以新值取代舊的開始、 踩踏、 停止值 。 6. 聯繫國旗網址要顯示的數據集ERDDAP™重新載入數據集。
這不理想,但很有效
- 精度 - 什麼時候EDDGrid從 EDDTable 中回應使用者的數據要求, 將一行數據從 EDDTable 回應表移到EDDGrid應答網格。 要做到這一點, 它必須弄清楚表格 中指定列上的"轴"值是否匹配格子中的一些轴值组合 。 对于整數數數型態, 很容易确定兩個數值是否相等 。 但對浮點數和雙重數來說 這引發了浮點數的可怕問題不完全匹配. (例如,0.2比0.19999999999996) . 至 (試著) 處理這件事EDDGrid從表格中指定任何axisVariables, 指定十進位數字的總數, 必須是相同的 。
- 例如,<atname=“ 精度” 型態=“ int” > 5</at >
- 对于不同類型的數據變數,有不同的預設精度值. 缺省數通常是适当的 。 如果不是,你需要指定不同的值。
- 為axisVariable是時間或時間 印表變數,默认值是完全精确的 (完全匹配) .
- 為axisVariables是浮點,默认精度是5
- 為axisVariables是雙倍,默认精度是9
- 為axisVariables 有整數位數類型,EDDGrid從 EDDTable 忽略精度屬性, 總是使用全精度 (完全匹配) .
- 警告! 如果EDDGrid從 EDDTable 無法將 EDD Table "轴" 值匹配到期望的值之一EDDGrid從 EDDD 轴值,EDDGrid悄悄地從EDDD (沒有錯誤) 從表格的那一行丟棄數據。 例如,可能還有其他資料 (不在網格上) 。 (若步步 > 1,這不明顯EDDGrid從表格中, 哪些是想要的數值, 哪些是需要跳過的數值 。) 所以, 如果精度值太高, 使用者會在數據回應中看到錯誤的值, 當有效的數值實際存在時 。
反之, 如果精度值定得太低, EDD Table "轴" 值不應該符合EDDGrid從 EDDD 可切換轴值會 (錯誤的) 匹配。
這些潛在的問題很可怕 因為使用者得到的資料是錯的 (缺少值) 當他們得到正確的數據 (或至少是錯誤的消息) . 這不是瑕疵EDDGrid從表。EDDGrid從表格上看 解決不 了這個問題 此問題在表格資料轉換成網格資料中是內在的 (除非可以做其他的假設 但不能在這裡做) . 由你決定ERDDAP™管理者,到 測試你的EDDGrid完全從 EDDT 可 避免這些可能存在的問題。
缺口
- 缺口-- 這是非常不尋常的數據集 由于可以查詢的類型 (由) aEDDGrid数据集 (和速度axisVariables) 和可以查詢的類型非常不同 (由) EDD表格数据集 (只是和一些變數的範圍有關) ,EDDGrid從 EDDTable 數據集會因所提出的确切要求和基本 EDD Table 數據集的速度而大相径庭。 需要速度 1,EDDGrid從 EDDTable 可要求根據 EDD Table 取得相當大塊的數據 (好像步速=1) 並且將數據從某些行中移走 如果它需要筛选很多資料才能得到它需要的資料,那么要填充要求需要更久.
如果EDDGrid從 EDDable 中可以看出會有巨大的缺口 (有不想要的資料列) 包含想要的數據的列之間,EDDGrid從 EDDTable 可以選擇向根據 EDD Table 提出若干次子要求, 而不是一個大要求, 从而跳過大差距中不想要的數列資料 。 此決定的灵敏度受以下<隔離範圍 > 標籤 (預設值=1000列來源資料) . 設置隔阂範圍至更小的數字會導致數據集的建立 (一般) 更多的子要求。 設置空白值至更大的數量會導致數據集的建立 (一般) 更少的子要求。
如果缺口太小EDDGrid從 EDDTable 可操作得更慢, 因為多項要求的间接费用會比過些過量數據而节省的時間更大 。 如果缺口太大了EDDGrid從 EDDTable 中會更慢地運作, 因為會從 EDD Table 中取取出太多的過量資料, 只會被丟棄 。 (正如Goldilocks發現的 中間是"正確的") 不同類型的 EDDTable 資料集的间接费用相差很大, 所以要知道您數據集的实际最佳設定, 唯一的方法就是實驗 。 但你不會犯太過錯的 繼續遵守規定
一個簡單的例子是:EDDGrid從桌上只有一個axisVariable (時間, 大小為 100 000) 一dataVariable (溫度) ,和1000的缺省值。
- 如果使用者要求溫度\[0💯5000\]速度是100,所以差距大小是99, 低于差距。 所以EDDGrid從表格中只會對 EDDTable 提出一個要求, 要求所需的所有資料 (等於溫度\[0: 5000\]) 扔掉它不需要的所有數據
- 如果使用者要求溫度\[0:2500:5000\]步數是2500 所以空隙大小是2499 比空隙安全帶大 所以EDDGrid從表會分別向 EDD Table 提出與溫度等效的要求\[0\]溫度\[2500\]溫度\[5000\].
當有多根斧頭時, 空隙大小的計算更複雜 。
每一個使用者要求,EDDGrid由 EDDT 列印與此相關的診斷訊息log.txt文件。
- 如果[<日志水平>] (# 日志) indatasets.xml被設定為資訊, 此列印信件如 =========== 如果 nOuterAxes = 0, 空間範圍沒有被突破, 只有一個要求會被提交到 EDD Table 。 如果 nOuterAxes > 0 , 空間範圍被突破, 而 nOuter 要求會被寫入 EDD Table , 對应于最左邊的 nOuterAxes 的每個要求的组合 。 例如, 如果數據集有 4axisVariable和dataVariable就像往東\[時間\]\[纬度\]\[经度\]\[深度\]左邊 (第一) 轴變數是時間 。
- 如果<日志水平 > indatasets.xml已設定到全部, 附加資訊會寫入log. txt 檔案 。
EDDGrid從 EDDD 骨架 XML
<dataset type="EDDGridFromEDDTable" datasetID\="..." active\="..." >
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1.
For EDDGridFromEDDTable, this only works if the underlying EDDTable
supports updateEveryNMillis. -->
<gapThreshold>...</gapThreshold> <!-- 0 or 1. The default is 1000. >
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<axisVariable>...</axisVariable> <!-- 1 or more -->
<dataVariable>...</dataVariable> <!-- 1 or more -->
<dataset>...</dataset> <!-- The underlying source EDDTable dataset. -->
</dataset>
EDD* 從ERDDAP
EDDGrid來自 Erddap 處理遠端的網格化資料ERDDAP™伺服器。 EDD 表格來自 Erddap 處理遠端的表格資料ERDDAP™伺服器。
- EDDGrid從 Erddap 和 EDDTable From Erdddap 中與所有其他類型的數據集的行為不同ERDDAP.
- 和其他類型的數據集一樣,這些數據集從來源取得數據集的資訊,並保存在內存中.
- 和其他類型的數據集一樣,ERDDAP™搜尋數據集,顯示資料存取表 ( datasetID .html) ,或顯示 Make A 圖表 ( datasetID 圖片) ,ERDDAP™使用內存中的數據集的資訊。
- EDDGrid從 Erddap 和 EDD 表格 以Erddap为基础网格/群組/联邦四,ERDDAPs, 高效分配 CPU 使用量 (大多是做地圖用的) 、 大數據中心的內存用量、 數據庫和帶寬用量 。
重定向
- 和其他類型的數據集不同,ERDDAP™接收從這些數據集取得數據或影像的要求,ERDDAP 重定向要求到遠端ERDDAP™伺服器。 其结果是:
- 這很有效率 (CPU、內存和帶寬) 因為不然
- 复合材料ERDDAP™必須把要求寄給另一個人ERDDAP™ (需要時間) .
- 其他ERDDAP™必須取得數據, 重新格式化, 並傳送數據到合成器ERDDAP.
- 复合材料ERDDAP™必須接收資料 (使用寬度) 重塑它 (使用 CPU 與內存) ,並傳送資料到使用者 (使用寬度) . 重新定向要求并允許其他要求ERDDAP™將回應直接傳送使用者、 复合體ERDDAP™基本上不花 CPU 時間、 記憶體或帶寬 。
- 重定向對使用者透明, 不管客戶端軟體如何 (瀏覽器或任何其他軟體或命令行工具) .
- 這很有效率 (CPU、內存和帶寬) 因為不然
- 你看得出來ERDDAP™不以設定來重定向任何使用者的要求<重定向 > 假設</ redirect > , 但這否定了... From Erdddap dataset 類型的大部分優點 (主要是在前端消散ERDDAP™到遠端/ 后端ERDDAP) .
訂閱
通常,當EDDGrid從 Erddap 和 EDD 表格 來自Erddap是 (re) 裝入您的ERDDAP,他們試著透過遙控器加入遠端數據集的訂閱ERDDAP'email/ URL 訂閱系統 。 如此一來,每當遠端數據集變化, 遠端ERDDAP™聯絡人設定數據集 標籤網址在你的ERDDAP™讓本地端的數據集重新載入 ASAP , 讓本地端的數據集總是完全更新並模仿遠端數據集 。 所以,這第一次發生,你應該得到一封電子郵件, 要求您驗證訂閱。 然而,如果當地人ERDDAP™無法發送電子郵件, 或是遙控器ERDDAP電子郵件/ URL 訂閱系統未啟用, 您應該發送遠端ERDDAP™管理員及要求手動新增 s/he [<變更 > ] (改變) ...<切換到所有相關數據集的標籤以呼叫您的數據集設定數據集 旗標網址. 看你的ERDDAP™套件清單的每日報告 Flag 網址, 但只要傳送EDDGrid從 Erddap 和 EDDTable 從 Erddap 資料集到遠端ERDDAP™管理者。
這樣不行嗎? 您的本地資料集是否與遠端資料集不同步 ? 數件事情都必須正确運作 才能讓您的數據集保持更新 檢查其中的每件事物
- 你的ERDDAP™必須可以發送電子郵件 。 在您的設定中參考電子郵件設定 。
- 一般 (但不是總是) 你的ERDDAP是<基底Url > 和<基底 HttpsUrl > 不一定有連接埠號碼 (例如:8080、8443) . 如果有,就用代理通道移除 Url 的端口。
- 在你的設備.xml,<訂閱至 RemoteErddapDataset > 必須設定為真 。
- 當你當地的EDD... 從 Erddap 資料集重新載入, 它應該向遠端傳送要求ERDDAP™以訂閱遠端數據集。 在log.txt中查看是否發生了這事。
- 你應該收到一封電子郵件, 請您驗證訂閱要求 。
- 您必須點擊電子郵件中的連結來驗證訂閱要求 。
- 遙控器ERDDAP™應該說驗證是成功的 您可以隨時要求遠端的郵件ERDDAP™包含您待定且有效的訂閱清單 。 查看表格 遠端 ErddapBase 網址 /erddap/訂閱/list.html.
- 當遠端數據集變更時 (例如,取得其他資料) 遙控器ERDDAP™應該試著聯繫您的旗手ERDDAP. 你不能檢查這個, 但你可以問遙控器的管理員ERDDAP™看這個
- 你的ERDDAP™應該收到建立旗手的請求 請在您的日志中查看「 setDatasetFlag.txt 」 。 (s) , 看看是否有與要求相關的錯誤訊息 。
- 你的ERDDAP™重新載入數據集 (也許不是馬上,而是盡快) .
最新最大值 (時間) ?
EDDGrid/ Table FromErddap 資料集只會變更每套來源資料的儲存資訊 。"重載"和一些元数据變更 (例如,時間變數的actual\_range) ,从而生成 订阅通知。 如果來源數據集的資料常有變更 (例如,每秒新增數據) 使用"更新"系統以注意到基底資料的频繁變更,EDDGrid/ Table FromErdddap 在下一個數據集"重載"之前不會被通知這些常見的變更,所以EDDGrid來自Erddap的表格不會完全更新 您可以變更來源數據集, 以最小化此問題 。<重新載入 EveryNiminutes > 至小數值 (60?) 以便有更多訂閱通知告知EDDGrid/ Table FromErddap 來更新它關於來源数据集的信息 。
或者,如果你的數據管理系統知道來源数据集有新的數據 (例如, 透過複製資料檔案的文稿) 如果不是太频繁 (例如,每5分鐘,或频率较低) 有更好的辦法
- 不要用<更新 EveryNMillis > 以保持源資料集的更新 。
- 設定來源数据集<重新載入 EveryNminutes > 到更大的數字 (1440年?) .
- 讓文稿聯繫來源数据集國旗網址复制到新資料檔後立即建立 。
這會使來源數據集完美更新, 使其產生訂閱通知, 會傳送至EDDGrid/ Table from Erddap 資料集。 那會導致EDDGrid/ Table from Erddap 資料集要完美更新 (5秒內新增資料) . 以及所有能有效做到的事 (不需要重新載入數據集) .
不addAttributes,axisVariable,或dataVariable
和其他類型的數據集不同, EDDTable FromErddap 和EDDGrid來自 Erddap 的數據集不允許全球<addAttributes>,<axisVariable& gt;, 或<dataVariable在 & gt; 區段datasets.xml那套數據 問題是,
- 假 設它被允許了 而你又增加了新的全球屬性
- 當使用者問您ERDDAP™新的屬性會出現。
- 但當一個用戶問你ERDDAP™您的資料檔案ERDDAP™將要求重定向到來源ERDDAP. 那ERDDAP™未知新的屬性。 所以如果它會建立一個有中繼資料的資料檔, 例如 a.nc檔案中,元数据將沒有新的屬性。
有兩條路要走:
- 相信源碼的管理者ERDDAP™以修改元数据。
- 而不是 EDD Table from Erddap, 使用從 DapSequence 的 EDD 表格. 或代替EDDGrid來自 Erddap, 使用EDDGrid從 Dap 中. 這些 EDD 類型可以讓您高效連接到遠端的數據集ERDDAP™ (但不重定向數據要求) 他們允許你加入全球<addAttributes>,<axisVariable& gt;, 或<dataVariable在 & gt; 區段datasets.xml. 另一個不同: 您需要手動訂閱遠端數據集, 以便您的數據集ERDDAP™已通知 (通過國旗網址) 遠端數據集有變更。 因此, 您正在建立新的數據集, 而不是連接到遠端數據集 。
其他附注
- 出于安全原因EDDGrid從 Erddap 和 EDD 表格 從Erddap不支持<可存取到 >] (# 无障碍) 標籤和無法用於需要登入的遠端數據集( 因為它們使用 [S]<可存取到 >] (# 无障碍) .. 看ERDDAP是安保制度限制某些使用者存取一些数据集。
- 從開始ERDDAP™v2.10,EDDGrid從 Erddap 和 EDD Table 從 Erddap 支持 [<可存取ViaFiles >] (#可以存取的檔案) 标记。 和其他類型的數據集不同, 預設是真實的, 但只有來源數據集也有, 數據集的檔案才能存取ViaFiles<可存取的ViaFiles > 設定為真。
- 你可以使用產生達塔斯 Xml 程式制作datasets.xml此數據集的區塊 。 但你可以輕易地手動做這些類型的數據集.
EDDGrid來自 Erddap 骨架 XML
- EDDGrid來自 Erddap 骨架 XML 數據集非常簡單, 因為其用意只是模仿已適用於ERDDAP:
<dataset type="EDDGridFromErddap" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<accessibleViaFiles>...</accessibleViaFiles> <!-- 0 or 1, default=true. -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1
For EDDGridFromErddap, this gets the remote .dds and then gets
the new leftmost (first) dimension values. -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<redirect>true(default)|false</redirect> <!-- 0 or 1; -->
</dataset>
EDD 表單來自 Erddap 骨架 XML
- 用于 EDDTable FromErdddap 數據集的骨架 XML 非常簡單, 因為其用意只是模仿遠端數據集, 它已經適用於ERDDAP:
<dataset type="EDDTableFromErddap" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<addVariablesWhere>...</addVariablesWhere> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<redirect>true(default)|false</redirect> <!-- 0 or 1; -->
</dataset>
EDDGrid來自 Etopo
EDDGrid來自 Etopo 只要服侍ETOPO1 全球 1- Minute 嵌入梯形數據集 (冰面, 已登記的格子, 二字節, 2字節整數 : etopo1===ice\_g\_i2.zip) 以ERDDAP.
- 只有兩個datasetIDs 支援於EDDGrid從Etopo, 您可以存取經度值 -180 到 180, 或是經度值 0 到 360 的資料 。
- 從來沒有子標籤, 因為數據已經在其中描述ERDDAP.
- 所以兩個選擇EDDGridEtopo 数据集是 (字面上) :
<!-- etopo180 serves the data from longitude -180 to 180 -->
<dataset type="EDDGridFromEtopo" datasetID="etopo180" />
<!-- etopo360 serves the data from longitude 0 to 360 -->
<dataset type="EDDGridFromEtopo" datasetID="etopo360" />
EDDGrid從檔案
EDDGrid從檔案 是一切的超級EDDGrid從... 你不能用EDDGrid從檔案直接。 取而代之的是使用EDDGrid從檔案來處理特定檔案類型 :
- EDDGrid來自 MorgeIRFiles處理网格上的資料合併.gz文件。
- EDDGrid來自奧迪奧檔案集合本地音效檔案的資料 。
- EDDGrid來自 Nc 檔案處理网格上的資料GRIB 灰姑娘文件,HDF (v4 或 v5) .hdf文件,.nc毫升文件,以及NetCDF (v3 或 v4) .nc文件。 這可能會和其他檔案類型一起工作 (例如,BUFR) 我們只是還沒測試過 如 果你有興趣 請給我們一些樣本文件
- EDDGrid來自 NcFiles 未包裝是EDDGrid從 NcFiles 處理網格化資料NetCDF (v3 或 v4) .nc及相關檔案, 其中ERDDAP™放在低層
目前, 不支援其他檔案類型 。 但加入其他檔案類型的支援通常相对容易. 有要求就聯繫我們 或者,如果你的資料是以舊的檔案格式寫成的,而你想離開,我們建議轉換檔案NetCDFv3.nc文件。NetCDF是一种廣泛支持的二進制格式, 允許快速隨機存取資料, 而且已經得到ERDDAP.
從檔案詳情
下列信息适用于以下所有子類:EDDGrid來自檔案
现有维度的聚合
所有變式EDDGrid從 Files 中可以將本地檔案的資料聚合, 每份文件都有 1 (或更多) 最左端的不同值 (第一) 尺寸,通常\[時間\],將汇总。 例如,尺寸可能是\[時間\]\[高度\]\[纬度\]\[经度\],而且檔案中可能有其中一個的數據 (或數) 時間值 (s) 每份文件。 結果的數據集似乎已將檔案的所有數據合并 。 集合的主要优点是:
- 集合數據集的大小可以比一個檔案大得多 。 (~2GB) .
- 对于近实时的資料, 很容易新增一個包含最新數據的檔案 。 你不用重寫整套資料
汇总要求如下:
- 本地檔案不需要相同dataVariables (中datasets.xml) . 數據集會有dataVariables 定義于datasets.xml. 如果指定的檔案沒有指定dataVariable,ERDDAP™。
- 全部dataVariables 使用相同的axisVariables/二 (中datasets.xml) . 檔案將依第一個 (最左) 維度, 按升序排序 。
- 每個檔案可能都有第一個維度的一個或多個數值的資料, 但檔案之間不能有任何重複 。 如果檔案對第一維度有不止一個值, 數值會依次排序, 沒有連結 。
- 所有檔案對其它所有維度的數值都完全相同 。 測試的精度由匹配轴數.
- 所有檔案都完全相同單位全部中繼資料axisVariable和dataVariables. 如果有問題, 你可以使用NcML或NCO解決問題
通过檔案名稱或全局元数据聚合
所有變式EDDGrid從檔案中也可以新增最左邊的檔案群組 (第一) 維度, 通常是時間, 基於從每個檔名中產生的數值或從每個檔案中一個全局屬性的數值中產生的數值 。 例如, 文件名可能包含檔案中資料的時間值 。ERDDAP™然后創造新的時間維度
與THREDDS中的相似功能不同,ERDDAP™總是建立axisVariable有數值 (按CF要求) 字串值 (CF 不允許的) . 而且,ERDDAP™將根據數據於數據來排序集合中的檔案axisVariable指定於每個檔案的值, 這樣轴變數就會一直有 CF 需要的排序值 。 THREDDS 方法在檔案名稱的基础上做個詞典排序, 導致集合 。 (CF 不允許的) 檔案名稱排序與來源不同axisVariable值。
建立其中一個集合ERDDAP™,您會定義新的最左邊 (第一) axisVariable有特殊,假的<sourceName>, 也就是說ERDDAP™從每個檔案中找到新維度值的地方和方式 。
- 假名的格式sourceName從檔案名中获得數值 (只是文件名.ex) 是 \\~ 檔案Name 資料 類型 , 提取Regex , 抓取群組數量*
- 假名的格式sourceName從檔案的絕對路徑名稱中获得數值的 \\~ 路徑Name 資料 類型 , 提取Regex , 抓取群組數量* \[此路徑名稱總是使用'/'作為目錄分隔符號, 永遠不要「\ 」 。\]
- 假名的格式sourceName從全局屬性得到的值是 \\~ 全局 : 屬性 姓名 , 資料 類型 , 提取Regex , 抓取群組數量*
- 假的sourceName選項與其它選項不同: 而不是建立新的最左邊 (第一) axisVariable,以此取代目前值axisVariable從文件名中提取值 (只是文件名.ex) . 格式是 \\~ 取代 來自 FileName 資料 類型 , 提取Regex , 抓取群組數量*
您需要提供的部分描述如下:
- 屬性 姓名 -- 每個檔案中包含維度值的全局屬性名稱 。
- 資料 類型 -- 此指定要儲存數值的資料類型 。 參考資料 類型那ERDDAP™支援, 但在此不允許字符串, 因為在ERDDAP™不能是弦變數 。
另有伪數據 Type, Time Format= 字串 時間格式 表示ERDDAP™值是字串時刻戳适合字符串時間的單位. 在大多數情况下, 您需要的字串TimeFormat 是其中一個格式的變化 :
- yyyy-MM-dd'T'HH: mm: s. SSSZ - 是ISO 8601: 2004 (英) 日期格式。 你可能需要簡化的版本,例如,yyyy-MM-dd'T'HH:mm:s或yyyy-MM-dd.
- yyyMMddHhmms.SSS - 是ISO 8601日期時間格式的紧凑版本 。 你可能需要簡化的版本, 例如: yyymmddhmms 或 yyymmdd 。
- 男/女 H: mm: ss. SSS - 是美國斜日格式 。 您可能需要簡化的版本, 例如 M/d/yyyy 。
- yyyDDHHHmmsSS -- -- 是一年加上一年零增加的一天 (例如, 001 = Jan 1, 365 = Dec 31 in a non leap year;這有時被誤稱為朱利安日期) . 您可能需要簡化的版本, 例如 YyyDD 。
如果您使用此假數據Type, 請加入新變數<addAttributes> :
<att name="units">seconds since 1970-01-01T00:00:00Z</att>
如果您要移動所有時間值, 請按單位移動時間值, 例如 , 1970-01-01T12:00Z.
- 提取Regex -- 就是這個正则表示式 (教程) 包含抓取群組 (括弧) 描述如何從檔名或全局屬性值中提取值 。 例如, S19980011998031. L3b%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.nc,抓取群組 # 1, "\d教程",在正規表示S中 (~\d教程) ~\d教程\.L3b. \\ 将抓取“ S” 之后的前7位數 : 1998001 。
- 抓取群組數量 -- 這是抓取群組的數字 (在一對括弧內) 包含關注信息的正则表示式中。 通常是第一個捕捉群 有時您需要將抓取群組用于 regex 中的其他目的, 所以重要的抓取群組數字會是 2 (第二捕捉群組) 或 3 (第三次) 等
完整的示例axisVariable它使一個有新時間轴的集合數據集, 從每個檔案的檔名中取得時間值是
<axisVariable>
<sourceName>\\*\\*\\*fileName,timeFormat=yyyyDDD,S(\\d{7})\\.L3m.\\*,1</sourceName>
<destinationName>time</destinationName>
</axisVariable>
當您使用"timeFormat="的假數據時 型態,ERDDAP™將新增 2 個屬性到axisVariable使 他 們 貌 似 從 源 頭 來
<att name="standard\\_name">time</att>
<att name="units">seconds since 1970-01-01T00:00:00Z</att>
所以就這樣ERDDAP™將建立一個新轴, 命名為"time"雙數值 (自1970-01-01T00:00Z起的秒) 取出文件名中“ S” 之后和“ .L3m” 之前的 7 位數, 并将這些數字解譯為 yyyDD 格式化的時間值 。
您可以超過預設的基數時間 (1970-01-01T00:00Z) 新增新增屬性指定不同基期的不同單位屬性。 通常的情況是: 有數據檔案群組, 每個群組都有衛星數據集的1天合成器, 您想要將時間值當為文件名稱中提及的日子的正午 。 (每一天的中心時間) 想要變數long\_name以「 以時間為中心」 。 例如:
<axisVariable>
<sourceName>\\*\\*\\*fileName,timeFormat=yyyyDDD,S(\\d{7})\\.L3m.\\*,1</sourceName>
<destinationName>time</destinationName>
<addAttributes>
<att name="long\\_name">Centered Time</att>
<att name="units">seconds since 1970-01-01T12:00:00Z</att>
</addAttributes>
</axisVariable>
注時數=基准時間12,相对于1970-01-01T00:00Z的原始基准時間增加了12小時.
完整的示例axisVariable它使集合的數據集具有新的「 執行」 轴 (有直列值) 從每個檔案的「 runID」 全局屬性中取得執行值 (包含「 r17QQGlobal 」 等值, 其中 17 是 run number) 是
<axisVariable>
<sourceName>\\*\\*\\*global:runID,int,(r|s)(\\d+)\\_global,2</sourceName>
<destinationName>run</destinationName>
<addAttributes>
<att name="ioos\\_category">Other</att>
<att name="units">count</att>
</addAttributes>
</axisVariable>
注意使用抓取群組 2 來抓取「 r 」 或「 's 」 之後、 QQGlobal 之後的數字 。 此示例也顯示如何新增屬性 (例如,ioos\_category單位) 到轴變數。
外部壓縮檔案
-
數據集是EDDGrid從檔案與 EDD 表格 從 Files 可以直接從外部壓縮的資料檔服務資料, 包括.tgz,.tar.gz,.tar.gzip,.gz,.gzip,.zip,.bz2和.Z文件。
-
這工作很出色
大多數情况下, 如果您需要保留磁碟空間, 我們強烈地鼓勵使用此功能, 特別是對很少存取的舊檔案 。 -
省省吧!
這是其中少有的功能之一ERDDAP™這讓你有機會省很多錢 (但以稍有降低的效绩為代价) . 如果壓縮比是例如 6:1 (有時候會高很多的) ,那么数据集的數據檔只需要磁碟空間的1/6。 也許你可以用1RAID通過 (大小) 而不是6例艾滋病 (大小相同的) . 這是巨大的成本节省。 希望能在收藏中压缩一些檔案 (老的?) 而不压缩其他的 (新的?) ,而且要隨時改變它,讓我們把一些檔案的下限最小化 (更慢的存取) . 如果選擇是在磁帶上儲存檔案 (且只可按要求存取,在延遲之后) vs 將它們儲存在 RAID 上 (且可通过ERDDAP) ,那么使用壓縮有巨大的優勢,以便使用者有互動性和 (相对) 快速存取資料 。 如果這能讓你省省多買一個RAID, 這個功能可以省下大约30,000美元. -
為了所有人EDDGrid來自 Files 子類別, 如果資料檔有延伸檔, 表示它們是外部壓縮的檔案 (目前:.tgz,.tar.gz,.tar.gzip,.gz,.gzip,.zip,.bz2,或.Z) ,ERDDAP™將檔案解壓到數據集的快取目錄,當它讀取它們時 (如果它們不在缓存中) . 二進制檔案也一樣 (例如,.nc) 檔案中的 EDD Table 子類。
-
非二進制檔案的 EDDTable fromFiles 子類 (例如.csv) ,带有延伸檔的數據檔,表示它們是外部壓縮的檔案,在檔案讀取時會在飛行中解壓。