Шаг 2: Подготовка данных для подтипов. Цель этого шага – задать поведение для импортированных выше данных

 

Цель этого шага – задать поведение для импортированных выше данных. Поведение - это термин, используемый для описания таких элементов, как домены, подтипы, правила связности и классы отношений в базе геоданных.

 

 
Просмотрите таблицу Fittings.

 

Значения поля FittingTyp показывают вам, какие типы муфт (тройников) существуют. Заметьте, что существует множество тройников отличных друг от друга по размеру.

 

 

Вопрос 1: Что будет более эффективным – создание доменов или подтипов на основе этого поля?

 

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

 

 
Откройте свойства таблицы Fittings и щелкните на закладке Поля (Fields).

 

 

 

Заметьте, что поле FittingTyp текстовое.

 

Вопрос 2: Какие типы полей могут использоваться для создания подтипов?

 

Чтобы создать подтипы для этого класса объектов, вам сначала надо добавить целочисленное поле в таблицу и вычислить его в соответствии со значениями в поле FittingTyp.

 

 
В первой пустой клетке для Имя поля (Field Name) наберите FittingClass, тип поля выберите Short Integer, затем нажмите OK.

 

Все редактирование атрибутов должно проходить в ArcMap. ArcCatalog используется только для редактирования схемы.

 

 
Запустите ArcMap и добавьте Fittings в новую пустую карту. Заметьте, что все муфты отрисовываются одинаковым символом.

 

 
Щелкните правой кнопкой на Fittings и выберите Открыть таблицу атрибутов (Open Attribute Table).

 

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

 

 
Щелкните правой кнопкой на FittingTyp, выберите Суммировать (Summarize).

 

 
В диалоговом окне Суммировать (Summarize) оставьте все установки по умолчанию и убедитесь, что выходные данные сохранятся в Corvallis.gdb.

 

 
Назовите выходную таблицу FittingTypes.

 

 

 
Щелкните OK.

 

 
В ArcMap щелкните правой кнопкой на FittingTypes и выберите Открыть (Open).

 

 

 

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

Вы будете использовать инструмент Выбрать по атрибуту (Select By Attributes), чтобы выбрать муфты определенного типа и затем присвоить им в поле FittingClass целочисленный код.

 

 
В таблице атрибуты слоя Fittingsв меню Опции(Options) выберитеВыбратьпоатрибуту(Select By Attributes).

 

 
В диалоговом окне Выбрать по атрибуту (Select By Attributes) постройте следующее выражение: "FittingTyp" = '12 x 12 Tapping Tee'и щелкните Применить (Apply).

 

 
В таблице нажмите правой кнопкой мыши на поле FittingClass и выберите Калькулятор поля (Field Calculator).

 

 
В Калькуляторе поля (Field Calculator) под FittingClass = наберите 1и щелкните OK.

 

 
В диалоговом окне Выбрать по атрибуту (Select By Attributes) измените выражение на: "FittingTyp" = '12 x 4 Tapping Tee'и щелкните Применить (Apply).

 

 
Откройте Калькулятор поля (Field Calculator) для FittingClass.

 

 
Под FittingClass = наберите 2и щелкните OK.

 

 
Используя следующую таблицу как подсказку, повторите это процесс, делая запросы на выборку и вычисляя значения в поле FittingClass:

FittingTyp Код

 

12 x 6 Tapping Tee 3

 

4 x 4 Tapping Tee 4

 

6 x 4 Tapping Tee 5

 

6 x6 TappingTee 6

 

 

 
Закройте диалоговое окно Выбрать по атрибуту (Select By Attributes) и все открытые таблицы.

 

Теперь класс пространственных объектов Fittings подготовлен к созданию подтипов. Перед назначением подтипов в слое Fitting, вы аналогичным способом подготовите еще один класс пространственных объектов, добавив в его схему целочисленное поле и вычислив значения в ArcMap.

 

 
Добавьте WaterMeters в карту.

 

 
Откройте его таблицу атрибутов.

 

Поле CUSTTYPE –это текстовое поле, которое показывает вам тип потребителя воды. P - это частный или жилой, C - коммерческий. Так как подтипы требуют целочисленное поле, вы добавите его и затем выполните простые вычисления.

 

 
Добавьте короткое целочисленное поле MeterType.

 

 
Используя следующую таблицу, задайте целочисленные коды для каждого типа счетчика на основе поля CUSTTYPE:

CUSTTYPE КОД

 

P 1

 

C 2

 

 

 
Закройте таблицу атрибутов и очистите выборку.

 

Вы подготовили два класса пространственных объектов для создания подтипов.

 

Шаг 3: Создание подтипов

 

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

 

 
В ArcCatalog щелкните правой кнопкой на классе пространственных объектов ...\Exercise14\Networks\Corvallis.gdb\Fittings и выберите Свойства (Properties).

 

 
Щелкните на закладке Подтипы (Subtypes).

 

 
Для Поле подтипа (Subtype Field) выберите FittingClass.

 

 
В разделе Подтипы (Subtypes) введите значение первого кода 1.

 

 
Для Описание (Description) наберите 12" x 12" Tapping Tee(описание может быть на русском языке).

 

Это будет первый подтип. Далее, на основе кодов, которые вы присвоили в предыдущем шаге, Вы зададите свойства остальных подтипов.

В разделе Подтипы (Subtypes) задайте подтипы в соответствии со следующим рисунком.

 

 

 

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

 

 
Измените Подтип по умолчанию (Default Subtype) на 6" x 4" Tapping Tee и щелкните OK.

Далее вы создадите подтипы для класса пространственных объектов WaterMeters.

 

 
Откройте свойства для класса пространственных объектов ...\Exercise14\Networks\Corvallis.gdb\WaterMeters и щелкните на закладке Подтипы (Subtypes).

 

 
Для Поле подтипа (Subtype Field) выберите MeterType.

 

 
В разделе Подтипы (Subtypes) введите значение кода 1и описание Private. Нажмите Применить (Apply).

 

 
В следующей строке введите код 2и описание Commercial. Нажмите OK.

 

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

 

 
Щелкните правой кнопкой на Laterals и щелкните Свойства (Properties).

 

 
На закладке Подтипы (Subtypes) установите LateralSizкак Поле подтипа (SubtypeField).

 

 

 
В разделе Подтипы (Subtypes) введите код 1и описание 4"и щелкните Применить (Apply).

 

 
На следующей строке введите код 2и описание 6", затем щелкните OK.

 

 
Откройте Свойства (Properties) для WaterMains.

 

 
Для Поле подтипа (Subtype Field) выберите MainSize.

 

 
Сделайте, чтобы ваш раздел Подтипы (Subtypes) совпадал со следующим рисунком:

 

 

 
Щелкните OK.

 

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

 

Шаг 4: Создание доменов

 

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

 

 
Щелкните правой кнопкой на Corvallis.gdb и выберите Свойства (Properties).

 

 
Щелкните на закладке Домены (Domains).

 

 
Для Имя домена (Domain Name) наберите WaterMainDiameterи для Описание (Description) наберите Water Main Diameter(описания могут быть на русском языке).

 

 
В разделе Свойства домена (Domain Properties) для Тип поля (Field Type) выберите Double.

 

 
Для Тип домена (Domain Type) выберите Кодированные значения (Coded Values).

 

 
В разделе Кодированные значения (Coded Values) внизу диалогового окна введите следующую информацию для Код (Code) и Описание (Description):

 

Код Описание

 

4 4"

 

6 6"

 

12 12"

 

 

 
Щелкните OK, когда закончите.

 

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

 

 
Щелкните правой кнопкой на Corvallis.gdb и выберите Импорт (Import), затем щелкните XML Документ рабочей области XML (XML Workspace Document).

 

 
Выберите Только схема (Schema Only), а для Укажите исходный XML файл для импорта (Specify the XML source to import) щелкните на кнопке поиска.

 

 
Перейдите к Exercise14 и выберите WaterMetersDomain.xml. Нажмите Открыть (Open).

 

 
Нажмите Далее (Next).

 

 

 

Далее панель мастера отображает, что будет загружено в вашу базу геоданных. Заметьте, что первая строчка, выделена красным – это класс пространственных объектов WaterMeters. Красный цвет показывает, что имена класса пространственных объектов в базе геоданных и того класса, что вы импортируете, одинаковы. Следовательно, имя импортируемого класса будет изменено на WaterMeters_1. Вторая строчка – это домен для размеров счетчика.

 

 
Щелкните Готово (Finish).

 

 
Щелкните на Corvallis.gdbи нажмите F5,чтобы обновить базу геоданных.

 

 

 
Откройте свойства для Corvallis.gdb.

 

 
Щелкните на домене MeterSize и обратите внимание на различные коды и описания, которые были импортированы.

 

 

Импорт этого домена из XML - это быстрый путь получить все эти коды и описания.

 
Щелкните OK.

 

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

 

 
Щелкните правой кнопкой на Water_Meters_1 и выберите Удалить (Delete), подтвердите удаление, щелкнув Да (Yes).

 

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

 

 
В папке Exercise14 раскройте WaterMains.xls.

 

 
Просмотрите рабочий лист Material$.

 

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

 

 
Если необходимо, запустите ArcToolbox.

 

 
Раскройте набор Управление данными (DataManagementTools) и затем группу Домены (Domains).

 

 
Дважды щелкните на инструменте Таблица в домен (Table To Domain).

 

 
Для Входная таблица (Input Table) используйте Material$.

 

 
Для Поле кода (Code Field) щелкните на выпадающем списке и выберите MaterialType.

 

 
Для Поле описания (Description Field) выберите Description.

 

 
Для Входная рабочая область (Input Workspace) перейдите к ...Exercise14\Networks и выберите Corvallis.gdb, щелкните Добавить (Add).

 

 
Для Имя домена (Domain Name) замените текущее значение на MainMaterial.

 

 
Для Описание (Description) замените текущее значение на Water Main Material(описание можно ввести на русском языке).

 

 
Щелкните OK и затем Закрыть (Close) в окне выполнения.

 

 
Откройте свойства для Corvallis.gdb.

 

 
Щелкните MainMaterial и просмотрите коды и описания.

 

 

Импортировать домены из XML или использовать инструмент Таблица в домен (Table To Domain) гораздо быстрее, чем вручную набирать длинный список кодов и описаний.

 

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

 

 
Щелкните на первой пустой клетке для Имя домена (Domain Name) и наберите LengthDomain.

 

 
Для Описание (Description) наберите General Length Domain(описание можно ввести на русском языке).

 

 
Для Тип поля (FieldType) выберите Doubleи для Тип домена (DomainType) выберите Диапазон (Range).

 

 
Для Минимальное значение (Minimum Value) наберите 0и для Максимальное значение (Maximum Value) наберите 2000. Нажмите OK.

 

Теперь, когда вы создали домены, вы примените их к полям в таблицах различных классов пространственных объектов.

 

 
Щелкните на классе пространственных объектов WaterMains и выберите Свойства (Properties).

 

 
Щелкните на закладке Поля (Fields).

 

 
Щелкните NOM_DIAM.

 

 
В разделе Свойства поля (Field Properties) щелкните на пустой клетке рядом с Домен (Domain) и выберите WaterMainDiameter. Нажмите Применить (Apply).

 

 
Щелкните на поле MATERIAL и присвойте ему домен MainMaterial. Нажмите Применить (Apply).

 

 
Щелкните на поле LENGTH и примените к нему LengthDomain. Нажмите OK.

 

 
Щелкните правой кнопкой на WaterMeter и выберите Свойства (Properties).

 

 
Щелкните на закладке Поля (Fields) и выберите поле METERSIZE.

 

 
В разделе Свойства поля (Field Properties) щелкните на пустой клетке рядом с Домен (Domain) и выберите MeterSize. Нажмите OK.

 

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

 

 



ки согласованности ввода данных.