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

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

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

Сообщение Syllion »

У меня в таблице атрибутов есть столбцы с данными
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 »

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

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

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

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

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

Сообщение Александр Мурый »

А почему не 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 »

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

[Сообщение с мобильного устройства] Изображение
понравилось? жми палец вверх :!:
Syllion
Активный участник
Сообщения: 167
Зарегистрирован: 23 сен 2009, 16:09
Репутация: 0

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

Сообщение Syllion »

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

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

Сообщение novia »

Если нужно выполнить модифицирующий данные запрос, вставьте его в выражение инструмента геообработки Вычислить значение поля (Calculate field).
понравилось? жми палец вверх :!:
Syllion
Активный участник
Сообщения: 167
Зарегистрирован: 23 сен 2009, 16:09
Репутация: 0

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

Сообщение Syllion »

не могли бы подсказать где это находится? Вижу только в Управлении Данными "Вычислить Поле".
http://pic2net.ru/view/v/822bd21893c9f2 ... ffaf7f.jpg
Это оно?
В какое место сам SQL запрос вписывать?
Аватара пользователя
novia
Гуру
Сообщения: 2261
Зарегистрирован: 29 апр 2011, 15:06
Репутация: 489
Откуда: Тель-Авив

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

Сообщение novia »

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

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

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

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

Сейчас этот форум просматривают: Semrush [Bot] и 5 гостей