Перенести спутниковые снимки на жесткий диск с сайта.

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
Ответить
Rost
Новоприбывший
Сообщения: 2
Зарегистрирован: 13 июн 2017, 13:14
Репутация: 0

Перенести спутниковые снимки на жесткий диск с сайта.

Сообщение Rost » 13 июн 2017, 13:52

Здравствуйте, помогите пожалуйста. Есть в открытом доступе карта спутниковых снимков Москвы и области 1973 года по ссылке etomesto.ru Нигде больше не могу найти эту карту и очень часто ей пользуюсь, боюсь, что потеряется или закроется сайт. Этот сайт даёт возможность сохранить участок 5000х5000 пикселей в виде файла с расширением kml, который открывается в программе GooglEarth, на которой, эта карта состоит из наложения jpg картинок размером 200х200 пикселей, которые берутся с сервера сайта в режиме онлайн. Вручную сохранять каждый фрагмент и склеивать тяжело. Может-быть есть другой вариант, помогите сохранить на жестком диске если и не всю карту в идеале, то хотя бы участок 5000х5000 пикселей. На карте отслеживаю изменения произошедшие по наши дни. Так же планирую поместить часть карты в oruxmaps с привязкой.
Возможные решения по приоритету:
1) Скачать карту целиком, если она где-то есть.
2) Открыть kml файл программой GoogleEarth и каким-то образом достать от туда её единым куском.
3) Открыть kml файл в другой программе, где будет возможность преобразовать эту карту в необходимый тип (например sasplanet)
4) Скачать кусочки по 200х200 пикселей, но склеить их в программе стык в стык автоматически (например RasterStitch, но он не позволяет стык в стык соединять фрагменты карт)
5) Сейчас я качаю кусочки карты 200на200 и вручную соединяю их в gimp, потом делаю привзяку. (это очень утомительно и нереально для всей карты)

П.С. Спасибо за советы и помощь.
Последний раз редактировалось Rost 13 июн 2017, 14:24, всего редактировалось 1 раз.

trir
Гуру
Сообщения: 3069
Зарегистрирован: 09 апр 2010, 19:30
Статьи: 1
Репутация: 490
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Перенести спутниковые снимки на жесткий диск с сайта.

Сообщение trir » 13 июн 2017, 14:07


Rost
Новоприбывший
Сообщения: 2
Зарегистрирован: 13 июн 2017, 13:14
Репутация: 0

Re: Перенести спутниковые снимки на жесткий диск с сайта.

Сообщение Rost » 13 июн 2017, 14:24

спасибо )

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3321
Зарегистрирован: 11 апр 2008, 21:09
Статьи: 33
Проекты: 9
Репутация: 494
Ваше звание: Author
Контактная информация:

Re: Перенести спутниковые снимки на жесткий диск с сайта.

Сообщение Denis Rykov » 13 июн 2017, 16:11

Там ничего сложного, сейчас посмотрю.

UPD.: Выкачал все тайлы, что именно вы хотите получить на выходе, GeoTIFF или вам просто пачку тайлов кинуть?

Если что, то вот пример Python-скрипта по выкачиванию тайлов именно этой карты, параметры для формирования URL-а взяты из исходников страницы, для других карт эти параметры будут отличаться, но идея та же. Всего получается 37500 тайлов, время скачивания чуть больше часа.

Код: Выделить всё

# -*- coding: utf-8 -*-

import os
import itertools
from urllib import urlretrieve

base_url = "http://map.etomesto.ru"

dirname = os.path.expanduser("~/tmp/sputnik-1973")
if not os.path.exists(dirname):
    os.mkdir(dirname)

z = ['c', 'c', 'e', 'a', 'e', '1', '8', 'c', '4', 'd', '6', 'c', 'c',
     'a', '9', 'c', '7', '6', '1', '9', '3', 'b', '3', '1', '8', '4',
     '0', '3', '6', '3', 'c', '6', '1', 'e', '1', '1', 'a', 'a', 'd',
     'd', '3', 'a', '1', 'f', '6', 'd', '6', '6', 'f', 'c', '2', '9',
     'd', 'a', 'b', '9', '7', '6', '0', '0', '7', '4', '0', 'e', 'f',
     '3', '7', 'a', '1', '7', 'e', '3', 'd', 'a', 'd', 'f', '2', '3',
     'd', 'f', '4', '9', 'f', '6', '3', '9', 'c', '2', '7', '8', '5',
     '9', '9', 'f', '8', '2', 'e', 'e', 'a', 'f', '3', 'e', '6', 'c',
     '6', 'f', 'a', 'a', '2', '5', '6', '7', '7', '5', '2', 'c', 'e',
     '5', '0', 'd', '4', 'a', '2', 'c', '3', '0', 'e', '7', 'd', '9',
     '1', '6', '9', '0', '7', '4', '3', '0', 'e', '1', '0', 'a', '9',
     '0', '2', 'a', '8', '4', 'f', '7']

xsize = len(z)
ysize = 250

for x, y in itertools.product(range(0, xsize),
                              range(0, ysize)):
        fname = "%s_%s.jpg" % (x + 1, y + 1)
        tile_url = "%s/moscow/sputnik-1973/%s/%s" % (base_url, z[x], fname)
        tile_path = os.path.join(dirname, fname)
        urlretrieve(tile_url, tile_path)
Spatial is now, more than ever, just another column- The Geometry Column.

Ответить

Вернуться в «Общий - ПО»