Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
A trip to earth science with python as a companion
Search
Nikoleta
October 29, 2017
Programming
0
52
A trip to earth science with python as a companion
My talk for PyConUK 217.
Nikoleta
October 29, 2017
Tweet
Share
More Decks by Nikoleta
See All by Nikoleta
Arcas: Using Python to access open research literature
nikoletav3
1
180
Optimisation of short memory strategies in the Iterated Prisoners Dilemma
nikoletav3
0
56
Testing Research Software
nikoletav3
0
330
Arcas
nikoletav3
0
500
SSI Selection Day
nikoletav3
0
410
SWORDS-03-10-2016
nikoletav3
0
52
PyCon UK 2016
nikoletav3
0
170
Other Decks in Programming
See All in Programming
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
150
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
760
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
180
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
260
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
170
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
200
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
220
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
710
Migration to Signals, Signal Forms, Resource API, and NgRx Signal Store @Angular Days 03/2026 Munich
manfredsteyer
PRO
0
190
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
4.9k
Tamach-sre-3_ANDPAD-shimaison93
mane12yurks38
0
190
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
510
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Evolving SEO for Evolving Search Engines
ryanjones
0
170
Become a Pro
speakerdeck
PRO
31
5.9k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
360
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
260
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
240
Into the Great Unknown - MozCon
thekraken
40
2.3k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
240
The Curse of the Amulet
leimatthew05
1
11k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
160
Transcript
A trip to earth science with Python as a companion
@NikoletaGlyn
HINTS:
HINTS: several things have been invented by my ancestors;
mathematics make use of my alphabet;
None
None
None
N S W E
None
cores crust mantle
>>> import quakefeeds >>> from quakefeeds import QuakeFeed >>> feed
= QuakeFeed("2.5", "month") >>> feed.title ’USGS Magnitude 2.5+ Earthquakes, Past Month’
MAGNITUDE
Class Magnitude Great 8 or more Major 7 - 7.9
Strong 6 - 6.9 Moderate 5 - 5.9 Light 4 - 4.9 Minor 3 -3.9
{’geometry’: {’coordinates’: [27.3346, 36.9405, 5.01], ’type’: ’Point’}, ’id’: ’us1000apsm’, ’properties’:
{’alert’: None, ’cdi’: 4.1, ’code’: ’1000apsm’, ’detail’: ’https://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/us1000apsm.geojson’, ’dmin’: 0.962, ’felt’: 59, ’gap’: 45, ’ids’: ’,us1000apsm,’, ’mag’: 4.4, ’magType’: ’mb’, ’mmi’: None, ’net’: ’us’, ’nst’: None, ’place’: ’6km NE of Kos, Greece’, ’rms’: 0.82, ’sig’: 322, ’sources’: ’,us,’, ’status’: ’reviewed’, ’time’: 1507665564350, ’title’: ’M 4.4 - 6km NE of Kos, Greece’, ’tsunami’: 0, ’type’: ’earthquake’, ’types’: ’,dyfi,geoserve,origin,phase-data,’, ’tz’: 120, ’updated’: 1508097562926, ’url’: ’https://earthquake.usgs.gov/earthquakes/eventpage/us1000apsm’}, ’type’: ’Feature’}
>>> import earthquakes >>> from earthquakes import earthquakes >>> report
= earthquakes.get_report() >>> report[’title’] ’USGS Significant Earthquakes, Past Hour’ >>> report = earthquakes.get_report(’week’, ’4.5’)
>>> create_map = feed.create_google_map(style="titled") >>> feed.write_google_map("map.html", style="titled")
MATPLOTLIB BASEMAP TOOLKIT http://introtopython.org/visualization_earthquakes.html
from mpl_toolkits.basemap import Basemap import matplotlib.pyplot as plt import numpy
as np plt.figure() my_map = Basemap(projection=’ortho’, lat_0=22, lon_0=30.22, resolution=’h’) my_map.drawcoastlines() plt.show()
from mpl_toolkits.basemap import Basemap import matplotlib.pyplot as plt import numpy
as np plt.figure() my_map = Basemap(projection=’ortho’, lat_0=22, lon_0=30.22, resolution=’h’) my_map.drawcoastlines() my_map.drawcountries() my_map.fillcontinents(color=’orange’) my_map.drawmapboundary() meridians = np.arange(0, 360, 30) parallels = np.arange(-90, 90, 30) my_map.drawmeridians(meridians) my_map.drawparallels(parallels) plt.show()
World Map
plt.figure() my_map = Basemap(projection=’merc’, lat_0=40, lon_0=19, resolution = ’h’, llcrnrlon=20.577,
llcrnrlat=33.568 urcrnrlon=28.1905, urcrnrlat=39.701) my_map.drawcoastlines() my_map.drawcountries() my_map.fillcontinents(color=’orange’) plt.axis(’off’) plt.show()
plt.figure() my_map = Basemap(projection=’merc’, lat_0=40, lon_0=19, resolution = ’h’, llcrnrlon=20.577,
llcrnrlat=33.568 urcrnrlon=28.1905, urcrnrlat=39.701) my_map.drawcoastlines() my_map.drawcountries() my_map.fillcontinents(color=’orange’) x,y = my_map(lons, lats) my_map.plot(x, y, ’ro’, markersize=10) plt.axis(’off’) plt.show()
time 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 magnitude
Mexico Earthquake
World Map magnitude 5 magnitude <5 magnitude <3
https://github.com/obspy/obspy/wiki
07:22:2907:22:5907:23:2907:23:5907:24:2907:24:59 1200 800 400 0 400 800 1200 .RJOB..Z 2005-10-06T07:21:59.85
- 2005-10-06T07:24:59.845
>>> import quakefeeds >>> import earthquakes >>> from mpl_toolkits.basemap import
Basemap >>> import obspy @NikoletaGlyn https://github.com/Nikoleta-v3