![]() |
星系形成建模-Illustris
專用API
【更新時間: 2024.07.17】
Illustris API 當(dāng)然是面向空間的,但它可能是整個組中概念最高的 API。該 API 是作為訪問核心服務(wù)的另一種方式提供的,允許高數(shù)據(jù)量處理、搜索、提取、分析和可視化。
|
瀏覽次數(shù)
17
采購人數(shù)
0
試用次數(shù)
0
收藏
×
完成
取消
×
書簽名稱
確定
|
- API詳情
- 使用指南
- 常見 FAQ
- 關(guān)于我們
- 相關(guān)推薦


什么是Illustris的星系形成建模?
“Illustris星系形成建模API” 是一個用于模擬和研究宇宙中星系形成和演化的工具。該API依托于Illustris項目,利用高分辨率和物理模型,進行大規(guī)模宇宙學(xué)模擬。通過該API,研究人員可以訪問模擬數(shù)據(jù),進行復(fù)雜的分析和可視化,探討星系的形成機制及其在宇宙中的分布和演化過程。
什么是Illustris的星系形成建模接口?
Illustris的星系形成建模有哪些核心功能?
- 朔望模擬:邁向星系形成的預(yù)測理論。
- 移動網(wǎng)格上的星系形成:以前所未有的物理保真度模擬宇宙體積。
- 填充哈勃序列:恢復(fù)星系形態(tài)的多樣性。
- 宇宙學(xué)背景:將星系尺度與宇宙大尺度結(jié)構(gòu)聯(lián)系起來。
Illustris的星系形成建模的核心優(yōu)勢是什么?
- 高分辨率:提供前所未有的高分辨率模擬數(shù)據(jù),使研究更加精確。
- 綜合物理模型:結(jié)合多種物理模型,提供對星系形成和演化的全面理解。
- 大規(guī)模數(shù)據(jù):模擬了大量的星系和宇宙結(jié)構(gòu),提供豐富的數(shù)據(jù)資源供研究使用。
在哪些場景會用到Illustris的星系形成建模?
學(xué)術(shù)研究 研究人員可以利用該API獲取星系和宇宙結(jié)構(gòu)的詳細數(shù)據(jù),進行星系形成和演化機制的深入研究。
|
|
教育培訓(xùn) 通過可視化工具,教育工作者可以向?qū)W生展示宇宙結(jié)構(gòu)的形成過程,幫助理解復(fù)雜的天文概念。 |
|


API入門指南
首先,啟動您選擇的接口并定義一個helper函數(shù),其目的是向指定的URL(“端點”)發(fā)出HTTP GET請求,并驗證響應(yīng)是否成功。如果響應(yīng)類型是JSON,則自動將其解碼為類似dict的對象。
>>> import requests
>>>
>>> baseUrl = 'http://www.illustris-project.org/api/'
>>> headers = {"api-key":"INSERT_API_KEY_HERE"}
>>>
>>> def get(path, params=None):
>>> # make HTTP GET request to path
>>> r = requests.get(path, params=params, headers=headers)
>>>
>>> # raise exception if response code is not HTTP SUCCESS (200)
>>> r.raise_for_status()
>>>
>>> if r.headers['content-type'] == 'application/json':
>>> return r.json() # parse json responses automatically
>>> return r
向API根發(fā)出請求。
>>> r = get(baseUrl)
響應(yīng)是一個帶有一個鍵 "simulations"
的字典對象,它是 N
(在本例中當(dāng)前為18)可用運行的列表:
>>> r.keys()
['simulations']
>>> len(r['simulations'])
18
打印出第一個字段的所有字段,以及所有18個字段的名稱。
>>> r['simulations'][0]
{'name': 'Illustris-1',
'num_snapshots': 134,
'url': 'http://www.illustris-project.org/api/Illustris-1/'}
>>> names = [sim['name'] for sim in r['simulations']]
>>> names
['Illustris-1',
'Illustris-1-Dark',
'Illustris-2',
'Illustris-2-Dark',
'Illustris-3',
'Illustris-3-Dark',
'Illustris-1-Subbox0',
'Illustris-1-Subbox1',
'Illustris-1-Subbox2',
'Illustris-1-Subbox3',
'Illustris-2-Subbox0',
'Illustris-2-Subbox1',
'Illustris-2-Subbox2',
'Illustris-2-Subbox3',
'Illustris-3-Subbox0',
'Illustris-3-Subbox1',
'Illustris-3-Subbox2',
'Illustris-3-Subbox3']
正如預(yù)期的那樣,我們看到了Illustris的三個分辨率級別,三個暗物質(zhì)運行,以及每個“完整物理”運行的四個子框。每個條目只有三個字段: name
、 num_snapshots
和 url
。我們可以通過向指定的 url
提交請求來檢索特定模擬的完整元數(shù)據(jù)。
讓我們通過確定它是 r
中的哪個條目,然后請求該條目的 url
字段來查看Illustris-3。
>>> i = names.index('Illustris-3')
>>> i
4
>>> sim = get( r['simulations'][i]['url'] )
>>> sim.keys()
['softening_dm_max_phys',
'omega_0',
'snapshots',
...
'softening_dm_comoving',
'softening_gas_comoving']
>>> sim['num_dm']
94196375
請注意,我們實際上并不需要手動構(gòu)造URL。
一般來說,這是正確的:每當(dāng)API響應(yīng)引用另一個資源或端點時,它都使用絕對URL,可以直接跟蹤該URL以檢索該資源。這意味著,不需要知道API的結(jié)構(gòu)就可以導(dǎo)航它。
在這種情況下,我們可以從本頁底部的引用表中看到,檢索給定模擬的完整元數(shù)據(jù)的端點是 /api/{sim_name}/
。因此,我們可以手動構(gòu)造URL www.illustris-project.org/api/Illustris-3/
并發(fā)送請求。或者,我們可以簡單地遵循我們已經(jīng)到達相同位置的 url
字段。
詳情參考:https://www.illustris-project.org/data/docs/api/






【更新時間:2024.07.17】SWAPI - 星球大戰(zhàn) API 是來自星球大戰(zhàn)宇宙的結(jié)構(gòu)化數(shù)據(jù)的寶庫。它是從標(biāo)志性特許經(jīng)營權(quán)中獲取有關(guān)行星、宇宙飛船、車輛、人物、電影和物種信息的首選資源。使用 Pipedream,您可以利用這些數(shù)據(jù)創(chuàng)建根據(jù) SWAPI 的特定條件觸發(fā)的自動化和工作流程。例如,您可以設(shè)置一個工作流程,在添加新數(shù)據(jù)時通知您,用他們最喜歡的星球大戰(zhàn)角色豐富客戶資料,甚至通過提取隨機事實將其用于瑣事游戲。


API入門指南
首先,啟動您選擇的接口并定義一個helper函數(shù),其目的是向指定的URL(“端點”)發(fā)出HTTP GET請求,并驗證響應(yīng)是否成功。如果響應(yīng)類型是JSON,則自動將其解碼為類似dict的對象。
>>> import requests
>>>
>>> baseUrl = 'http://www.illustris-project.org/api/'
>>> headers = {"api-key":"INSERT_API_KEY_HERE"}
>>>
>>> def get(path, params=None):
>>> # make HTTP GET request to path
>>> r = requests.get(path, params=params, headers=headers)
>>>
>>> # raise exception if response code is not HTTP SUCCESS (200)
>>> r.raise_for_status()
>>>
>>> if r.headers['content-type'] == 'application/json':
>>> return r.json() # parse json responses automatically
>>> return r
向API根發(fā)出請求。
>>> r = get(baseUrl)
響應(yīng)是一個帶有一個鍵 "simulations"
的字典對象,它是 N
(在本例中當(dāng)前為18)可用運行的列表:
>>> r.keys()
['simulations']
>>> len(r['simulations'])
18
打印出第一個字段的所有字段,以及所有18個字段的名稱。
>>> r['simulations'][0]
{'name': 'Illustris-1',
'num_snapshots': 134,
'url': 'http://www.illustris-project.org/api/Illustris-1/'}
>>> names = [sim['name'] for sim in r['simulations']]
>>> names
['Illustris-1',
'Illustris-1-Dark',
'Illustris-2',
'Illustris-2-Dark',
'Illustris-3',
'Illustris-3-Dark',
'Illustris-1-Subbox0',
'Illustris-1-Subbox1',
'Illustris-1-Subbox2',
'Illustris-1-Subbox3',
'Illustris-2-Subbox0',
'Illustris-2-Subbox1',
'Illustris-2-Subbox2',
'Illustris-2-Subbox3',
'Illustris-3-Subbox0',
'Illustris-3-Subbox1',
'Illustris-3-Subbox2',
'Illustris-3-Subbox3']
正如預(yù)期的那樣,我們看到了Illustris的三個分辨率級別,三個暗物質(zhì)運行,以及每個“完整物理”運行的四個子框。每個條目只有三個字段: name
、 num_snapshots
和 url
。我們可以通過向指定的 url
提交請求來檢索特定模擬的完整元數(shù)據(jù)。
讓我們通過確定它是 r
中的哪個條目,然后請求該條目的 url
字段來查看Illustris-3。
>>> i = names.index('Illustris-3')
>>> i
4
>>> sim = get( r['simulations'][i]['url'] )
>>> sim.keys()
['softening_dm_max_phys',
'omega_0',
'snapshots',
...
'softening_dm_comoving',
'softening_gas_comoving']
>>> sim['num_dm']
94196375
請注意,我們實際上并不需要手動構(gòu)造URL。
一般來說,這是正確的:每當(dāng)API響應(yīng)引用另一個資源或端點時,它都使用絕對URL,可以直接跟蹤該URL以檢索該資源。這意味著,不需要知道API的結(jié)構(gòu)就可以導(dǎo)航它。
在這種情況下,我們可以從本頁底部的引用表中看到,檢索給定模擬的完整元數(shù)據(jù)的端點是 /api/{sim_name}/
。因此,我們可以手動構(gòu)造URL www.illustris-project.org/api/Illustris-3/
并發(fā)送請求。或者,我們可以簡單地遵循我們已經(jīng)到達相同位置的 url
字段。
詳情參考:https://www.illustris-project.org/data/docs/api/








【更新時間:2024.07.17】SWAPI - 星球大戰(zhàn) API 是來自星球大戰(zhàn)宇宙的結(jié)構(gòu)化數(shù)據(jù)的寶庫。它是從標(biāo)志性特許經(jīng)營權(quán)中獲取有關(guān)行星、宇宙飛船、車輛、人物、電影和物種信息的首選資源。使用 Pipedream,您可以利用這些數(shù)據(jù)創(chuàng)建根據(jù) SWAPI 的特定條件觸發(fā)的自動化和工作流程。例如,您可以設(shè)置一個工作流程,在添加新數(shù)據(jù)時通知您,用他們最喜歡的星球大戰(zhàn)角色豐富客戶資料,甚至通過提取隨機事實將其用于瑣事游戲。