Создать градацию на основе данных

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
Syllion
Активный участник
Сообщения: 167
Зарегистрирован: 23 сен 2009, 16:09
Репутация: 0

Создать градацию на основе данных

Сообщение Syllion » 11 авг 2011, 19:53

У меня в таблице атрибутов есть столбцы с данными
value1 value2
2          4
4          6
2          4
4          8

Необходимо построить третий столбец value3 который бы показывал результирующий класс. т.е. от 2 до 4 = класс 1 от 4 до 6 = класс 2 и тд. т.е.

value1 value2 value3
2          4           1
4          6           2
2          4           1
4          8           3

Нужно построить третий столбец автоматически т.к. руками забивать не вариант.

Аватара пользователя
novia
Гуру
Сообщения: 2261
Зарегистрирован: 29 апр 2011, 15:06
Репутация: 489
Откуда: Тель-Авив

Re: Создать градацию на основе данных

Сообщение novia » 11 авг 2011, 20:53

Можно сделать текстовое поле и рассчитать его значение калькулятором
value3 = str(value1) + str(value2)

получится поле с уникальными значениями (классами). на их основе можно "раскрасить" объекты. А подписи в легенде все надо будет делать и они будут не "1" или "2" а, например, "низкий" или "средний" и т.п.

если очень хочется иметь номера классов, то потом, если классов не over9000 (до 20 мне было бы не лень так сделать), можно выбирать по атрибуту value3 объекты с одинаковым значением в текстовом поле и рассчитывать значение integer в поле value4 с нужным номером класса.

либо можно заморочиться с питоном, сортировкой и расчетом сразу же номеров классов.. но мне кажется что это будет больше лень делать, чем описанные выше действия.
понравилось? жми палец вверх :!:

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Создать градацию на основе данных

Сообщение Александр Мурый » 11 авг 2011, 21:07

А почему не SQL-запрос?
Для первого класса примерно так:

Код: Выделить всё

UPDATE my_table SET value3 = '1' WHERE (value1 = 2) AND (value2 = 4) 

И так далее..
Последний раз редактировалось Александр Мурый 24 авг 2011, 23:03, всего редактировалось 2 раза.
Редактор материалов, модератор форума

Аватара пользователя
novia
Гуру
Сообщения: 2261
Зарегистрирован: 29 апр 2011, 15:06
Репутация: 489
Откуда: Тель-Авив

Re: Создать градацию на основе данных

Сообщение novia » 11 авг 2011, 23:20

Тоже вариант. Но все равно кодить придется.
Мне для такой задачи было бы проще обойтись одним текстовым полем.

[Сообщение с мобильного устройства] Изображение
понравилось? жми палец вверх :!:

Syllion
Активный участник
Сообщения: 167
Зарегистрирован: 23 сен 2009, 16:09
Репутация: 0

Re: Создать градацию на основе данных

Сообщение Syllion » 16 авг 2011, 00:18

А как в ArcGIS выполнить SQL запрос? Как я понимаю в выборку по атрибуту его вставлять бесполезно ибо там усеченная версия SQL

Аватара пользователя
novia
Гуру
Сообщения: 2261
Зарегистрирован: 29 апр 2011, 15:06
Репутация: 489
Откуда: Тель-Авив

Re: Создать градацию на основе данных

Сообщение novia » 17 авг 2011, 21:53

Если нужно выполнить модифицирующий данные запрос, вставьте его в выражение инструмента геообработки Вычислить значение поля (Calculate field).
понравилось? жми палец вверх :!:

Syllion
Активный участник
Сообщения: 167
Зарегистрирован: 23 сен 2009, 16:09
Репутация: 0

Re: Создать градацию на основе данных

Сообщение Syllion » 08 сен 2011, 15:50

не могли бы подсказать где это находится? Вижу только в Управлении Данными "Вычислить Поле".
http://pic2net.ru/view/v/822bd21893c9f2 ... ffaf7f.jpg
Это оно?
В какое место сам SQL запрос вписывать?

Аватара пользователя
novia
Гуру
Сообщения: 2261
Зарегистрирован: 29 апр 2011, 15:06
Репутация: 489
Откуда: Тель-Авив

Re: Создать градацию на основе данных

Сообщение novia » 13 сен 2011, 23:59

Правой кнопкой мыши на заголовке поля(столбца) в таблице атрибутов слоя

[Сообщение с мобильного устройства] Изображение
понравилось? жми палец вверх :!:

Ответить

Вернуться в «ArcGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей