Как сделать слои на карте
Пользовательские слои
Введение
API карт позволяет накладывать пользовательские слои поверх слоя географической карты. Это дает возможность отображать на карте практически любые объекты, маршруты, области. Например, легко показать зоны покрытия города интернет-провайдерами, или же в графическом виде отобразить области доставки магазина или пиццерии с указанием времени и стоимости доставки. Так же можно указать путь проезда к вашим офисам или маршрут экскурсии по городу. Одним словом, возможности ограничены лишь фантазией.
Предполагается, что вы уже ознакомились с разделами «Быстрый старт» и «Карта».
Основы
Пользовательские слои
Рассмотрим пример создания слоя:
В результате мы увидим новый слой над картой, на котором будут отображаться тайлы с вашего сервера.
В дальнейшем мы рассмотрим класс DG.Layers.Common подробнее.
Далее под слоями мы будем подразумевать именно пользовательские слои.
Группы слоев
Каждый слой должен принадлежать определенной группе. Это дает возможность выполнять групповые операции.
Объект группы предоставляет наиболее полный арсенал методов, для управления слоями.
Любые операции со слоями в группе сразу же отображаются на карте.
Менеджер слоев
Менеджер отвечает за управление группами. А группы, в свою очередь, управляют слоями.
При этом, для удобства, часть методов по работе со слоями есть также и в менеджере.
Менеджер слоев доступен как свойство layers объекта карты:
Класс слоя DG.Layers.Common
Описание методов представляет собой действие (что делает метод, для чего он нужен?) и название метода. Вместе с тем, представлены дополнительно параметры, возвращаемое значение метода и особенности, если таковые имеются.
Конструктор
Количество субдоменов для тайлого сервера.
Префикс имени субдомена тайлового сервера.
Методы
Получить идентификатор слоя
Тип | Описание |
---|---|
String | Возвращает уникальный идентификатор слоя, который генерируется в момент его создания. |
Скрыть слой
Показать слой
Установить URL пустого тайла
Получить URL пустого тайла
Тип | Описание |
---|---|
String | URL пользовательского тайла, который будет отображаться при отсутствии запрашиваемого с сервера тайла |
Класс менеджера слоев DG.Layers
Менеджер отвечает за управление группами. А группы, в свою очередь, управляют слоями.
При этом, для удобства, часть методов по работе со слоями есть также и в менеджере.
Описание методов представляет собой действие (что делает метод, для чего он нужен?) и название метода. Вместе с тем, представлены дополнительно параметры, возвращаемое значение метода и особенности, если таковые имеются.
Создать менеджер слоев явно через ключевое слово new нельзя. Он автоматически доступен как свойство layers объекта карты.
Методы управления группами слоев
Создать группу
Имя | Тип | Обязательный | Описание |
---|---|---|---|
groupName | String | Да | Название группы. Должно быть уникальным. |
Тип | Описание |
---|---|
DG.LayerGroup | Экземпляр класс DG.LayerGroup |
Удалить группу
Имя | Тип | Обязательный | Описание |
---|---|---|---|
groupName | String | Да | Название группы. |
Получить список имен групп
Тип | Описание |
---|---|
Array | Список имен групп. Массив строк. |
Получить уже созданный объект группы по ее имени
Имя | Тип | Обязательный | Описание |
---|---|---|---|
groupName | String | Да | Название группы. |
Получить имя группы по умолчанию
Тип | Описание |
---|---|
String | Название группы по умолчанию, которая есть всегда. |
Получить объект группы по умолчанию
Тип | Описание |
---|---|
DG.LayerGroup | Объект группы по умолчанию, который есть всегда. |
Фактически данный метод, является короткой записью выражения:
Методы управления слоями
Добавить слой
Имя | Тип | Обязательный | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
layer | DG.Layers.Common | Да | Слой. Экземпляр класса DG.Layers.Common | ||||||||||||||||||||||||||||||||||||||||||||||||
groupName | String | Нет |
Имя | Тип | Обязательный | Описание | |||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
item | DG.Layers.Common | Да | Слой. Экземпляр класса DG.Layers.Common | |||||||||||||||||||||||||||||||||||||
index | Number | Нет |
Имя | Тип | Обязательный | Описание |
---|---|---|---|
item | DG.Layers.Common | Да | Слой. Экземпляр класса DG.Layers.Common |
Получить список всех слоев в группе
Получить слой по его идентификатору в группе
Удалить все слои из группы
При этом, хоть все слои и удаляются из группы, сам объект группы остается не тронутыми.
Скрыть группу
При этом все слои в группе становятся невидимыми. Более того, при добавлении новых слоев, они также остаются невидимыми.
Слои и типы карты
Перечень необходимых слоев задается параметром » l » (самый нижний слой должен быть указан первым).
Слой | Формат изображения | Описание |
---|---|---|
map | PNG | Схема местности и названия географических объектов. |
sat | JPG | Местность, сфотографированная со спутника. |
skl | PNG | Названия географических объектов. |
trf | PNG | Слой пробок. |
Слой | Формат изображения | Описание |
---|---|---|
map | PNG | Схема местности и названия географических объектов. |
sat | JPG | Местность, сфотографированная со спутника. |
skl | PNG | Названия географических объектов. |
trf | PNG | Слой пробок. |
Слои можно комбинировать. Имеющимся типам карт («Схема», «Спутник» или «Гибрид») соответствуют слой или определенные комбинации слоев:
Ниже приведены примеры для каждого типа карты:
Схема (l=map)
Схема центра Москвы:
Схема с отображением пробок (l=map,trf,skl)
Схема центра Москвы с отображением пробок:
Спутник (l=sat)
Спутниковая карта центра Москвы:
Гибрид (l=sat,skl)
Гибридная карта центра Москвы (скелет карты наложен на «спутниковый» слой):
Гибридная карта с отображением пробок (l=sat,trf,skl):
Гибридная карта центра Москвы с отображением пробок:
ArcMap
После того, как слой добавлен на карту, обычно для него задаются символы и свойства надписывания, в таблице содержания организовывается порядок прорисовки слоев для удобства работы с картой.
Если ваши данные хранятся в формате, поддерживаемом ArcMap, вы можете добавить их непосредственно на карту в виде слоя. Если данные хранятся в неподдерживаемом формате, можно воспользоваться утилитами конвертации данных в ArcToolbox или дополнительным модулем Data Interoperability – с их помощью конвертируются практически любые данные, затем они отображаются на карте.
Добавление слоёв карты
Существует несколько способов добавления слоев на карту. Здесь описан каждый их них.
Добавление набора данных
Чтобы создать новый слой карты, просто добавьте набор данных на карту, глобус или 3D сцену. Есть несколько способов добавления наборов данных:
Подсказка:
Для получения подробной информации обратитесь к разделу Использование поиска в ArcGIS.
Добавление нескольких наборов данных – можно одновременно выбрать и добавить несколько наборов данных вместо одного, выделив все необходимые наборы.
Подсказка:
Добавление данных из ArcGIS Online
Вы можете добавить опубликованные данные и слои, доступные в сообществе ArcGIS. Обратитесь к разделу Добавление данных из ArcGIS Online для получения дополнительной информации.
Настройка символов слоя
При создании нового слоя через добавление набора данных, слой будет отрисовываться с набором свойств по умолчанию. Поэтому первым вашим шагом будет установление символов слоя и других свойств отображения.
Дополнительная информация приведена в разделеОб отображении слоев.
Настройка порядка прорисовки слоёв
Если добавить новый слой, он будет автоматически расположен поверх других слоев того же типа. Например, новый линейный объект будет расположен поверх других линейный объектов. Соответственно, можно расположить слои подходящим образом. Например, может потребоваться расположить слои, которые образуют фон вашей карты, такие как слой океана, внизу таблицы содержания.
Для получения дополнительной информации обратитесь к разделу Сортировка по порядку отображения.
Общие действия со слоями
Когда слои не отображаются на карте
Если слои включены, но не отображаются на карте, возможную причину можно узнать с помощью таблицы содержания. В таблице содержания, показанной ниже, включено отображение всех слоев, но слои парков и озер не отображаются на карте.
В этом примере слой парков не отображается, т.к. ссылка на его источник данных потеряна, на что указывает красный восклицательный знак (!) рядом со значком слоя. Слой озер не отображается, т.к. текущий масштаб фрейма данных карты находится вне диапазона отображаемых масштабов слоя, о чем говорит затемненная масштабная линейка под значком слоя.
Удаление слоёв с карты
Удаление слоя не влияет на источник данных, лежащий в его основе. Вы можете удалить источник данных (например, класс пространственных объектов) или провести с ним другие действия при помощи окна Каталога.
Добавление слоёв на карту из Windows, электронной почты или веб-страниц
Если ни одно приложение ArcGIS Desktop не запущено, при открытии файла слоя автоматически запустится соответствующее приложение: если файлы слоя содержат только трехмерные данные, откроется ArcGlobe, и слой будет добавлен на глобус; в других случаях откроется ArcMap, а слой будет добавлен к пустому документу карты.
ArcMap
При разработке карт настольного приложения ключевым вопросом всегда является высокое качество изображения при сохранении хорошей производительности. Одним из способов улучшения производительности отображения является использование слоев базовых карт.
Слои базовой карты – вид слоев карты, обеспечивающий структуру, в которой отображается динамическая оперативная информация. Отображение базовой карты выполняется очень быстро. Так как слои базовой карты относительно статичны и не изменяются часто, их отображение может быть вычислено один раз и затем использоваться многократно. Изображение слоя базовой карты вычисляется при первом просмотре области в определенном масштабе. Это изображение вызывается при повторном просмотре этой области при том же масштабе карты.
Характеристики базовых карт ГИС
Во многих приложениях ArcMap для пользователей существуют базовые карты, на фоне которых отображаются и используются наблюдения, оперативная информация или производные данные, полученные из аналитических моделей. Например:
Базовые карты используются для привязки к местности и предоставляют структуру, где пользователи выполняют наложение оперативных слоев, выполняют задачи и визуализируют географическую информацию. Базовые карты служат основой для всех последующих операций и картографирования. Базовые карты обеспечивают среду и структуру для работы с информацией в географическом аспекте.
Многие карты могут включать в себя несколько слоев базовых карт. Например, у вас может быть базовая карта для рельефа, на которой вы располагаете ключевую оперативную информацию. А затем поверх нее вы можете добавить основной слой информации, который также является слоем базовой карты. На данной геологической карте два слоя базовой карты – рельеф в нижнем слое и транспорт, гидрография и названия во втором слое, наложенном поверх геологических объектов:
Базовые карты имеют тенденцию быть относительно статичными и, при обычных настройках, редко обновляться.
Кроме того, базовые карты разрабатываются для использования в нескольких масштабах карты. В каждом диапазоне масштабов карты базовая карта отображает соответствующее содержимое.
Пользователи ГИС могут следовать нескольким методикам построения и размещения базовых карт для их ГИС-приложений, в том числе:
Создание слоя базовой карты
Сначала спроектируйте ваши слои базовой карты. Определите слои, которые являются относительно статичной частью отображения вашей карты. Также продумайте использование масштабно-зависимого отображения. Для этого требуется дизайн карты, который учитывает, как карта будет выглядеть в каждом масштабе.
Это добавит новый базовый слой в таблицу содержания. Слои базовой карты во многом ведут себя аналогично составному слою, в который можно перетаскивать содержимое.
После этого, каждый раз, как вы будете отображать карту, слои базовых карт будут отрисовываться, используя оптимизированную логику отображения карты. Остальные слои будут отображаться динамически, чтобы иметь доступ к последним обновлениям источников их данных.
Анализ слоя базовой карты на производительность отрисовки
Вы можете обнаружить, что у слоев, которые вы добавили в слой базовой карты, появились значки с предупреждениями или ошибками. Иконки ошибок означают, что содержимое может быть несовместимо со слоем базовой карты. Иконки предупреждений говорят о потенциальных проблемах в производительности или несовпадениях изображения, которые можно будет увидеть при использовании этих слоев в слое базовой карты. Слои базовых карт используют механизм высокой производительности прорисовки, чтобы отображение было очень быстрым. Данный механизм может отображать некоторые слои иначе.
Чтобы найти подробную информацию о различиях в отображении и других проблемах, вы можете проанализировать ваш слой базовой карты и воспользоваться диагностическими сообщениями для улучшения производительности отрисовки.
Инициализируется анализ производительности слоев в слое базовой карты и построится отчет о потенциальных проблемах производительности отрисовки.
Подсказка:
Навигация по карте
Вы можете непрерывно масштабировать и перемещать карты, содержащие слои базовых кар, и слои ускоренных растров, при помощи определенных движений мыши, как описано далее:
Слои базовой карты панорамируются непрерывно и относительно ровно при перемещении по карте. Оставшиеся слои карты отрисуются, как только вы отпустите колесо мыши.
Подсказка:
Использование аппаратного ускорения
Примечание:
Опция включения аппаратного ускорения может быть недоступна, если оно недоступно для текущего сеанса ArcMap. Это может произойти в случае, если:
Использование размытости слоя базовой карты
В большинстве аспектов слои базовых карт работают аналогично составным слоям, но у них есть одна дополнительная функциональность, разработанная для того, чтобы помочь в отображении оперативных данных поверх слоев базовых карт. Это размытость. По существу, размытость- это способ приглушения отображения слоя базовой карты с тем, чтобы более четко видеть слои, лежащие сверху.
Чтобы включить размытость слоя базовой карты, просто нажмите на команду Настроить степень размытости (Adjust Dim Level) на панели инструментов Эффекты слоя (Layer Effects) и при помощи бегунка Размытости (Dim Level) измените ее, как это делается и с другими эффектами. При увеличении Размытости (Dim Level) цвета бледнеют, и слой становится частично прозрачным, что делает оперативные слои более выделяющимися. Это может быть полезным при визуализации или редактировании, особенно в случаях, когда слои базовых карт содержат цветные ортофотоснимки или другое содержимое ярких цветов, что может скрыть детали слоев, лежащих поверх.
При помощи бегунка можно изменить степень размытости слоев базовых карт.
Обновление слоя базовой карты
Пока слои находятся в слое базовой карты, изменять какие-либо их свойства невозможно. Будут доступны только свойства на закладках Общие (General) и Кэш (Cache) (если он используется). При работе со слоями базовых карт для содержимого слоя недоступны операции обновления данных. Если необходимо выполнить редактирование данных или обновить слой, просто перетащите слой из базовой карты. А после верните его обратно в слой базовой карты.
Adblockdetector