Создать градацию на основе данных
-
- Активный участник
- Сообщения: 167
- Зарегистрирован: 23 сен 2009, 16:09
- Репутация: 0
Создать градацию на основе данных
У меня в таблице атрибутов есть столбцы с данными
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
Нужно построить третий столбец автоматически т.к. руками забивать не вариант.
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: Создать градацию на основе данных
Можно сделать текстовое поле и рассчитать его значение калькулятором
value3 = str(value1) + str(value2)
получится поле с уникальными значениями (классами). на их основе можно "раскрасить" объекты. А подписи в легенде все надо будет делать и они будут не "1" или "2" а, например, "низкий" или "средний" и т.п.
если очень хочется иметь номера классов, то потом, если классов не over9000 (до 20 мне было бы не лень так сделать), можно выбирать по атрибуту value3 объекты с одинаковым значением в текстовом поле и рассчитывать значение integer в поле value4 с нужным номером класса.
либо можно заморочиться с питоном, сортировкой и расчетом сразу же номеров классов.. но мне кажется что это будет больше лень делать, чем описанные выше действия.
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: Создать градацию на основе данных
Тоже вариант. Но все равно кодить придется.
Мне для такой задачи было бы проще обойтись одним текстовым полем.
[Сообщение с мобильного устройства]
Мне для такой задачи было бы проще обойтись одним текстовым полем.
[Сообщение с мобильного устройства]

понравилось? жми палец вверх 

-
- Активный участник
- Сообщения: 167
- Зарегистрирован: 23 сен 2009, 16:09
- Репутация: 0
Re: Создать градацию на основе данных
А как в ArcGIS выполнить SQL запрос? Как я понимаю в выборку по атрибуту его вставлять бесполезно ибо там усеченная версия SQL
- novia
- Гуру
- Сообщения: 2261
- Зарегистрирован: 29 апр 2011, 15:06
- Репутация: 489
- Откуда: Тель-Авив
Re: Создать градацию на основе данных
Если нужно выполнить модифицирующий данные запрос, вставьте его в выражение инструмента геообработки Вычислить значение поля (Calculate field).
понравилось? жми палец вверх 

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

понравилось? жми палец вверх 

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