Создание мультимасштабной карты

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

Характер данных

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

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

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

Управление отображением на различных масштабах

При задании диапазонов масштабов - и в слоях карт, и для символов - важно понимать, что происходит на границах диапазонов масштабов. Вам нужно избежать двух одновременных вариантов отрисовки на границах диапазонов, а также пробелов, когда не будет отображаться ни один из вариантов. Есть управляющее этим моментом свойство карты. Задайте начальный и конечный диапазон масштабов одинаковыми. Затем, на панели Содержание щелкните правой кнопкой мыши на карте и выберите Свойства, чтобы открыть диалоговое окно Свойства карты. Убедитесь, что на вкладке Общие опция Отображать включая максимальный масштаб диапазонов выключена. На новых картах она по умолчанию выключена. Это особенно важно, если вы собираетесь создать из карты векторные листы. Эта настройка применяется на картах с заданными диапазонами масштабов.

Прежние версии:

Чтобы при просмотре карты в этих границах диапазона масштабов избежать отображения объектов из обоих слоев, в ArcMap следует задать параметр диапазона масштабов Мельче более подробного слоя на одну масштабную единицу меньше, чем параметр диапазона масштабов Крупнее более генерализированного слоя. Недостатком этого подхода является то, что может возникнуть ситуация, когда в каком-то масштабе данные не будут отображаться вовсе. Поэтому у карт, созданных с помощью импорта файлов .mxd, опция Отображать включая максимальный масштаб диапазонов включена по умолчанию. Лучше заново задать равные граничные значения диапазонов масштабов на импортированных документах карт и снимать эту отметку.

Генерализация объектов

Прежде чем выяснить, что именно отображается в каждом диапазоне масштабов, определите, правильно ли детализируется геометрия объектов в масштабах, которые вы хотите использовать. Программа попытается отобразить все размещенные на карте объекты, и по мере уменьшения масштаба сделать это будет все труднее и труднее. Некоторые объекты, которые нельзя увидеть на местности – например, изолинии и административные границы, – также должны быть показаны и подписаны на карте, наряду с видимыми объектами, такими как дороги или гидрографические объекты. Существуют объекты, которые должны быть показаны на карте с помощью символов, имеющих в масштабе карты больший размер, чем эти объекты имеют на местности, для того, чтобы они оставались читаемыми. Это способствует наложению графических объектов при отображении, которое усугубляется при уменьшении масштаба карты. Генерализация – это процесс принятия решений о том, какие объекты необходимо оставить на карте, а какие нужно убрать, преувеличить или упростить, сохранив при этом допустимую плотность объектов в малом масштабе карты. Главная проблема заключается в том, как изобразить географические объекты максимально точно, убрав при этом лишние ненужные детали, но сохранив читаемость и замысел карты. Инструменты геообработки Генерализация помогут уменьшить детальность и плотность данных, что сделает данные более подходящими для их отображения в мелких масштабах.

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

Вы можете существенно уменьшить объем данных в мультимасштабной карте, генерализовав ваши данные с использованием следующих инструментов:

Если вы работаете с большим количеством данных, для которых требуется контекст из других слоев, вы также можете использовать переменную среды геообработки Картографические покрытия для последовательной обработки данных, чтобы избежать ограничений по требуемому объему памяти. Более подробно см. Генерализация больших наборов данных путем разделения на части.

Если вы хотите решить проблему конфликта символов при меньших масштабах, сначала обработайте данные в ArcMap, используя инструменты группы Конфликты графики из набора Картография. Подробнее см. раздел О разрешении конфликтов и генерализации.

Настройка свойств слоя

Помимо генерализации геометрии объектов есть ряд свойств слоя, которые можно задать, чтобы ограничить прорисовку объектов каждого слоя. Можно задать определяющий запрос, чтобы ограничить отображение слоя поднабором объектов источника данных, ограничить диапазон масштаба для слоя или написать фильтры отображения, позволяющие управлять объектами, показываемыми на различных масштабах. Эти подходы можно применять отдельно или в связке друг с другом.

Ограничение объектов слоя посредством определяющего запроса

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

Для задания определяющего запроса выполните следующие действия:

  1. Щелкните правой кнопкой мыши на слое на панели Содержание, а затем щелкните Свойства.
  2. В диалоговом окне Свойства слоя щелкните на вкладку Определяющий запрос.
  3. Добавьте одно или несколько выражений для определения отображаемых объектов слоя.

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

Ограничение диапазона видимости слоя

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

Подсказка:

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

Для ограничения диапазона масштабов слоя или группы слоев выполните следующие действия:

  1. Щелкните на слое или составном слое на панели Содержание.
  2. На вкладке Векторный слой в группе Диапазон видимости в группе Диапазон видимости определите диапазоны видимых масштабов, выбрав значения масштабов для меню Крупнее и Мельче (можно указать значение для одного или обоих меню).

    Можно также установить границы диапазона видимых масштабов на вкладке Общие, в диалоговом окне Свойства слоя.

Более подробно о том, как определить диапазоны видимых масштабов для слоя, см. Отображение слоев в определенных масштабах.

Ограничение видимых объектов диапазонов масштабов с помощью фильтров отображения

Фильтры отображения похожи на определяющие запросы, примененные к диапазонам масштабов. Они задают объекты для отображения при каждом масштабе в пределах диапазона масштабов всего слоя. В отличие от определяющего запроса, фильтры отображения лишь ограничивают прорисовку объектов карты или сцены. Объекты, не участвующие в запросе, по-прежнему доступны в слое. Вы можете идентифицировать, редактировать и выбирать их. Они появляются в таблице атрибутов слоя и участвуют в операциях анализа.

Дополнительные сведения см. в разделе Использование фильтров отображения.

Ограничение подписей, появляющихся на каждом диапазоне масштабов

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

  1. В наборе вкладок Векторный слой на вкладке Надписи в группе Диапазон видимости определите диапазоны видимых масштабов, выбрав значения масштабов для меню Крупнее и Мельче (можно указать значение для одного или обоих меню).

Более подробно о свойствах классов надписей см. в разделе Использование классов надписей.

Настройка размера надписей в зависимости от масштаба

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

Более подробно см. в разделе Размеры надписей, зависящие от масштабов. Размер надписей на основе масштаба доступен только на 2D-картах. В 3D-сценах он недоступен.

Настройка свойств символов

После указания символов для слоя есть ряд дополнительных действий, которые можно предпринять для лучшего контроля над детальностью отображения каждого слоя. Можно настроить размер символов по всему диапазону масштабов, чтобы быть уверенным в том, что эти размеры соответствуют другим объектам в более крупных масштабах, и при этом не перекрывают их в мелких масштабах. С заданными классами символов можно настроить диапазон видимых масштабов и даже применить другие символы для него. Помните, что эти настройки относятся к символам слоя. При изменении символов слоя эти настройки теряются.

Определение размера объектов в зависимости от масштаба

Чтобы уменьшить визуальную плотность при меньших масштабах можно уменьшить размер символов при меньших масштабах в пределах диапазона видимости.

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

Более подробно см. в разделе Размеры символов, зависящие от масштабов. Размер символов на основе масштаба доступен только в 2D-картах. В 3D-сценах он недоступен.

Определение диапазона видимых масштабов для классов символов

Помимо задания диапазона видимых масштабов всего слоя и настройки фильтров отображения можно уточнить масштабы, на которых видимы отдельные классы символов при отрисовке слоя с помощью уникальных значений или градуированных цветов. Это ограничит объем подробных данных, отображающихся на более мелких масштабах, без необходимости разделять или дублировать данные в нескольких слоях. Например, у вас может быть слой дорог, в котором вы хотите отображать основные дороги во всех масштабах, второстепенные - только в средних и крупных масштабах, а переулки - только в самых крупных масштабах. Панель Содержание динамически обновляется при изменении масштаба, отображая только те классы символов, которые видимы на текущем масштабе.

Подробнее см. Классы символов на основе масштаба.

Отображение различных символов в разных масштабах

Помимо задания, какие классы символов отображаются при определенных масштабах, вы можете настроить мультимасштабное отображение еще точнее, присвоив различные символы разным поддиапазонам масштабов. Особенно если вы используете сложные символы в более крупных масштабах, эффективный способ уменьшить визуальный беспорядок в меньших масштабах - переключиться на более простой символ, который все еще визуально связан. Например, можно отобразить второстепенные дороги светло-оранжевой заливкой с тонкой серой окантовкой в крупных масштабах, а в мелких – одной серой линией. В данном случае эти линии будут заданы как два отдельных символа одного класса символов. Серый цвет сливает вместе символы, поэтому становится понятно, что они относятся к одним и тем же объектам, а линии без окантовки в более мелких масштабах выглядят визуально проще и занимают меньше места на карте.

Подробнее см. Использование классов символов на основе масштаба.

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

Связанные разделы