Автоматическая проверка семантики в столбце

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Аватара пользователя
SERGEY30RUS
Участник
Сообщения: 72
Зарегистрирован: 19 окт 2011, 12:54
Репутация: 0

Автоматическая проверка семантики в столбце

Сообщение SERGEY30RUS » 21 окт 2011, 13:05

Здавствуйте ЕЩЕ раз!!!
Опишу вкраце проблему, имею отвекторизированную карту,только полигоны, открываю таблицу атрибутов
Имею много таких столбцов,(СМ ФОТО)
Название Хозяйства, номер хозяйства, номер контура, номер полигона, кодполигона,площадь, и SL - (это служебная колонка,означает что это вообще такое,Богара,орошение и.т.д)
Сталкнулся с этапом проверки, необходимо проверить только один столбец (столбец номера полигона) FLP_ID,
номера не могут повторяться и пропускаться! Как это сделать в автоматическом режиме в АркГис и реально ли такое??? Уважаемые проффи - просьба Доп программы не предлагайте! ибо лучше пересчитаю все в ручную, тупо упорядочу по возрастанию и проверю!
Вложения
000.jpg
000.jpg (1023.3 КБ) 13630 просмотров
ФГБУ

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: ПРОВЕРКА СЕМАНТИКИ!!!

Сообщение Дмитрий Барышников » 21 окт 2011, 13:43

Я бы в Экселе (OpenOffice Calc) сделал бы. Отнял бы из текущего значение предыдущее и если разница не равна единице - то это и есть сбойное место. Другое дело, подпадает ли Микрософтовский Офис или бесплатный OpenOffice/LibraOffice в "доп программы"

Аватара пользователя
SERGEY30RUS
Участник
Сообщения: 72
Зарегистрирован: 19 окт 2011, 12:54
Репутация: 0

Re: ПРОВЕРКА СЕМАНТИКИ!!!

Сообщение SERGEY30RUS » 21 окт 2011, 13:55

Bishop писал(а):Я бы в Экселе (OpenOffice Calc) сделал бы. Отнял бы из текущего значение предыдущее и если разница не равна единице - то это и есть сбойное место. Другое дело, подпадает ли Микрософтовский Офис или бесплатный OpenOffice/LibraOffice в "доп программы"
Будете смеяться но нам не покупают Микрософтовский офис а поставили IBM Lotus Symphony :shock:
думаю там можно сделать такое, но тогда возникает друго , если разница чисел будет - надо потом искать это проблемное число, а если разница существенна то искать несколько ошибок!!! А полигонов у меня 1500 в каждом полугодии... Выходит если в АркГисе нельзя, то самый надежный способ это открывать атрибутику и по строчно считать до 1500, попутно оперативно исправляя ошибки!!!
Ну все равно За дельный совет спасибо! :D !!!
ФГБУ

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: ПРОВЕРКА СЕМАНТИКИ!!!

Сообщение Дмитрий Барышников » 21 окт 2011, 13:59

Искать не надо - просто по колонке отсортировать и все. Поставьте бесплатный LibraOffice Calc.
Для импорта в электронную таблицу экспортируйте ваш шейп в csv.
Ваше начальство правильно держит курс в сторону opensource :)

gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: ПРОВЕРКА СЕМАНТИКИ!!!

Сообщение gamm » 21 окт 2011, 14:25

а если использовать R (который, кстати, тоже бесплатный), то можно сразу грузить MIF/MID (или shape), все проверить/пересчитать, и записать MIF/MID (или shape) - такого ни на каком Ёкселе не сделать. Так что научите своего программиста в R работать (там GDAL подключен), и будет вам щастье :-)

cv5rt
Интересующийся
Сообщения: 32
Зарегистрирован: 26 окт 2010, 19:11
Репутация: 0

Re: ПРОВЕРКА СЕМАНТИКИ!!!

Сообщение cv5rt » 21 окт 2011, 15:22

to SERGEY30RUS "сверху" распространялось готовое решение, киньте майл в личку.

eketerina
Участник
Сообщения: 59
Зарегистрирован: 12 мар 2011, 20:13
Репутация: 5
Откуда: Москва

Re: ПРОВЕРКА СЕМАНТИКИ!!!

Сообщение eketerina » 13 ноя 2011, 18:32

Конечно уже не актуально, но промолчать не могу))
Во-первых,я бы отсортировала по полю, из большего вычла меньшее и сравнила с количеством записей. Ну это так, если равные значения, заранее понадеяться что косячных мест нет)
1) Если количество записей равно этой разнице, то простой статистикой по полю проверяем на дубли. Если дублей нет, значит они идут подряд и не повторяются!Можно радоваться!
2)Если количество разное и надо найти косячные места, добавляем поле, индексируем его от минимального значения в интересующем нас поле, далее по +1, и простым запросом по атрибутам сравниваем эти поля, где значения не равны, там и ошибки значит.
Если мой ответ звучит похожим на правду, еще востребован и не понятен, могу объяснить подробнее :D

Serp
Участник
Сообщения: 94
Зарегистрирован: 05 июл 2010, 07:58
Репутация: 0

Re: Автоматическая проверка семантики в столбце

Сообщение Serp » 14 ноя 2011, 12:46

Если база позволяет добавлять временные поля, я бы тоже постарался обойтись без Экселя. Вот только вопрос к Екатерине: как получить это приращение +1 от произвольного числа, а не только FID+1?
Жизнь - это эксперимент, поставленный на себе.

Serp
Участник
Сообщения: 94
Зарегистрирован: 05 июл 2010, 07:58
Репутация: 0

Re: Автоматическая проверка семантики в столбце

Сообщение Serp » 14 ноя 2011, 12:57

Хотя, вообще-то, в данном случае достаточно из "ихнего" ID вычесть FID и, в принципе, должна получиться константа.
(но вопрос про приращение сохраняется :-))
Жизнь - это эксперимент, поставленный на себе.

eketerina
Участник
Сообщения: 59
Зарегистрирован: 12 мар 2011, 20:13
Репутация: 5
Откуда: Москва

Re: Автоматическая проверка семантики в столбце

Сообщение eketerina » 14 ноя 2011, 15:35

Поле заполняется через обычный филдкалькулятор, сверху галочка Python, далее show Codeblock, в нем вводишь следующее:

rec=0
def autoIncrement():
global rec
pStart = 1 # Тут значение, с которого хочешь начинать
pInterval = 1 # Собственно интервал, как раз 1 :)
if (rec == 0):
rec = pStart
else:
rec = rec + pInterval
return rec

а в поле просишь записать: autoIncrement()
Готово :D

Serp
Участник
Сообщения: 94
Зарегистрирован: 05 июл 2010, 07:58
Репутация: 0

Re: Автоматическая проверка семантики в столбце

Сообщение Serp » 15 ноя 2011, 12:52

Принцип ясен. Спасибо. Правда, у нас версия 9.3.1 и питона там нет, только VBA. Но это не смертельно, можно, наверное, оформить в скрипт и повесить на кнопку.
А для данного случая, я прикинул, - реально ничего больше и выдумывать не надо. Добавил поле, вычислил разницу с FID-ом, а там по обстановке: либо всё ОК, либо ищешь, где сбой.
Жизнь - это эксперимент, поставленный на себе.

eketerina
Участник
Сообщения: 59
Зарегистрирован: 12 мар 2011, 20:13
Репутация: 5
Откуда: Москва

Re: Автоматическая проверка семантики в столбце

Сообщение eketerina » 15 ноя 2011, 18:19

Питона??Нет??Питона не может не быть :D
И я имела ввиду не оформление в кнопочку, а прямо в FieldCalculator ввести этот текст как на рисунке.
Очень сэкономит тебе время)
Вложения
Field.JPG
Field.JPG (98.17 КБ) 13405 просмотров

Serp
Участник
Сообщения: 94
Зарегистрирован: 05 июл 2010, 07:58
Репутация: 0

Re: Автоматическая проверка семантики в столбце

Сообщение Serp » 17 ноя 2011, 04:43

Я рад за тебя, но у меня такого нет. У меня просто версия 9.3.1. Может к нему какой-то сервис пак был? Тогда мы его пропустили.
Калькулятор запускается прямо из таблицы или из какого-то хитрого места? Может это какой-то модуль с сайта?
Жизнь - это эксперимент, поставленный на себе.

eketerina
Участник
Сообщения: 59
Зарегистрирован: 12 мар 2011, 20:13
Репутация: 5
Откуда: Москва

Re: Автоматическая проверка семантики в столбце

Сообщение eketerina » 17 ноя 2011, 12:58

Да нет,ничего особенного не ставилось...Ну проверь в общем, калькулятор запускается прямо из таблицы, по названию поля, которое хочешь заполнить, правый щелч мыши и далее выбрать калькулятор, вот рисунок. У вас лицензия ArcView,я не посмотрела, я работаю с Editor и выше, ну напиши тогда есть у вас такой или нет, буду знать :)
Вложения
Calc.JPG
Calc.JPG (46.83 КБ) 13363 просмотра

Slinger
Гуру
Сообщения: 879
Зарегистрирован: 17 июн 2010, 23:14
Репутация: 207
Откуда: Москва

Re: Автоматическая проверка семантики в столбце

Сообщение Slinger » 17 ноя 2011, 19:32

Питоновский парсер в калькуляторе полей появился с ArcGis 10.0

Ответить

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

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

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