Научная статья на тему 'Использование интернет-карт в САПР и ГИС в качестве подложек'

Использование интернет-карт в САПР и ГИС в качестве подложек Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2091
156
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
BIM / ИМД / ИНФОРМАЦИОННОЕ МОДЕЛИРОВАНИЕ / ИНФОРМАЦИОННОЕ МОДЕЛИРОВАНИЕ АВТОМОБИЛЬНЫХ ДОРОГ / САПР / АВТОМАТИЗИРОВАННОЕ ПРОЕКТИРОВАНИЕ / АВТОМАТИЗИРОВАННОЕ ПРОЕКТИРОВАНИЕ АВТОМОБИЛЬНЫХ ДОРОГ / ГИС / ГЕОИНФОРМАЦИОННЫЕ СИСТЕМЫ / ГЕОИНФОРМАЦИОННЫЕ СИСТЕМЫ АВТОМОБИЛЬНЫХ ДОРОГ / АВТОМОБИЛЬНЫЕ ДОРОГИ / ТРАНСПОРТНАЯ ИНФРАСТРУКТУРА / ИНТЕРНЕТ-КАРТА / СИСТЕМЫ КООРДИНАТ / КАРТОГРАФИЧЕСКИЕ ПРОЕКЦИИ / BIM / BUILDING INFORMATION MODELING / INFORMATION MODELING / ROAD INFORMATION MODELING / CAD / COMPUTER-AIDED DESIGN / COMPUTER-AIDED ROAD DESIGN / ROAD DESIGN / HIGHWAY ENGINEERING / GIS / GEOGRAPHIC INFORMATION SYSTEM / GIS FOR ROAD AND HIGHWAY MANAGEMENT / ROADS / HIGHWAYS / ROAD INFRASTRUCTURE / INTERNET MAP / COORDINATE SYSTEM / MAP PROJECTION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Медведев Всеволод Игоревич

Рассматривается технология интернет-карт, способы её внедрения в САПР и ГИС, координатная привязка карты к местности, а также связанные вопросы, касающиеся систем координат, которые можно встретить в приложениях САПР, ГИС и интернет-картах.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Web-maps as base in CAD systems and GIS

The article considers the web maps technology, methods of its implementation in CAD systems and GIS, coordinate referencing of web map, as well as questions related to coordinate systems used in CAD systems, GIS and web maps.

Текст научной работы на тему «Использование интернет-карт в САПР и ГИС в качестве подложек»

САПР

интернет-карт в САПР и ГИС в качестве подложек

DOI: 10.17273/CADGIS.2015.2.18

Медведев В.И., ведущий разработчик ООО «ИндорСофт» (г. Томск)

Рассматривается технология интернет-карт, способы её внедрения в САПР и ГИС, координатная привязка карты к местности, а также связанные вопросы, касающиеся систем координат, которые можно встретить в приложениях САПР, ГИС и интернет-картах.

Введение

С тех пор как компания Google в 2005 году представила интерактивный картографический сервис Google Maps, подобные карты стали неотъемлемой частью интернет-сервисов, а вскоре стали внедряться и в настольные приложения. Не обошла стороной эта тенденция системы типа ГИС и САПР, где интернет-карты могут успешно применяться в качестве ситуационного ориентира и источника дополнительных данных.

Исходными материалами для создания интернет-карт служат спутниковые снимки, векторные данные и оцифрованные карты. В настоящее вре-

мя список популярных интернет-карт представлен как зарубежными ресурсами: Google Maps (карта, спутниковые снимки, рельеф), Wikimapia (карта и снимки), OpenStreetMap (карта с множеством семантических стилей), Bing Maps (карта и снимки), Apple Maps (карта), так и отечественными: «Яндекс.Карты» (карта и спутниковые снимки), «Геопортал Роскосмоса» (карта и снимки), «Космоснимки» (карта и снимки), «2ГИС» (карта), Navitel (карта) и другими.

Безусловно, и раньше в САПР и ГИС применялись растровые и векторные подложки с топографическими картами, аэрофотосъёмкой, спутни-

САПР и ГИС автомобильных дорог | № 2(5), 2015 | 119

САПР

1,1 миллиарда тайлов, и при среднем объёме одного тайла в 10 КБ для хранения данного уровня понадобилось бы 11 терабайт памяти, что превышает объём современного жёсткого диска. В то же время карта содержит крупномасштабные тайлы только для тех регионов, где эта детализация востребована, прежде всего, в городах. Поэтому подсчитать количество тайлов, например, на самом подробном, 20-м уровне, весьма затруднительно. Тем не менее, массив исходных данных интернет-карты настолько велик, что загрузка его целиком не представляется возможной.

ковыми снимками, но использование новой технологии преобразило весь процесс:

• карту больше не нужно искать и скачивать, она может подгружаться автоматически по мере отображения, сразу в нужном масштабе;

• интернет-карту легко привязать к местности, поскольку на карте определены географические координаты;

• сегодня существует огромное множество ресурсов со спутниковыми снимками и картами, лучшие из которые охватывают почти весь земной шар и имеют разрешение до 1 м и даже точнее.

Следует заметить, что воспользоваться перечисленными преимуществами сможет только специально адаптированное программное обеспечение. Далее будет рассмотрено, каким образом интернет-карты могут быть реализованы в приложениях САПР и ГИС.

Устройство и принцип работы интернет-карты

Все основные интернет-карты представлены в цилиндрической проекции Меркатора (проекция земной поверхности на вертикальный цилиндр с последующей развёрткой), отличие состоит только в использовании Google-подобными картами (наиболее распространённый вариант) референц-сферы вместо референц-эллипсоида для аппроксимации земной поверхности. Этим обусловлено небольшое несовпадение по вертикали Google-подобных и «Яндекс»-псдобных карт при непосредственном наложении друг на друга. Забегая впе-

рёд отметим, что «эталонная» реализация «Яндекса» с эллипсоидом более корректна и обладает большим количеством полезных свойств.

Структура данных

Отдельно взятая карта имеет структуру многоуровневой пирамиды и содержит до 20 уровней детализации, каждый из которых разбит на растровые изображения размером 256*256 квадратных пикселей, называемые тайлами. Уровень с номером N содержит 4N тайлов, т.е. каждый следующий уровень детализации содержит в 4 раза больше тайлов, чем предыдущий, а каждый тайл предыдущего уровня представлен в следующем уже четырьмя тайлами (рис. 1).

Из этого можно вывести, что один только 15-й уровень состоит из почти

Отображение, управление и другие возможности

Многоуровневая организация позволяет карте корректно отображаться на экране монитора или при печати в любом интересующем масштабе [1]. Тайловая организация каждого уровня делает возможной оптимизацию загрузки ресурсов из интернета, поскольку для отображения карты в текущем виде и масштабе достаточно получить только те тайлы, которые полностью или частично попадают в видимую область или область печати.

Оригинальный интернет-сервис Google Maps и подобные ему представляют собой сайт, на главной странице которого размещена специальная компонента, практически полностью реализующая работу интернет-карты. Для этого компонента запрашива-

Рис. 2. Интернет-сервис Google Maps

120 | САПР и ГИС автомобильных дорог | № 2(5), 2015

САПР

Рис. 3. Кратер Гейла на трёхмерной спутниковой карте Рис. 4. Растровая подложка со спутниковой картой Марса в Google Maps Google Maps в AutoCAD Civil 3D 2012

ет по http-протоколу тайлы и другие данные, соответствующие области показа, выбранному типу и локализации карты, и послойно отображает их. Карта интерактивна: с помощью мыши и специальных элементов управления пользователь может осуществлять навигацию и масштабирование, подключать дополнительные слои с информацией, выполнять измерения, определять географические координаты в заданной точке, получать справочную информацию по объекту, просматривать соотнесённые с данной местностью фотографии, выполнять поиск с автонавигацией по известным координатам или названию объекта (рис. 2).

Сегодня ведущие картографические интернет-сервисы предлагают всё новые возможности, выходящие за рамки плоской карты: теперь можно просматривать трёхмерные карты, панорамные фотоснимки и видеоряды, отправляясь в виртуальное путешествие по улицам городов, живописным природным ландшафтам и даже другим планетам (рис. 3). Также интернет-карты используются для навигации и позволяют при этом получать дополнительную информацию, например, о ситуации на дорогах и пробках или местных достопримечательностях.

Подключение интернеткарт в САПР и ГИС

Задача подключения интернет-карты в САПР и ГИС нетривиальна. Самый очевидный для пользователя способ заключается в создании снимка экрана с открытой картой с последующей вставкой получившегося

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

Использование стандартных средств подключения

Изначально интернет-карта является сервисом, предполагающим использование только на страницах сайтов и в веб-приложениях. Для встраивания крупнейшие поставщики карт предлагают использовать собственные интерфейсы прикладного программирования (API) двух типов [2-5]:

1. Для динамической карты: в коде веб-страницы размещается специальная компонента, написанная на языке JavaScript, самостоятельно реализующая загрузку тайлов и другой необходимой информации, отображение карты, навигацию и масштабирование.

2. Для статической карты: по http-запросу, включающему координаты интересующей области и масштаб, сервер формирует и возвращает растровое изображение.

Первый вариант несовместим с настольными приложениями в принципе. Вариант со статической картой вполне подходит для формирования растра, который можно не только разместить на веб-странице, но и подключить в качестве подложки в САПР. При этом теряются свойства интерактивности и масштабируемости, кроме того, зачастую на пользователя возлагается часть рутины по вставке и трансформации растра, а для расширения подложки приходится размещать новые растры с нахлёстом. Тем не менее, многие приложения используют именно такой способ (рис. 4), некоторые при этом предлагают другие интересные возможности (рис. 5).

Использование собственной компоненты

Возможен и принципиально иной подход к реализации подключения, заключающийся в разработке собственной компоненты, наподобие той, что используют оригинальные интернет-сервисы с картами. Компонента реализует подложку с интернет-картой и работает непосредственно с тайлами (т.е. исходными данными, а не вторичным продуктом), которые получает с помощью http-запросов и отображает с учётом текущего масштаба в системе координат проекта (рис. 6).

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

САПР и ГИС автомобильных дорог | № 2(5), 2015 | 121

САПР

Рис. 5. Подготовка растровой подложки на основе исходного растра и спутниковой карты Google Maps в Credo Трансформ 4

Рис. 6. Подключение спутниковой карты Bing Maps в AutoCAD Civil 3D 2013 с помощью компоненты Project Basejump

ванием тех же самых тайлов с диска. Кроме того, появляется возможность одним действием переключать источник тайлов, подменяя тем самым одну карту другой с сохранением координатной привязки.

Ключевым вопросом при реализации компоненты является доступ к тайлам, который технически возможен для многих источников карт, поскольку необходим для работы оригинальных интернет-сервисов, но почти никогда не документирован. Типичная строка http-запроса включает в себя номер уровня детализации, номер тайла по горизонтали и вертикали в матрице уровня, дополнительно могут указываться

название слоя, язык локализации, версия карты, проверочный код, API-ключ, но точный формат запроса индивидуален для каждого сервиса.

Вопросы правового использования

Помимо технической стороны важен также правовой аспект. Основные поставщики карт запрещают встраивание своих карт, будь то скриншоты, сгенерированные по http-запросам растры или отдельные тайлы, в коммерческие приложения. Единственный вариант, лежащий в правом поле, заключается в регистрации на сайте поставщика с последующим приобретением так называемого API-ключа, обеспечивающего авто-

Рис. 7. Схема построения равноугольной цилиндрической проекции: а) проецирование эллипсоида на вертикальный цилиндр; б) развёртка

122 | САПР и ГИС автомобильных дорог | № 2(5), 2015

САПР

Рис. 8. Схема построения поперечно-цилиндрической проекции: а) проецирование зоны эллипсоида на вертикальный цилиндр; б) развёртка

ризованный доступ к ресурсам посредством уже упомянутых интерфейсов (API).

Координатная привязка интернет-карты в САПР и ГИС

Другим важным вопросом при встраивании интернет-карты в проект САПР или ГИС является привязка к системе координат (СК) проекта. Как уже было отмечено, карта на странице интернет-сайта, равно как и её отдельные тайлы, представлена в плоской метрической СК, которая получается применением равноугольной цилиндрической проекции Меркатора либо к географической СК WGS 84, где земной шар аппроксимируется референц-эллипсоидом (в случае с «Яндекс»-псдабными картами), либо к суррогатной СК, использующей референц-сферу (в случае Google-подобных карт) (рис. 7). В проекции Меркатора меридианы идут с равным интервалом параллельно друг другу, а параллели сгущаются вблизи экватора, угол между направлениями сохраняется, но искажаются длины и площади [6].

В проекте САПР используются также плоские метрические системы координат, зачастую с привязкой к СК-42, СК-63, МСК, СК-95, ГСК-2011, UTM, которые, в свою очередь, получаются применением поперечно-цилиндрической равноугольной проекции Гаусса-Крюгера или подобной к одной из геодезических СК (СК-42, СК-95, ПЗ-90, ПЗ-90.02, ПЗ-90.11, WGS 84) [7]. Проекция Гаусса-Крюгера отображает на горизонтально расположенный цилиндр только часть земной поверхности, обращённую к наблюдателю. На практике это трёх- либо шестиградусная

зона, взятая от выбранного меридиана, после проецирования с последующим развёртыванием цилиндра, напоминающая по форме вертикально расположенный лист ивы или черёмухи (рис. 8). Вблизи выбранного меридиана, называемого осевым, геометрические искажения минимальны и усиливаются по мере удаления на запад и восток. Наибольшее искажение длины получается в крайних точках на экваторе и составляет 0,14% [6].

Автоматическая трансформация участка интернет-карты

Таким образом, для корректного отображения в проекте САПР к карте должны быть применены нелинейные преобразования, включающие операции прямого и обратного проецирования, и, возможно, пересчёт географических координат из одной системы в другую (например, из WGS 84 в СК-42). Геометрическая интерпретация

Рис. 9. Трансформация участка интернет-карты со спутниковым снимком из проекции Меркатора в проекцию Гаусса-Крюгера

САПР и ГИС автомобильных дорог | № 2(5), 2015 | 123

САПР

Рис. 10. Расхождение между известным положением пункта ГГС и его изображением на спутниковой интернет-карте, представленной в местной системе координат

трансформации участка карты представлена на рисунке 9.

Отсюда следует, что привязка карты может быть автоматизирована, при этом алгоритм трансформации для каждой точки карты примет следующий вид:

1. Получение координат в исходной СК Меркатора.

2. Вычисление географических координат в СК WGS 84 с помощью обратного проекционного преобразования:

a. для «Яндекс»-подобных карт: используется проекция Меркатора;

b. для Google-подобных карт используется проекция «псевдо-Меркатор на сфере».

3. Пересчёт полученных географических координат из СК WGS 84 в СК проекта.

4. Применение проекции проекта.

Для гарантированного устранения искажений в ходе динамической трансформации можно было бы применить алгоритм непосредственно к каждой точке (т.е. пикселю) участка карты. Однако такая реализация едва ли целесообразна по следующим причинам:

1) один пиксель карты не будет соответствовать одному пикселю экрана, поэтому придётся применять обратный пересчёт для каждого пикселя экрана;

2) высокая трудоёмкость, прямо пропорциональная размеру экрана в пикселях, приведёт к сильным задержкам при каждом обновлении вида;

3) как будет показано далее, такая реализация заведомо избыточна.

С другой стороны, можно применить алгоритм только для вершин углов прямоугольного участка карты, а сам участок трансформировать приближённо по полученным четырём точкам, например, с помощью проективного преобразования, аппаратная (т.е. быстрая) реализация которого

заложена в любой современной видеокарте. При крупном масштабе данный способ вполне имеет право на применение: действительно, «честная» проекция Меркатора, заложенная в «Яндекс-картах», является равноугольной, как и проекция Гаусса-Крюгера, поэтому бесконечно малый квадрат в первой проекции остаётся квадратом во второй. Но большинство других карт, к сожалению, используют другую проекцию. Кроме того, в мелких и даже средних масштабах искажения могут оказаться существенными, и для их устранения потребуется разбиение большого участка на несколько более мелких.

Наиболее простой и очевидной реализацией такого разбиения является естественное для интернет-карты разбиение на тайлы, т.е. трансформация узлов тайловой сетки. Покажем, что уже в масштабе 1:30 000 000 (примерно соответствует 5-му уровню карты) данное разбиение является оптимальным, т.е. не привносящим существенных искажений карты, и при этом не сильно трудоёмким, чтобы вычисления производились «на лету», без заметной пользователю задержки. В самом деле, тайл 5-го уровня, выполненный в проекции Меркатора, на широте 60° в проекции Гаусса-Крюгера покрывает квадрат со стороной 2п * 3200 км (длина параллели 60°) / 25-1 (количество тайлов по горизонтали на 5-м уровне) = 1251 км. Максимальное искажение внутри квадрата составляет 1251 км * (1 - cos(90°/ 25-1)) (в качестве оценки сверху взято расстояние от хорды до дуги) = 6 км, что меньше расстояния в 1 пиксель на экране, которое при масштабе 1:30 000 000 и разрешении 4 пикс./мм, типичном для большинства современных мониторов, соответствует 30 км / 4 = 7,5 км. Очевидно, что с увеличением масштаба искажения будут всё менее заметны. С другой стороны, пусть размер карты на экране составляет 1920*1080 (Full HD), тогда при стандартном линейном размере тайла в 256 пикселей тайловая сетка будет включать примерно 8 * 5 = 40 точек трансформации, что совсем немного для быстрого вычисления.

Точность автоматической привязки

Следует отметить, что даже в той точке карты, координаты которой в СК проекта были вычислены явно, а не получены интерполяцией в ходе проективного преобразования, расхождение с известным положением соответствующего объекта может достигать порядка 10 м на самых детальных уровнях. И лишь в малой степени это связано с точностью перехода от глобальной системы координат WGS 84 к местной, в которой чаще всего определены координаты объекта (рис. 10).

Гораздо важнее здесь точность исходной карты, которая зависит и от степени её детализации, и от качества изготовления тайлов. Разработка и поддержка спутниковой интернет-карты — это

124 | САПР и ГИС автомобильных дорог | № 2(5), 2015

САПР

Рис. 11.

Координатная привязка интернеткарты в САПР IndorCAD 9

очень сложный и трудоёмкий процесс, включающий фильтрацию и ортотрансформацию получаемых со спутников снимков Земли [8]. Решающим фактором при получении ортофотоснимка является модель рельефа, в качестве которой обычно используется весьма приближённые данные радарной съёмки Земли (Shuttle Radar Topography Mission — SRTM), не отражающие в достаточной степени картину рельефа, в т.ч. с учётом лесных зон, высотных зданий и других сооружений.

САПР IndorCAD: подключение интернет-карты с мгновенной привязкой

Рассмотренный подход к подключению интернет-карты с помощью собственной компоненты, осуществляющей автоматическую привязку с трансформацией карты «на лету», реализован в САПР IndorCAD [9]. Система IndorCAD для описания модели объекта использует плоскую систему координат, однако по умолчанию её тип не определён. Интернет-карта уже присутствует в любом проекте в виде слоя, и для её отображения достаточно сообщить системе тип системы координат, выбрав нужную позицию в списке (рис. 11).

По умолчанию будет отображаться спутниковая карта «Космоснимки», также доступны схематическая карта «Космоснимки», карта OpenStreetMap, публичная кадастровая карта РФ, карта с произвольного сервера ArcGIS и карта, источник которой указан в файле настроек в формате популярной программы для просмо-

тра карт SASPlanet. Технически возможно подключение карт Google, «Яндекс», «2ГИС» и других.

Подключение интернет-карты в ГИС IndorRoad осуществляется точно так же, благодаря использованию общей компоненты. а

Литература:

1. Рыков Д. Основы конфигурирования тайловых сеток. GIS-Lab. Географические информационные системы

и дистанционное зондирование. URL: http://gis-lab.info/ qa/tile-matrix.html (дата обращения: 24.09.2015).

2. Google Maps APIs for Web. Google Developers. URL: https://developers.google.com/maps/web/

(дата обращения: 24.09.2015).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

3. Choose your Bing Maps API // Bing Maps for Enterprise. Microsoft Corporation. URL: http://www.microsoft.com/ maps/choose-your-bing-maps-API.aspx (дата обращения: 24.09.2015).

4. API Карт. Технологии Яндекса. URL: https://tech.yandex.ru/ maps/ (дата обращения: 24.09.2015).

5. Общее описание // Сервис «Экспресс Космоснимки».

ИТЦ «Сканэкс». URL: http://www.scanex.ru/ru/data/default. asp?submenu=kosmosnimki (дата обращения: 24.09.2015).

6. Бугаевский Л.М. Математическая картография: Учебник для вузов. М., 1998. 400 с.

7. Герасимов А.П. Местные системы координат // Геопрофи. 2009. № 4. С. 32-34.

8. Геодезия, картография, геоинформатика, кадастр: Энциклопедия. В 2-х т. / Под общ. ред. А.В. Бородко,

В.П. Савиных. М.: Геодезкартиздат, 2008. Т. II. 464 с.

9. Петренко Д.А. Новое поколение программных продуктов ИндорСофт // САПР и ГИС автомобильных дорог. 2013.

№ 1(1). С. 10-17. DOI: 10.17273/CADGIS.2013.1.2.

САПР и ГИС автомобильных дорог | № 2(5), 2015 | 125

i Надоели баннеры? Вы всегда можете отключить рекламу.