Сейсмо API
Ну что такое Api вы и сами знаете или догадываетесь. API (application programming interface / программный интерфейс приложения) - программный интерфейс, то есть описание способов взаимодействия одной компьютерной программы с другими.
Что значит если какой-то сервис предоставляет такой API для пользователя, и им можно воспользоваться, то пожалуйста, всё круто. Только вот есть правила. Я-то землетрясения собирал, а там данных МНОГО
EMSC
Вот тут API (https://www.seismicportal.eu/fdsn-wsevent.html) довольно простой: отрезок времени, ширина, долгота, глубина, в каком формате данные на выходе предоставлять, магнитуды (минимальная, максимальная), поставщик данных – из какого каталога брать, и вот самое интересное – ЛИМИТ (сказано что 20000 событий).
И по кнопке в конце генерируется ссылка, с которой можно работать.
Но лимит - это не есть хорошо, потому что в итоге я скачал 1 218 259 записи.
Что я сделал – так это в программном коде просто сгенерировал много ссылок на каждый год, по магнитудам от 0.1 до 10, с шагом 0.1 (т.е. ссылки получались вида:
1. Время: мин 01.01.2000 00:00:00 макс 01.01.2001 00:00:00 | Магнитуды: мин 0.1, макс 0.1
2. Время: мин 01.01.2001 00:00:01 макс 01.01.2002 00:00:00 | Магнитуды: мин 0.1, макс 0.1
3. ...
4. Время: мин 01.01.2000 00:00:00 макс 01.01.2001 00:00:00 | Магнитуды: мин 1.1, макс 1.1
5. ...
И получило 5096 ссылок. Всё скачивалось в отдельные csv файлики, а потом программно всё объединялось в один.
ISC
Хорошее API (http://www.isc.ac.uk/iscbulletin/search/catalogue/), 11 927 405 записей на выходе, всё то же самое… Как я думал. НО ОКАЗАЛОСЬ НЕТ:
Лимита как такового нет – сервер будет пытаться формировать ответ, доходя даже до 10 минут ожидания, и чем больше записей, чем сложнее запрос – тем невозможнее дождаться ответа
Нужен таймаут между запросами в 1 минуту
При большом ответе сервер может просто на середине формирования ответа сказать – я не хочу больше ничего грузить, пока 👋
Именно дойдя до скачивания ISC я очень много чего переписал в коде программы что-бы формировать так много мелких ссылок, учитывать время ожидания ответа сервера и ожидание между запросами… Как же он меня выбесил… Шаг я ему правда с ссылками сделал в 0.2, итого это вышло 4995 ссылок, и если время ожидания между запросами в минуту, то получается это только 3.468 дней ожидания между запросами. Оно ещё и скачивало всё долго, и откидывало постоянно, в общем, неделю я его качал точно…
USGS
Самый быстрый и удобный API (https://earthquake.usgs.gov/earthquakes/search/) вообще никаких проблем, никаких ожиданий, всё нереально быстро с ОВЕР 9000 ссылок иил что там ещё. Просто всё скачал и забил. Хоть и тоже с лимитом
IRIS
Написано, что их API всё, гг. Ещё есть, но скоро уже не будет (http://service.iris.edu/fdsnws/event/1/). Но так как у них есть сервисы – интерактивная карта (http://ds.iris.edu/ieb/index.html) и ещё одна (зачем? http://ds.iris.edu/wilber3/find_event) то я их распотрошил и достал их URL ссылки, и по ним формировал запросы. А почему нет, раз база данных то у них одна?
Но оказалось, что в первой интерактивной карте IEB не указывается поставщик данных, а во второй Wilber - лимит в 10 000 записей. Но я всё равно всё скачал (4 986 254 записи), только что-бы обнаружить что IRIS это сайт прокладка с данными из ISC (https://dtf.ru/u/46290-den-rzhd/2747435-seismolong#5) и частью других каталогов других поставщиков, но в основном это ISC… Мда…
Volcano Discovery
На сайте уже есть все нужные данные (https://www.volcanodiscovery.com/earthquakes/global/stats.html). Я просто через панель разработчика в браузере (что на f12) посмторел и забрал что хотел.
Программное
Пока я добил скачивание... Но это ещё пол беду. Нужно же и данные постороить.
Всё скачивалось в CSV в мелкие файлики. Потом я их объединил в один гига файл. Считывал его в программе в объектную модель, убирал дубликаты событий во времени, месту, глубине, магнитудам (там оказалось совсем немного записей, в общем мелочи, и не на моей стороне), а после отфильтровывал по личному каталогу агентсва что я скачивал. Так на выходе получались 2 файлика, с атфильрованными записями и нет.
Ну а дальше, уже когда есть все все все данные, просто строил разные алгоритмы что-бы привести в разные виды, и сгруппировать по годам или чему там ещё, и формировал соответсвующие csv файлы для Excel.
Какие-то итоговые итоги
Я это зачем-то 5 месяцев делал, 3 их которых ничего не делал. В свободное от работы время, просто потому что да 👍
Никто мне за это конечно не заплатит, но мне просто было интересно. Почему бы и нет.
Крч вы не ждали, но я сделал этот пост за час. Пошел писать следующий. Всем удачи, всех люблю 💖👋
Увидимся 💪
нихуя не понял, но на всякий случай ебем
Ничего не поняла, но очень интересно пхаха
Тут ничего интересно не для программистов. Проходите мимо 👀
Жесть опять лонг
Нет, это маленькое. +За лонги донатят
Что-то на программистском. Может ты ещё и виновс сможешь переустановить?