Утилита выгрузки с WMS-серверов

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
Ответить
Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

Утилита выгрузки с WMS-серверов

Сообщение SergeyRyzhkov »

По просьбе нашего коллеги, сделал небольшую утилиту для просмотра информации о WMS-сервисах,
а также пакетной выгрузки растров (с привязкой WLD), формирования XML - описаний источника для последующей выгрузки посредством GDAL

Делалось быстро, возможны ошибки и т.д.
Код не открыт. Кому нужен - вышлю.
Лицензия - никакой.
Файл: https://yadi.sk/d/9oTkwG-YhM258
Требует наличия .NET Framework >=4.0

Описывать пока не буду. Если не понятно - спрашивайте.
ЗЫ
Основное предостережение:
Прежде, чем формировать большое количество отдельных растров, убедитесь что сервер корректно отображает BBOX и обрабатывает его.
Это в основном касается СК 4326.
В стандарте 1.3.0 , в отличие от 1.1.Х меняются местами долгота и широта.
Но не все сервера правильно "отдают" охват карты.
Вложения
wms_mos.png
wms_mos.png (92.83 КБ) 4746 просмотров
wms_load.png
wms_load.png (142.16 КБ) 4746 просмотров
wms_info.png
wms_info.png (42.14 КБ) 4746 просмотров
Landser
Интересующийся
Сообщения: 23
Зарегистрирован: 12 апр 2015, 19:44
Репутация: 1

Re: Утилита выгрузки с WMS-серверов

Сообщение Landser »

Сергей, отличная утилита! Премного благодарен вам за труды!!!

Опишу поподробнее:

Утилита предназначена для облегчения получения значительных по площади отображаемой территории геопривязанных растров с различных WMS-сервисов. Происходит автоматическая разбивка общего растра на блоки (фрагменты) по долготе и широте, пиксельные размеры которых не превышают максимальные пиксельные размеры одного блока, отдаваемого данным WMS. Для каждого такого блока формируется свой XML-файл, необходимый для последующего получения данного блока посредством утилиты gdal_translate. Также формируется общий батник с командой взятия каждого блока, при однократном запуске оного, пользователь освобождается от монотонного ручного труда по изменению каждый раз при взятии каждого последующего блока параметров запуска утилиты gdal_translate.

Если нам нужно максимальное качество получаемых выходных растров, то используем режим "Формировать файлы GDAL WMS". В этом случае мы получим некоторое количество ogs_wms xml файлов, общее число которых будет равно общему количеству блоков всей карты. Также сгенерится gdal_getmap.bat, в котором будут прописаны команды для взятия всех блоков данной карты утилитой gdal_translate. Запуская батник, через некоторое время получаем все блоки карты в растровом формате geoTIFF с привязкой без компрессии.

Если максимальное качество нам не нужно, то все блоки карты можно загрузить непосредственно утилитой используя режим: "Загружать растры online (с файлом привязки WLD)". В это случае все блоки будут скачаны в формате с компрессией, определяемым переключателем "Формат растра" в "Параметры растра" утилиты. К каждому растру будет приложен свой файл с привязкой.

Дальнейшая сборка всей карты в общий геопривязанный растр из полученных блоков может осуществляться любым из известных способов. ИМХО, для этой цели лучше всего подходят программы с наглядным отображением всех загруженных растров, например Global Mapper.

Предостережение:
Чем крупнее масштаб карты, тем больше (в геометрической прогрессии) будет количество получившихся блоков и их суммарный объём. У каждого пользователя может наступить такой момент, что используемое компьютерное "железо" перестанет быстро справляться с получившимся количеством "тяжёлых" непакованных блоков в geoTIFF. В этом случае будет разумнее несколько пожертвовать качеством изображения на получаемых растрах и выбрать режим "Загружать растры online (с файлом привязки WLD)".

У кого будут дополнительные вопросы по использованию утилиты - пишите.
Благодарю за внимание.
Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя