Сразу же в начале поста предупреждение большими синими буквами:
ВЫ ДОЛЖНЫ ЧЁТКО ПОНИМАТЬ, ГДЕ ИМЕННО, ЗАЧЕМ И КАК ИСПОЛЬЗУЕТЕ ДАННЫЙ СЛОЙ, ИНАЧЕ ОТ ЭТОГО НЕ БУДЕТ НИКАКОЙ ПОЛЬЗЫ!
ЕСЛИ ВООБЩЕ ЧТО-НИБУДЬ ПОЛУЧИТСЯ!
ЕСЛИ ВАМ ХОТЬ ЧТО-НИБУДЬ НЕ ПОНЯТНО - НЕ ИСПОЛЬЗУЙТЕ ДАННЫЙ СЛОЙ!
МНОГАБУКАФ ЧИТАТЬ ПОЛНОСТЬЮ!
Итак, сие творение по сути является гибридным слоем над данными с сервиса virtualearth.net (данный пример построен над данными Aerial, для Birdseye будет похоже, но необходимы изменения, просто если заменить сервис в скрипте, работать не будет). Ничего недокументированного не используется, только официальные интерфейсы от Microsoft.
Цель создания данного гибрида - относительно информативно и относительно быстро иметь возможность понять, есть ли под данным тайлом подробное покрытие (далее - просто покрытие, но имеется в виду 15-й зум).
Понятно, что выделенное - взаимоисключающие вещи. Для точного определения границы покрытия необходимо фактически пройтись по 15-му зуму, чего очень не хотелось бы по причине затрат ресурсов (от чего собственно и хотелось уйти, грузить всю Россию на 15-м зуме - не самое быстрое решение). Для быстрого построения гибрида на более низких зумах (скажем, на 10-м зуме; тут речь не идёт о генерации гибрида из более высокого зума) неизбежно придётся пожертвовать точностью определения границ покрытия. Ну и очевидно, что если строить гибрид скажем так зума для 8-го, то практически везде будет информация, что под тайлом есть хотя бы один подробный тайл на 15-м зуме. То есть весь цимус как раз лежит между 8 и 15 зумами. В реальности, погоняв по европейской части России свой скрипт, я пришёл к выводу, что начинать имеет смысл строить гибрид с 10 зума, потом сгенерить слои вверх, а потом уже визуально смотреть и ручками выделять и уточнять по отдельным участкам для 12 зума. Если же начинать осваивать незагруженную область, в которой предположительно снимки расположены менее плотно, можно начинать и с 9 зума. На зумах меньших 9 скрипт фактически не работает ввиду бессмысленности такой работы: долго и наверняка хоть один тайл покрытия найдётся. Чтобы было понятнее и для предотвращения вопросов - скрипт не строит точную границу покрытия (если покрытие как-то хитро или очень мало попало под тайл - тайл может быть определён как тайл без покрытия), задача - не пропустить наличие покрытия вообще, то есть, на протяжении нескольких соседних тайлов (только при этом послаблении возможен выигрыш в скорости).
Для запуска скрипта нужен установленный интерпретатор Perl. Для Windows лучше всего взять ActiveState ActivePerl последней версии. Скрипт запускается из командрой строки и висит на экране в виде консоли, прикидывается веб-сервером и отдаёт (полу)прозрачные тайлы в формате png. Всё необходимое для запуска находится в архиве (исключая сам Perl). После того как в sas будет подложен файлик zmp, необходимо будет поменять путь до кэша на более пристойный для Вашего случая, сие сделано специально. Также при необходимости потребуется заменить номер порта в настройках zmp и скрипте, если используемый порт 8888 окажется занят. Скрипт может вернуть 2 разных png, которые отличаются прозрачностью. Если нет покрытия - вернутся полностью прозрачный png (будет вместо tne), если есть покрытие - прозрачность будет 100 (исключая небольшую и неприятную багу в программе, под такими прозрачными тайлами будет всё видно).
Приложен пример того, как выглядит сгенерённый из более высоких зумов участок на 10-м зуме (гибрид - с 12-го, vesat - с 15-го). Легко понять, где есть ещё незагруженный (пропущенный) участок покрытия. На примере виден косяк в программе (в генерации полупрозрачных png вверх по слоям) - разрыв в надписи "Республика Башкортостан", при отключении гибрида надпись становится полноценной.
В реальности скрипт представляет собой рыбу для обкатки логики работы. В скрипте могут быть обнаружены зачатки попытки логгирования даты тайлов в файл, но только зачатки, над этим будет выполнена отдельная работа (опять же как руки дойдут). Ну и в принципе скрипт может работать не только над данными virtualearth, но и над данными неназываемого сервиса (опять же как руки дойдут).
Название: vesat_imagery_data.rar
Размер: 5.87 кб
Доступен до: 2011-08-23 14:10:23
Ссылка для скачивания файла: http://ifolder.ru/24849967
Вопросы тут или в личку.