使用pyearthquake绘制日本地震USGS数据到近乎实时的MODIS卫星图像

这篇文章的目的是展现给读者如何从使用pyearthquake模块美国地质勘探局绘制近期日本地震数据。如果您想了解更多的信息pyearthquakemodule, take a look在这个岗位where I previously used it.pyearthquake被暴露的API一个纯Python模块检索来自数据美国地质勘探局网站从井中MODIS快速反应系统(最近,他们创造了一个单独的项目处理日常日本图像)。

安装pyearthquake

我们需要做的第一件事就是安装Pythonpyearthquakemodule, you can do it usingeasy_install的setuptools的

easy_install的pyearthquake

该easy_install的应自动处理所需要的模块,但如果你面对的问题(特别是在Ubuntu与底图,这里是版本要求:matplotlib> = 0.99.0,numpy的> = 1.3.0,PIL>= 1.1.6 andbasemap> = 0.99.4。

检索目录USGS

美国地质勘探局提供后续目录的数据集:

M1 +地震(past hour) –M1 + PAST_HOUR

This is the worldwide catalog with earthquake data from the past hour;

M1 +地震(过去的一天) -M1 + PAST_DAY

这是全球目录从过去一天的地震数据;

M1 +地震(past 7 days) –M1 + PAST_7DAY

这是全球目录与过去7天的地震数据;

这是你如何使用检索任何这些目录pyearthquake

>>> from pyearthquake import * >>> catalog = usgs.retrieve_catalog("M1+PAST_7DAY") >>> len(catalog) 1179

在这方面,我们有1179incidents withmagnitude 1+从the past 7 days.

现在可以过滤器只与幅度6+,它代表了近期显著地震事件:

>>> mag6_list = [event for event in catalog if float(event["Magnitude"]) >= 6.0] >>> len(mag6_list) 30

我们现在30周,从过去7天的活动6+,让我们打印:

>>>在mag6_list行:...打印行[ “Eqid”],行[ “幅度”],行[ “深度”],...行[ “日期时间”],行[ “深度”],行[ “地区”] ... c0001z5z 6.3 8.70周五,2011年3月11日20时11分22秒UTC 8.70附近本州东海岸,日本c0001z4n 6.6 10.00星期五,2011年3月11日十九时46分49秒UTC 10.00附近本州西海岸,日本c0001z2t 6.1 24.80星期五,2011年3月11日19时02分58秒UTC 24.80附近本州东海岸,日本c0001z2a 6.2 10.00星期五,2011年3月11日18点59分15秒UTC 10.00西临本州海岸,日本c0001yib 6.2 18.90星期五,2011年3月11日15时13分14秒UTC 18.90附近本州东海岸,日本c0001y4u 6.5 11.60星期五,2011年3月11日11时36分39秒UTC 11.60附近的东海岸日本本州(...)

As you can see, almost all last events are earthquakes from the Japan coast. Here, you can extract any individual event and retrieve USGS products like ShakeMaps, etc (see more information in这个帖子on how to fetch and show those USGS products).

事件绘制成图

现在,我们将绘制这些事件到地图(pyearthquake使用matplotlib工具包称为basemap绘制事件到地图):

>>> usgs.plot_events(目录)

“目录”变量是使用USGS之前检索相同的我们M1 + PAST_7DAY目录。

这里是什么什么这个声明将显示:

现在我们可以使用按钮放大到日本, and this is the result:

彩色点是从检索目录的事件,更强烈的颜色越强是地震;看到暗红色的颜色接近成本,该事件是不幸的,灾难性的8.9级大地震摧毁了日本的昨天。

Retrieving near real-time MODIS Rapid Response images

MODIShas processed image subsets of Aqua and Terra satellites. One of these subsets is called“japan”和it has the entire country coverage. Let’s retrieve this MODIS subset and then plot our events in this same map:

>>>进口日期时间>>>现在= datetime.datetime.now()>>> BMAP = modis.get_modis_subset(现为 “日本”,satellite_name = “千佛”,分辨率= “250米”,显示=亚洲金博宝 FALSE)>>> usgs.plot_events(目录,BMAP)

Whatpyearthquake是要在这里做的就是下载(这可能需要一些时间),整个子集250米的分辨率(最好的),解析子集元数据,对齐图像转换成纬度/经度范围的地图,然后绘制事件over this satellite image, so we’ll have the last high resolution satellite images from the Japan together with the earthquake events plot, and here is the result:

And here is the zoom near the coast:

matplotlib> = 0.99.0,numpy的> = 1.3.0,PIL>= 1.1.6 andbasemap> = 0.99.4

Exploring real-time Haiti USGS Earthquake data with near real-time MODIS Aqua+Terra satellite imagery using Python

前一段时间我做一个关于后的acessing MODIS近实时使用Python和数据公众提供在NASA MODIS卫星图像,如果你有兴趣在这些图像,采取一看这里后

I’ve created now a Python package calledpyearthquake自动检索来自任何MODIS子集图像美国航空航天局快速反应系统在一个简单的方法,只是使用子集,卫星和分辨率参数。包装上有一个模块,您可以通过实时USGS地震数据USGS website并自动解析它适合你,以及功能来检索USGS震动图等产品。

Retrieving, handling and ploting USGS data

让我们开始谈论市民可用目录with real-time Earthquake data from the USGS site (they are in CSV formats, there are others in XML and KMZ formats if you’re interested too, but I focused in the CSV format files to create the Python modules:

注意从USGS站点:文件并不包括(过去一天文件不包括在过去一小时的事件,例如)。

M1 +地震(past hour) –M1 + PAST_HOUR

This is the worldwide catalog with earthquake data from the past hour;

M1 +地震(过去的一天) -M1 + PAST_DAY

这是全球目录从过去一天的地震数据;

M1 +地震(past 7 days) –M1 + PAST_7DAY

这是全球目录与过去7天的地震数据;

要获得并从这些目录过程数据,你可以使用我创建的pyearthquake包,让我们先安装:

easy_install的pyearthquake

此命令将使用的easy_install自动从PyPI将程序存储库安装包,它会自动解决的要求太多,但如果你面对一些问题,这里是明确要求:matplotlib> = 0.99.0,numpy的> = 1.3.0,PIL>= 1.1.6 andbasemap> = 0.99.4。底图包是matplotlib地图工具包。

现在,让我们,例如,让目录过去一小时的地震数据,我们可以使用Python解释器的提示,这样做:

>>> catalog = usgs.retrieve_catalog("M1+PAST_HOUR") >>> catalog 

所有可用的目录是:M1 + PAST_HOUR,M1 + PAST_DAY和M1 + PAST_7DAY。但是,如果你输入一个错误的目录名称,它会告诉你所有可用的名称。

现在,您可以使用“目录”对象工作,探索从美国地质勘探局网站检索到的数据:

> > >列表(目录)[{“Src”:“词”、“地区”:“中枢l California', 'Lon': '-118.2063', 'Datetime': 'Saturday, January 16, 2010 17:12:20 UTC', 'Depth': '6.00', 'Version': '1', 'Lat': '36.2061', 'Eqid': '10530221', 'Magnitude': '1.9', 'NST': '27'}, {'Src': 'ak', 'Region': 'Southern Alaska', 'Lon': '-150.0829', 'Datetime': 'Saturday, January 16, 2010 16:47:05 UTC', 'Depth': '34.90', 'Version': '1', 'Lat': '61. 4521', 'Eqid': '10029267', 'Magnitude': '2.3', 'NST': '27'}] >>> for row in catalog: ... print row["Magnitude"], row["Depth"], row["Datetime"], row["Depth"], row["Region"] ... 1.9 6.00 Saturday, January 16, 2010 17:12:20 UTC 6.00 Central California 2.3 34.90 Saturday, January 16, 2010 16:47:05 UTC 34.90 Southern Alaska

As you can see, the “catalog” is an interable object where you can get all data from the earthquakes, like the Magnitude, Latitude, Longitude, Depth, Date, Region Name, etc…

现在,让我们得到了过去7天的地震数据:

>>> catalog = usgs.retrieve_catalog("M1+PAST_7DAY") >>> len(catalog) 1142

在过去的7天里,有地球上1.142震级地震1+,如果我们想找到最后海地的悲剧事件,我们可以通过6.0例如过滤目录的幅度:

>>> magnitude6 = [event for event in catalog if float(event["Magnitude"]) >= 6.0] >>> len(magnitude6) 3
>>> for row in magnitude6: ... print row["Eqid"], row["Magnitude"], row["Depth"], row["Datetime"], row["Depth"], row["Region"] ... 2010rla9 6.0 32.40 Thursday, January 14, 2010 14:03:40 UTC 32.40 south of the Mariana Islands2010rja6 7.0 13.00星期二,2010年1月12日21时53分10秒UTC 13.00海地区71338066 6.5 29.30周日,2010年1月10日零时27分39秒UTC 29.30海上北加州

正如我们所看到的,地震ID“2010rja6”是使用USGS识别1月12日已摧毁该地区和海地的不幸的人的7.0级地震海地的ID。

USGS还提供了一个震动图,这是在地震的区域的潜在损害全自动电脑生成的地图,得到它,让我们使用pyearthquake包:

>>> haiti_eq = magnitude6 [1] >>> usgs.retrieve_shakemap(haiti_eq “INSTUMENTAL_INTENSITY”)

该函数的第二个参数是震动图型,还有其他的产品,您可以从USGS得到太像媒体地图,地面峰值加速度。这些地图是在封装可供选择:INSTRUMENTAL_INTENSITY,裸露,装饰,不确定性和PEAK_GROUND_ACC。

该packas has functions to plot maps of the earthquakes (using Matplotlib), see how to plot a map of the earthquakes from the past 7 days:

>>> usgs.plot_events(目录)
<在0x01E6BDB0 mpl_toolkits.basemap.Basemap对象>

Now a zoom in the Haiti region:

该Color of the points are relative to their magnitudes, I’m using here the JET (the yellow/red points are earthquakes with higher magnitudes) color map from Matplotlib,see in this linkto use more color maps.

从MODIS卫星和ploting地震检索最后图像

Let’s talk now about the “MODIS的”模块pyearthquakemodule. This module can be used to get the most recent or archived images (up to 250m resolution) from MODIS Aqua/Terra satellites. First of all, you must know what subset you want to retrieve from MODIS website, the subsets are available在这里,在NASA网站。要绘制海地地区,我将使用名为“GreaterAntilles”子集覆盖区域海地。为了从今天最新卫星图像,我们可以这样做:

>>>从pyearthquake进口MODIS >>>进口日期时间>>>现在= datetime.datetime.now()>>> BMAP = modis.get_modis_subset(现在...... “GreaterAntilles”,... satellite_name = “千佛”亚洲金博宝...分辨率=“250米”)

This command will get the composite image of the subset “GreaterAntilles” taken today from the “terra” satellite with a resolution of 250m (in fact, this will take a while, since I’m using a higher resolution here, the maximum is 250m). And here is the result:

And here is after a zoom into the Haiti region near of Port-au-Prince:

This is the interesting part about MODIS, this photo, is from TODAY.

现在,让我们一起合并有关从美国地质调查局的数据,并从海地最近的图像地震的信息:

import datetime from pyearthquake import usgs from pyearthquake import modis catalog = usgs.retrieve_catalog("M1+PAST_7DAY") now = datetime.datetime.now() bmap = modis.get_modis_subset(now, "GreaterAntilles", satellite_name="terra", resolution="250m", show=False) usgs.plot_events(catalog, bmap)

这里是过去7天的地震情节在从卫星泰拉今天MODIS图像的结果:亚洲金博宝

这是所有=),你可以在世界其他地区使用软件包情节地震过,只需从MODIS快速反应系统网站的另一个子集。

- 基督教S. Perone

这里显示的所有图像和数据均来自MODIS响应系统或美国地质调查局。

蟒蛇:acessing near real-time MODIS images and fire data from NASA’s Aqua and Terra satellites

Modis Rapid Response Systemsite:

该MODIS快速反应系统的开发提供了地球陆地的每日卫星图像以接近实时。真彩色,照片般的图像和伪色意象是收集的几个小时内提供,使得系统的宝贵资源(...)。
Moderate Resolution Imaging SpectroradiometerMODIS)苍蝇板载美国宇航局的Aqua和Terra卫星作为美国宇航局为中亚洲金博宝心的国际地球观测系统的一部分。这两颗卫星从杆位绕行地球极点,天天看到全球大部分地区。亚洲金博宝在船上亚洲金博宝,MODIS看到地球在早上,而AquaMODIS围绕地球轨道运行在下午。

有一两件事,有几个人知道的是,每个人都可以有两个NASA卫星(Aqua和兵马俑)每天亚洲金博宝捕获从极轨道的地球极点的图像和数据,如从热异常访问近乎实时的中等分辨率图像亚洲金博宝地球的大部分。

In this post, I’ll show how to get and plot those imagery and data to a map using蟒蛇Matplotlib+Basemap toolkit

该Aqua and Terra orbits

该

阅读更多